from machine import Pin, PWM
import time
# 蜂鸣器引脚
buzzer = PWM(Pin(5))
buzzer.duty(0) # 初始不响
# 音符频率 (简谱: 1 2 3 4 5 6 7)
NOTE = {
'1': 262,
'2': 294,
'3': 330,
'4': 349,
'5': 392,
'6': 440,
'7': 494,
'-': 0 # 休止
}
# 小星星简谱
song = [
'1','1','5','5','6','6','5',
'4','4','3','3','2','2','1',
'5','5','4','4','3','3','2',
'5','5','4','4','3','3','2',
'1','1','5','5','6','6','5',
'4','4','3','3','2','2','1'
]
# 每个音时长(ms)
duration = 300
# 播放函数
def play_tone(note):
freq = NOTE[note]
if freq == 0:
buzzer.duty(0)
else:
buzzer.freq(freq)
buzzer.duty(512) # 50% 音量
# 播放歌曲
for n in song:
play_tone(n)
time.sleep_ms(duration)
buzzer.duty(0)
time.sleep_ms(50)
# 结束
buzzer.deinit()