基于arduino的音乐轮播机
本帖最后由 王安安 于 2023-2-8 09:49 编辑首先,要按照下面的链接搭建硬件https://www.geek-workshop.com/thread-2611-1-1.html
具体方法我就不搬运了
第二步就是软件同样也是要添加这个SimpleSDAudio库
库文件:
第三步就是转码
首先你需要把多个音频文件转换成.wav格式,我们用到了foorbar2000这个软件,大家也可以使用其他转换软件注意:一定是多个(单个也行)
http://image.geek-workshop.com/forum/201211/25/165213ggmzzc8fllml0cln.jpg
打开foorbar2000后,添加你需要转换的歌曲,然后在歌曲名上右击,选择转换
http://image.geek-workshop.com/forum/201211/25/165216q1cubgu1t4ac1ums.jpg
选择输出格式为.wav,然后点击转换,选择保存目录就可以了
制作让arduino播放的音频文件
首先,我们需要用到一款软件,软件在此下载 https://www.geek-workshop.com/static/image/filetype/rar.gif tools.rar (1.41 MB, 下载次数: 3401)
然后可以根据你的arduino板子的工作频率选择合适的转换程序
这里我们选择了arduino with 16Mhz
然后可以看到有很多转换模式
http://image.geek-workshop.com/forum/201211/25/173300eyd3fch7rhgxfhxi.jpg
这里,我们选择了FullRate@16MHz_Mono这个模式,全速率单声道模式
将你刚刚生成的.wav格式文件拖到这个批处理上
http://image.geek-workshop.com/forum/201211/25/173531nthdtszd6dtdh5hh.jpg
当提示如下图时,说明转换完成了
http://image.geek-workshop.com/forum/201211/25/173528q11tjcq6e7nlmscv.jpg
然后,你会发现新建了一个文件夹,转换好的文件就在里面
将文件放到SD卡中
首先,你需要将SD卡格式化成FAT格式,然后将刚才的文件放到SD卡根目录下,注意,文件名不能使用中文名
最后一步就是写程序,源码和使用说明我附在下面
#include <SimpleSDAudio.h>
void setup()
{
// If your SD card CS-Pin is not at Pin 4, enable and adapt the following line:
// SdPlay.setSDCSPin(10);
// Init SdPlay and set audio mode
if (!SdPlay.init(SSDA_MODE_FULLRATE | SSDA_MODE_MONO)) {
while(1); // Error while initialization of SD card -> stop.
}
int melody[] = {};//你的音频文件名填好,例:{"ABC.AFM","ABCD.AFM"}
int b=0;
// Select file to play;
if(!SdPlay.setFile(melody)) {
while(1);
}
SdPlay.play();
while(1){
if(!SdPlay.isStopped()){
SdPlay.worker();
}
if(SdPlay.isStopped()){
b=b+1;
if(!SdPlay.setFile(melody)) {
while(1);
}
SdPlay.play();
if(b==){
//上面的b==要填你的歌曲数量减去1
b=0;
SdPlay.play();
}
}
}
}
页:
[1]