值此魔兽世界怀旧服开服之际,作为一个怀旧的、休闲的、想玩但又没时间玩的老玩家,在爱与责任面前做出了正确的抉择!“爱与家庭”作为魔兽世界60级时候的经典任务一直被玩家们津津乐道,故事情节感人至深…我就不给大家描述了。这里我想给大家讲述(强行拉回主题)一位创客父亲为自己的儿子呕心沥血制作音乐盒的故事,故事情节感人至深,在这个需要正能量的时代里,总有那么一份温暖让我们感动,满满的都是爱。
文章结构:
为了节省您的阅读时间,便于您查找有用信息,特将文中重要章节在此简述。(相当的有诚意,为人民服务)
成品展示
提出需求
方案论证
制作音乐盒
a) 连接硬件(arduino、Micro SD卡模块、音频输出、LCD)
b) 制作音乐盒结构
c) 音乐文件格式转换
d) 音乐文件存入SD卡
e) 调试下载arduino程序
成品展示
提出需求
一次带孩子去商场,他对一个用木盒做的、LCD显示的音乐盒非常感兴趣,玩了半天,久久不肯离去,看着儿子喜欢、专注把玩的眼神,作为一个父亲真想直接买下,但是我不能!作为一名创客一个怀旧的魔兽世界老玩家,我肩负着激发孩子学习兴趣的历史使命,于是便励志亲自给儿子做一个音乐盒。
方案论证:
最简单的方案当然是买个mp3模块,插上存有音乐的U盘或SD卡,接上喇叭和电源
(可以参考我之前发的音乐盒视频)。但这样弄的话一般不能外接LCD液晶显示歌曲信息,对孩子(初学者)来说也教育意义比较少。经过多次方案对比和调研,最终采用arduino的PCM方案实现音乐盒。
制作音乐盒
制作流程简述:
连接硬件(arduino、Micro SD卡模块、音频输出、LCD)
制作音乐盒结构
音乐文件格式转换
音乐文件存入SD卡
调试下载arduino程序
硬件连接:
简单起见,我直接使用库函数里的参考滤波电路,将PWM波滤出比较好听的音频信号。下边是我认认真真画的原理图(移动电源和开关没画)给您参考:
首先需要验证一下功能,将SD卡读卡器,音频接口与arduino连接。音乐播放功能测试实物图:
使用10元买的USB音箱测试一下,妥妥的没有问题,音效也还可以。
音乐盒结构制作:
我们要做音乐盒,当然要先找一个盒子,根据原理图和需求,得找个大小差不多的,正好朋友送了我一个星球大战魔兽世界玩具的盒子,纸板很厚,很结实。整体结构是两个纸盒插在一起,刚好方便安装,上边还带个把手,可以提着
先把音箱的孔和LCD的孔搞出来,打印出样式后贴在盒子上,然后电钻打孔
固定主要配件:胶枪伺候,把主板和喇叭什么的固定一下,考虑有可能会往SD卡里存音乐,所以把SD卡模块放外边,在后盖上开个孔,防止蹭到。在LCD下边打一个孔放个按键用于切换歌曲。
把家里吃灰的移动电源利用起来,这货好像比较老了,实际电量特别低,用在这个音乐盒上正好,因为音乐不是很费电,在后盖上再打个孔安装纽子开关。
大功告成,来个整体照片
音乐文件格式转换:
根据库函数要求需要将mp3转换成8位的wav文件,依照下边的参数转换就ok,妥妥的。
音乐文件存入SD卡:
在电脑上用读卡器将wav音频文件存入SD卡。
调试下载arduino程序
• 程序结构:(这个不是重点,知道你们也不爱看这个,有兴趣的可以加关注和我要程序)
开机动画
循环播放音乐
….
arduino库函数搜索pcm
• 待改进:
纸盒打孔会导致有毛茶,考虑换用木盒
音量可调剂,需要研究滤波器参数
SD卡文件数量识别,显示歌曲名称(LCD1602显示英文名称)
......
点“阅读原文”,阅读完整内容!