소스 뷰어
# gpiozero 패키지에서 TonalBuzzer 클래스를 임포
from gpiozero import TonalBuzzer
# time 모듈에서 sleep 함수를 임포트하여 시간 지연 사용
from time import sleep
# TonalBuzzer 객체 생성, GPIO 4번 핀에 연결된 부저를 제어
buzzer = TonalBuzzer(4)
# 옥타브 범위를 설정하여 반복 (3옥타브에서 5옥타브까지)
for octave in range(3, 6):
# 도레미파솔라시 (ABCDEFG) 음계 순서대로 실행
for scale in "ABCDEFG":
try:
# 현재 음계를 나타내는 문자열을 생성 (예: C4, D4, 등)
tone = f"{scale}{octave}"
# 부저에서 해당 음계의 톤을 재생
buzzer.play(tone)
# 재생 중인 음계를 콘솔에 출력
print("Tone =", tone)
# 1초 동안 톤을 유지
sleep(1)
except:
# 예외 발생 시 패스 (예: 잘못된 음계가 있을 경우)
pass
pass
pass
pass