首页 > 评测 > 8位机也玩音频-Arduino+SD+DAC+运放打造的播放器
8位机也玩音频-Arduino+SD+DAC+运放打造的播放器
- [导读]
- 比如本文要介绍的Adafruit Wave Shield,就能是专门为Arduino设计的音频模块.确切的说是为AVR这一类的8位机而设计的音频模块.下文将从硬件到软件详细介绍一下子此模块的设计细节与使用方法.
图 插在Arduino Uno板子上
图 带上耳机
也懒得去追求美观了,只求扎实与连接可靠.有几个件没有焊接的属于套件中没有包含的器件,是些指示,接口之类的, 并不影响主要功能.
下面看看原理图:
图 板子的原理图
原理同总共就这一页.不难看出,板子是通过DAC片(MCP4921)来播放音频的,这是个12bit的单通道,参数上与大多数有DAC的片如STM32的内置DAC类似. 但是分立的DAC肯定效果要好点. DAC过了之后加了两级运放进行放大, 运放电路也是简单粗暴, 仅仅进行电流加强, 这是因为DAC输出的幅度已经足够. 另外使用74125隔离后使用SPI来读取SD卡. 这个SD卡才是这板子较为重要的部分. 因为SD卡意味着能播放的数据源超级大了. 相比而言,12bit的DAC虽然性能还说的过去, 但不是那么必要, 因为Arduino板子几乎都有通过PWM+滤波器来播放音频的选项. 但是这板子不仅仅是个SD卡扩展kit,分立DAC+运放的组合起码在教育意义上较大. 很多人能够通过这板子来理解基本的音频播放电路的原理. Arduino是通过SPI接口来读取SD卡的.
安装Arduino库
Arduino的一大特点是能利用的库函数很丰富. 如何使用这个模块, 当然自己来写FAT读取,再进行DAC操作也是可以的. 但那样做之前不妨试试别人写好的库来评估一下子硬件也是很好的. 作者相信这也是Arduino这种开源硬件这么流行的原因: 方便快捷评估硬件.这一点效率在真正的开发中很重要.在DIY中也是如此,因为可以参考别人成果,激发你的创作灵感. 当没有库的时候也要发挥自己动手的开创精神, 有库的时候就要先去利用.
以下这个库函数封装了读取SD卡与通过MCP4921来播放wav文件的功能:
https://github.com/adafruit/WaveHC
通过git下载也好,直接下载zip也好. 总之下载好解压之后把WaveHC这个文件夹拷贝到你的Arduino的库文件夹中. 系统中Arduino的库文件夹这样查看:
图 Arduino的库文件夹
转换音频
首先找个SD卡, 用TF+卡套也可以. 本人使用的是16G的SDHC卡, 最好是先进行格式化成FAT32格式. 再到你电脑上找几个想听的歌曲要转成单通道44.1KHz或以下, 16bit或以下的wav文件. 这里面我们使用Audacity来进行:
http://www.audacityteam.org/
这软件本人在其他文章中写了不少, 这里从简, 不清楚的可以留言或翻之前的文章.
比如要转化某mp3文件,首先当然是打开该文件:
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前