소스 뷰어
# picozero 패키지에서 Speaker 임포트 
from picozero import Speaker 
# time 모듈에서 sleep 함수를 임포트하여 시간 지연 사용
from time import sleep

# Speaker 객체 생성, GPIO 4번 핀에 연결된 부저를 제어
buzzer = Speaker(4)

# 옥타브 범위를 설정하여 반복 (3옥타브에서 5옥타브까지)
for octave in range( 0, 9 ):
    # 도레미파솔라시 (ABCDEFG) 음계 순서대로 실행
    for scale in "abcdefg":
        try:
            # 부저 끄기
            buzzer.off()
            # 현재 음계를 나타내는 문자열을 생성 (예: C4, D4, 등)
            tone = f"{scale}{octave}"
            # 재생 중인 음계를 콘솔에 출력
            print("Tone =", tone, end="" )            
            # 부저에서 해당 음계의 톤을 재생
            buzzer.play(tone, duration=1)
            print( ", success" )
            # 1초 동안 톤을 유지
            sleep(1)
        except:
            # 예외 발생 시 패스 (예: 잘못된 음계가 있을 경우)
            print( ", fail" )
            pass
        pass
    pass
pass

buzzer.close() # 부저 자원 정리