
六周年纪念八音盒
简介
该项目通过蜂鸣器与LED乐谱的形式播放生日快乐MIDI歌曲,采用ch32x035单片机,通过4个蜂鸣器与载波和声技术播放层次丰富,动听的音乐,并可搭载高容量锂电池满负荷运转24小时,支持SMT全基础库
简介:该项目通过蜂鸣器与LED乐谱的形式播放生日快乐MIDI歌曲,采用ch32x035单片机,通过4个蜂鸣器与载波和声技术播放层次丰富,动听的音乐,并可搭载高容量锂电池满负荷运转24小时,支持SMT全基础库开源协议
:MIT License
描述
视频链接:
https://v.youku.com/v_show/id_XNjUwMDM4NTYzNg== (不代表最终效果,软件持续优化)
项目简介
该项目通过蜂鸣器与LED乐谱的形式演奏生日快乐MIDI歌曲,采用ch32x035单片机,通过4个蜂鸣器与载波和声技术播放层次丰富,动听的音乐,并可搭载高容量锂电池满负荷运转24小时,支持SMT全基础库贴片(除了部分芯片)
项目功能
- 音乐播放
- 通过分时复用与脉宽调制同时控制4个蜂鸣器工作,用方波的形式抽象不同MIDI音符,并研制谐波压制技术,优化蜂鸣器频率响应特性。
- MIDI乐谱可视化
- 通过8个LED展示乐谱,每个LED代表一个12平均律中根据调式匹配的音符,对MIDI音谱进行可视化,丰富视觉体验。
- 可充放电池管理
- 提供1A输出,2A充电的效率充放电管理模块,轻松驾驭10000mAh三元锂电池,消除了供电依赖的局限,可以轻松在空间维度中移动,可手持或搭载于移动器械。
项目参数
- 单片机采用 CH32X035G8R6,国产实惠,符合项目需求
- 采用 MT3608L 升压芯片,输出电流电压可调,附带开关
- 采用 BL8576 锂电池充电芯片,无外部功率元件,可调充电电流
- 选择无源蜂鸣器,千万不要买成有源,这样无法播放音乐,同时注意阻抗和电压
原理解析(硬件说明)
本项目由以下部分组成,电池充电部分、升压输出部分、音频部分、LED音频可视化部分,本项目主要是用单片机通过PWM控制驱动4个蜂鸣器播放MIDI音乐,并通过LED进行音频可视化。同时也实现了锂电池的充放电管理。

图例1--锂电池充电输入:
该模块为纯IC内部实现,方便焊接。R9为充电电流编程电阻,(1v/470)*1000 = 2.12A, R8与LED1组成由芯片控制的开漏输出指示灯,还有另一组同理,剩下就是C4为旁路电容,增加芯片工作稳定性。

图例2--锂电池升压输出:
该模块使用了MOSFET脉宽调制DC-DC升压芯片:来自西安航天的 MT2608L,配合LD整流电路(D1,L1)输出平滑的5V直流电。
通过SW1实现了一个芯片使能开关,可以避免不想使用时持续工作。R1与R5为分压电阻(L1+L2)/L2 = 1/8.33333,并乘以0.6V 让输入电压刚好为 8.333 * 0.6 = 5V。

图例3--蜂鸣器驱动:
该模块通过后端基级放大器控制蜂鸣器。首先BUZ4为单片机PWM输出,先通过限流电阻R3后达到Q1,此时有两个分叉,小部分电流通过下拉电阻R6直接入地,避免空闲时发出噪声;剩下的Q1控制该供电线路导通或关断,可进行高速开关。
软件代码
使用 rust 语言,通过 embassy 嵌入式通用抽象库,与负责底层适配 ch32-hal 库进行高效的硬件抽象封装,并配合 tokio 异步库在裸机下通过异步实现多任务并行,安全高效,开发简便!
开源代码:
开源 atomgit 仓库
组装流程
1.购买3.7v电池,如果需要使用支柱,需要买宽度不大于 36mm 的电池,同时充电模块电阻需要匹配(需要0.3c)锂电池充电比较合适。
2.购买支柱,淘宝搜索尼龙支柱(M3规格)即可,任君挑选。
3.进行焊接

图3.1:前视图

图3.2:后视图
4.焊接后清洁
图4.1:前视图

图4.2:后视图

5.安装电池与支柱后
图5.1:前视图

图5.2:后视图

设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。









