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

# GPIO 15번 핀에 부저 연결
buzzer = Speaker(4)

# '나비야'의 음계와 리듬
melody = [
    ('G4', 0.4), ('E4', 0.4), ('E4', 0.8),  # 나비야 / 솔미미
    ('F4', 0.4), ('D4', 0.4), ('D4', 0.8),  # 나비야 / 파레레 
    ('C4', 0.4), ('D4', 0.4), ('E4', 0.4), ('F4', 0.4), # 이리 날아 / 도레미파 
    ('G4', 0.4), ('G4', 0.4), ('G4', 0.8), # 오너라 / 솔솔솔
    
    ('G4', 0.4), ('E4', 0.4), ('E4', 0.4), ('E4', 0.4),  # 노랑나비 / 솔미미미 
    ('F4', 0.4), ('D4', 0.4), ('D4', 0.8),  # 흰나비 / 파레레 
    ('C4', 0.4), ('E4', 0.4), ('G4', 0.4), ('G4', 0.4), # 춤을추며 / 도미솔솔 
    ('E4', 0.4), ('E4', 0.4), ('E4', 0.8), # 오너라 / 미미미
    
    ('D4', 0.4), ('D4', 0.4), ('D4', 0.4), ('D4', 0.4),  # 봄바람에 / 레레레레
    ('D4', 0.4), ('E4', 0.4), ('F4', 0.8),  # 꽃잎도 / 레미파
    ('E4', 0.4), ('E4', 0.4), ('E4', 0.4), ('E4', 0.4), # 방긋방긋 / 미미미미 
    ('E4', 0.4), ('F4', 0.4), ('G4', 0.8), # 웃으며 / 미파솔
    
    ('G4', 0.4), ('F4', 0.4), ('F4', 0.8),  # 참새도 / 솔미미
    ('F4', 0.4), ('D4', 0.4), ('D4', 0.8),  # 짹짹짹 / 파레레
    ('C4', 0.4), ('E4', 0.4), ('G4', 0.4), ('G4', 0.4), # 노래하며 / 도미솔솔 
    ('E4', 0.4), ('E4', 0.4), ('E4', 0.8), # 춤춘다 / 미미미
]

# 노래 재생
for (note, duration) in melody:
    buzzer.play(note.lower(), duration=duration)  # 주파수 설정
    buzzer.off()       # 음이 끝나면 부저 끔
    sleep(0.1)         # 음 사이의 간격
pass

buzzer.close()  # 부저 자원 해제