当前位置: 首页 > news >正文

树莓派pico使用无源蜂鸣器播放小星星

树莓派pico播放小星星,无源蜂鸣器

from machine import Pin, PWM
import time# ================= 配置区域 =================
BUZZER_PIN = 15       # 蜂鸣器连接的 GPIO 引脚 (建议 GP15)
VOLUME = 20000        # 音量 (0-65535), 建议 40000 (约 60%)
BPM = 80              # 速度 (每分钟拍数), 儿歌建议 60-90
BASE_TEMPO = 60000 // BPM  # 计算每拍的毫秒数 (约 750ms)
# ===========================================# 初始化 PWM
buzzer = PWM(Pin(BUZZER_PIN))
buzzer.duty_u16(VOLUME)# 音符频率表 (C 大调)
# 对应简谱:1=C, 2=D, 3=E, 4=F, 5=G, 6=A
NOTES = {'C4': 261, 'D4': 293, 'E4': 329, 'F4': 349, 'G4': 392, 'A4': 440,'C5': 523,  # 高音 C'0': 0      # 休止符
}# 小星星 旋律数据
# 格式:(音符,节拍数)
# 节拍数:1 = 一拍,2 = 两拍 (结尾音)
SONG = [# 1 1 5 5 6 6 5 - (一闪一闪亮晶晶)('C4', 1), ('C4', 1), ('G4', 1), ('G4', 1), ('A4', 1), ('A4', 1), ('G4', 2),# 4 4 3 3 2 2 1 - (满天都是小星星)('F4', 1), ('F4', 1), ('E4', 1), ('E4', 1), ('D4', 1), ('D4', 1), ('C4', 2),# 5 5 4 4 3 3 2 - (挂在天上放光明)('G4', 1), ('G4', 1), ('F4', 1), ('F4', 1), ('E4', 1), ('E4', 1), ('D4', 2),# 5 5 4 4 3 3 2 - (好像许多小眼睛)('G4', 1), ('G4', 1), ('F4', 1), ('F4', 1), ('E4', 1), ('E4', 1), ('D4', 2),# 1 1 5 5 6 6 5 - (一闪一闪亮晶晶)('C4', 1), ('C4', 1), ('G4', 1), ('G4', 1), ('A4', 1), ('A4', 1), ('G4', 2),# 4 4 3 3 2 2 1 - (满天都是小星星)('F4', 1), ('F4', 1), ('E4', 1), ('E4', 1), ('D4', 1), ('D4', 1), ('C4', 2),
]def play_note(note, beats):"""播放单个音符"""freq = NOTES.get(note, 0)if freq == 0:# 休止符:静音buzzer.duty_u16(0)else:# 发声:设置频率和音量buzzer.freq(freq)buzzer.duty_u16(VOLUME)# 计算持续时间 (毫秒)duration = int(BASE_TEMPO * beats)time.sleep_ms(duration)# 音符间短暂停顿,让旋律更清晰 (约 30ms)buzzer.duty_u16(0)time.sleep_ms(30)try:print("开始播放:小星星...")print(f"速度:{BPM} BPM | 引脚:GP{BUZZER_PIN}")while True:for note, beats in SONG:play_note(note, beats)print("一曲完毕,2 秒后重复...")time.sleep(2)except KeyboardInterrupt:print("用户停止播放。")finally:# 程序彻底退出时才关闭蜂鸣器buzzer.deinit()print("蜂鸣器已关闭。")
http://www.jsqmd.com/news/444579/

相关文章:

  • Pandas数据处理(3): 数据分箱与行列名修改
  • Pandas数据处理(4):时间数据处理与分组聚合
  • 刚入行 3 个月,我总算搞懂了 Java 集合
  • P4588 [TJOI2018] 数学计算 题解
  • Docker使用方法及注意事项
  • 德系车底盘维修哪家专业?2026年上海浦东5大靠谱店铺推荐,省钱又省心! - 品牌企业推荐师(官方)
  • 除甲醛公司推荐:专业公司服务与技术对比分析 - 品牌企业推荐师(官方)
  • 水利工程设备采购必看!5家优质启闭机、闸门厂家推荐,选购指南一文读懂 - 品牌企业推荐师(官方)
  • 2026年福州代理记账公司哪家好?福州10家财务公司真实测评 - 品牌企业推荐师(官方)
  • 2026年GEO优化服务商排名解读:企业或商户如何选择? - 品牌企业推荐师(官方)
  • 阻燃EPS厂家2026年TOP5:5家实力厂商怎么选?工程采购避坑+价值指南 - 品牌企业推荐师(官方)
  • 张家口注册公司|张家口快速办理营业执照【张家口玉算盘财税服务】 - 品牌企业推荐师(官方)
  • 2026年张家口公司注册、张家口代理记账【张家口玉算盘会计服务有限公司】 - 品牌企业推荐师(官方)
  • 广州地区金蝶云星空最好的服务商有哪家? - 品牌企业推荐师(官方)
  • 明星代言联系哪家好 - 品牌企业推荐师(官方)
  • 2026步入式试验箱优选榜单| 步入式十大精选厂家 - 品牌企业推荐师(官方)
  • 福州睿象科技对接步骤:找对联系方式精准对接,高效启航 - 品牌企业推荐师(官方)
  • 格宾网在高标准农田建设中的技术落地全攻略:高频疑问解答,助力工程高效实施 - 品牌企业推荐师(官方)
  • 张家口注册营业执照首选【玉算盘财税服务】 - 品牌企业推荐师(官方)
  • 2026年性价比高的定制酒生产厂家哪家强? - 品牌企业推荐师(官方)
  • 订婚结婚选哪款钻戒更值?——基于4C标准的五大国产品牌理性解析 - 品牌企业推荐师(官方)
  • 数据解码2026:婚戒定制品牌全景测评,揭秘培育钻石赛道的“价值新标杆” - 品牌企业推荐师(官方)
  • 力扣Hot100---1.两数之和
  • ABC 445 E(利用线性预处理最小质因子快速得到每个数的质因子分布 trick)
  • Git Pre-commit 钩子
  • Java全栈开发面试实战:从基础到高阶的深度探讨
  • 免费在线浏览查看3DTiles,支持修改坐标,微调整保存坐标json,支持cesium地图,高德地图,ArcGIS,天地图等自定义地图
  • Le sens de vivre dans un monde misrable
  • Reversing-x64Elf-100
  • 玩转opencraw