在这个项目中,我将向您展示如何使用Arduino和Micro SD卡读卡器/模块制作一个简单的音乐播放器。使用此项目,您可以使用Arduino Uno或Mega播放存储在microSD卡上的音频文件(特定格式)。
简介
使用Arduino Uno制作自己的音乐播放器是一个令人兴奋的小项目。这个项目不需要是一个强大的音乐播放器,而是检查Arduino Uno或任何其他Arduino板的能力,播放音频文件的支持库文件的帮助,感谢Arduino社区的杰出工作。
一旦您有一个电路使用Arduino Uno, microSD卡模块(适配器),microSD卡和扬声器或耳机,您可以在您的项目中实现几个声音效果,这是不可能在正常情况下。
Arduino接口SD卡模块指南
如前所述,Arduino based Music Player项目的主要组件是Arduino板和SD卡模块/适配器。存储在microSD卡中的音频文件(后面会详细介绍音频文件)通过Arduino在SD卡模块的帮助下读取,并通过扬声器播放。
因此,了解如何与Arduino接口SD卡模块,并从microSD卡读取/写入数据是非常重要的。
我已经实现了一个教程,如何与Arduino Uno接口SD卡模块。首先检查那个项目,如果可能的话,在继续这个项目之前尝试实施它。
线路图
下图为项目电路图。请注意,电路图中只显示了Arduino Uno与SD卡适配器的连接,以及连接Arduino的三个按钮,控制播放/暂停、上一轨、下一轨等回放功能。
另外Arduino连接了一个扬声器,但是在电路图中没有显示。Arduino与扬声器(或耳机)之间的连接是:扬声器/耳机正接Arduino的9脚,负极接GND脚。
组件的要求
- Arduino UNO(或任何Arduino板)
- SD卡适配器/模块
- microSD卡
- 小喇叭
- 3个按钮
- 电路试验板
- 连接电线
Arduino音乐播放器电路设计
如前所述,扬声器连接引脚9和GND(电路图中未显示)。另外,我们需要连接SD卡模块和3个按钮。
由于Arduino UNO和SD卡模块之间的接口是通过SPI通信,连接如下。
SD卡模块的CS Pin连接到Pin 4。Chip Select (CS)引脚可以连接任何数字I/O引脚,SD卡模块的其他SPI引脚必须连接Arduino对应的SPI引脚。
SD卡的SCK或SPI时钟Pin连接Arduino的Pin 13。SD卡模块的MOSI和MISO引脚分别连接Arduino UNO的引脚11和引脚12。
电源引脚VCC和GND接Arduino的+5V和GND。
另外,我使用了3个按钮来控制音乐播放。Play / Pause Button连接到脚5,Next Track Button连接到脚6,Previous Track Button连接到Arduino的脚7。所有这些按钮都在程序中配置了内部拉拔。
准备音频文件和PCM库
WAV文件
在继续之前,有几件事情需要处理。第一个是将你的音频/音乐文件转换为WAV格式,即它们应该是。WAV文件。这是因为,我将在下面提到的支持库只支持WAVE文件格式的PCM音频(.wav)。
因此,您的第一步是将您的mp3文件转换为。wav文件。为此,您可以使用任何音频转换软件,转换选项在VLC媒体播放器或任何在线工具。我将使用一个叫做online - convert.com的在线工具。它支持多个文件,如档案,音频,文件等。
进入网站中的音频转换器选项,选择“Convert to WAV”选项或简单地使用这个URL:在线音乐转换器.
上传mp3文件,并在可选设置中进行如下设置:
- 改变位分辨率:8位
- 改变采样频率:16000hz
- 改变音频通道:单声道
- PCM格式:PCM无符号8位
完成上述更改后,点击开始转换,转换后的文件将自动下载。
PCM图书馆
第二件重要的事情是添加一个由TMRh20开发的名为TMRpcm的特殊库。你可以直接从官方GitHub页面下载,也可以直接添加到Arduino IDE中。
在Arduino IDE中,进入工具管理库…,搜索“TMRpcm”,然后点击安装。
注意:该项目还需要SPI和SD库。这些是内置库。
代码
基于Arduino的音乐播放器的工作
在如前所述进行硬件连接后,准备好音频文件,设置Arduino IDE(安装库),您就可以使用Arduino实现自己的音乐播放器了。
首先,使用任何格式化软件,如SD Memory Card Formatter,将microSD卡格式化为FAT,并复制所有的WAV音频文件到卡上。将卡插入SD卡模块的插槽中,并进行所有必要的连接(如果还没有进行连接)。
连接Arduino UNO到计算机,并在Arduino IDE中,使用上述给定的代码。在代码中,进行必要的更改,例如在void song()函数中,将文件名替换为SD卡中的歌曲名称。
我将我所有的音频文件命名为song1.wav, song2.wav等,并在函数中使用相同的名称。在进行必要的更改后,上传代码。
默认情况下,Arduino重置后会自动播放第一首歌曲(即我的song1.wav)。您可以使用播放/暂停按钮,播放或暂停当前轨道。使用“下一步”按钮播放下一个轨道和“预览”按钮播放上一个轨道。
结论
- 这里实现了一个简单的DIY项目,名为使用Arduino的音乐播放器,您可以使用Arduino UNO播放音频文件。
- 这个项目支持WAV音频文件,也控制音频的回放。
- 您可以使用额外的放大器,如LM386 IC来提高输出功率。
- 使用此项目,您可以在Arduino项目中实现音频效果。