from machine import Pin, PWM
import utime
import sys
from music import Music
# Define the GPIO pin connected to the buzzer
if(sys.platform=="esp8266"):
buzzer_pin = 5
elif(sys.platform=="esp32"):
buzzer_pin = 5
elif(sys.platform=="rp2"):
buzzer_pin = 15
# 全家鈴聲旋律與節拍 (音符, 持續時間ms)
# 全家入店音是日本松下電器(現Panasonic)生產的EC5227WP電鈴的預置鈴聲
FamilyMart = [
('F#5', 400), ('D5', 400), ('A4', 400), ('D5', 400),
('E5', 400), ('A5', 800), ('REST', 50),
('A4', 400), ('E5', 400), ('F#5', 400), ('D5', 400),
('REST', 100)
]
# 命運交響曲主題旋律(小節長度節選版)
melody = [
# 開頭動機
('G4', 300), ('G4', 300), ('G4', 300), ('D#4', 900),
('F4', 300), ('F4', 300), ('F4', 300), ('D4', 900),
# 延伸旋律
('G4', 300), ('G4', 300), ('G4', 300), ('D#4', 900),
('F4', 300), ('F4', 300), ('F4', 300), ('D4', 900),
# 第二主題
('D#4', 300), ('D#4', 300), ('D#4', 300), ('D#4', 300),
('D#4', 300), ('D4', 300), ('C4', 300), ('A#3', 900),
# 再次重複主題
('G4', 300), ('G4', 300), ('G4', 300), ('D#4', 900),
('F4', 300), ('F4', 300), ('F4', 300), ('D4', 900),
]
# Start Function
if __name__ == '__main__':
music = Music(buzzer_pin) # 蜂鳴器接在 GPxx
music.set_volume(1000)
try:
# 執行播放
music.play_pitch(melody)
except KeyboardInterrupt:
pass