0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用Arduino UNO和SD卡制作音乐播放器

科技观察员 来源:八色木 作者:八色木 2022-04-13 16:45 次阅读

一、项目介绍

前面用ATtiny85制作SD卡音乐播放器,本次主要利用Arduino UNO 和SD卡制作音乐播放器。这个播放器不需要添加多余的模块,只需要SD读卡器和Arduino UNO开发板就可以播放音频文件。遗憾的是我们需要将音频文件提前转换为wav文件格式,这与ATtiny85制作的SD卡音乐播放器一致。音频文件转换成wav格式,可遵循以下步骤:

1、进入“在线Wav转换”

2、推荐的转换格式设置

Bit Resolution8 Bit

Sampling Rate16000 Hz

Audio ChannelMono

PCM formatPCM unsigned 8-bit

3、在网站上点击“choose file”,选择你想要转换的文件。然后按上面的设置输入值。操作界面如下:

poYBAGJWjauAcPTzAACZKn9MDEA310.png

4、点击 “Convert File” ,这样音频文件就转换器为.wav格式了,下载保存到SD卡。

二、元器件清单

1、Arduino UNO

2、8欧姆 0.25瓦 小喇叭

3、SD卡卡座模块

4、SD卡

5、连接线

三、电路连接图

pYYBAGJWjaiAEKggAAKv0bBtXa8336.png

Arduino UNO 与SD卡模块的引脚连接如下表

ArduinoSD card 模块

+5VVcc

GndGnd

Pin 12MISO (Master In Slave out)

Pin 11MOSI (Master Out Slave In)

Pin 13SCK (Synchronous Clock)

Pin 4CS (Chip Select)

Arduino UNO将从SD卡读取音乐文件,并从9号针脚输出音频信号。如果觉得Arduino发出的音频信号太小,可将9号引脚接入功放器放大声音信号,可参考下图,加入LM386芯片实现音频放大,这里不再过多赘述。

poYBAGJWjaOAWxfvAAG_D4kS4Q8124.png

实物连接图:图中还有两个按钮开关连接到Arduino的2号和3号引脚。开关实现切换下一首的功能和实现播放/暂停功能。

pYYBAGJWjZ6AcpTxAAJ5_oWjbes380.png

四、库文件地址

TMRpcm library

文件下载后,应该为.zip文件,不用解压缩,安装库文件可参考下图操作:

五、程序代码

/*Arduino Music Player*/


#include "SD.h" //读取 SD card 文件
#include "TMRpcm.h" //读取 音频播放文件
#include "SPI.h" //读取 SD card的SPI 文件

#define SD_ChipSelectPin 4   //设置CS 引脚 4
TMRpcm music; //设置音频播放对象 "music"

int song_number=0;
boolean debounce1=true;
boolean debounce2=true;
boolean play_pause;

void setup(){
music.speakerPin = 9; //设置音频输出针脚 9
Serial.begin(9600); //串口调试
if (!SD.begin(SD_ChipSelectPin)) {
Serial.println("SD fail");
return;
}

pinMode(2, INPUT_PULLUP); //Button 1 切换音频文件
pinMode(3, INPUT_PULLUP); //Button 2 播放或暂停
pinMode(3, INPUT_PULLUP); //Button 2 快进

music.setVolume(5);  //  设置音量0 ~7
music.quality(1);    // 设置 1 或 2x 采样速度,0为正常值
//music.volume(0);    //  1(高) 0(低)控制音量
//music.play("filename",30); //从30秒开始播放一个文件
}

void loop(){

if (digitalRead(2)==LOW && debounce1 == true) //Button 1 按下
{
song_number++;
if (song_number==5)
{song_number=1;}
debounce1=false;
Serial.println("KEY PRESSED");
Serial.print("song_number=");
Serial.println(song_number);

if (song_number ==1)
{music.play("1.wav",10);} //从10秒开始播放第一首歌

if (song_number ==2)
{music.play("2.wav",33);} //从33秒开始播放第二首歌

if (song_number ==3)
{music.play("3.wav");} //从开始位置播放第三首歌

if (song_number ==4)
{music.play("4.wav",25);} //从25秒开始播放第四首歌

if (digitalRead(3)==LOW && debounce2 == true) //Button 2 按下
{
music.pause(); Serial.println("PLAY / PAUSE");
debounce2=false;
}

if (digitalRead(2)==HIGH)  //防止误操作
debounce1=true;

if (digitalRead(3)==HIGH) //防止误操作
debounce2=true;
}

}

至此基于Arduino UNO的SD卡音频播放器就完成了,有兴趣可将它与基于ATtiny85的SD卡音频播放器进行对比测试。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    5032

    浏览量

    97371
  • 音乐播放器
    +关注

    关注

    0

    文章

    68

    浏览量

    15772
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186947
收藏 人收藏

    评论

    相关推荐

    基于RTT-LVGL的音乐播放器设计案例

    此次项目主要是基于瑞萨HMI board 开发板实现音乐播放器功能,主要可以实现sdwav 文件扫描,音乐
    的头像 发表于 09-18 11:07 2219次阅读
    基于RTT-LVGL的<b class='flag-5'>音乐</b><b class='flag-5'>播放器</b>设计案例

    VS1003制作音乐播放器

    制作思路是: 下面我就按着我的这个思路讲解我是如何制作一个音乐播放器的主控芯片STC15W4K48S4 单片机的供电电路 外围电路IO口的接法 解码芯片我们平时在手机、电脑上使用的
    发表于 02-26 10:33

    基于战舰板的遥控音乐播放器

    模块。插上有源音箱电源和战舰板电源后就可以实现远程控制音乐播放器播放SD音乐了。因为停止
    发表于 07-01 04:35

    【项目分享】教你用Arduino、Micro SD制作一个简单的音乐播放器

    `在本项目中,我们来看一下如何用Arduino,Micro SD读卡制作一个简单的音乐
    发表于 09-27 17:20

    基于Arduino UNO控制板的语音播放器设计

    案例主控板如不做特殊说明的话,均默认是Arduino UNO控制板。本次实验以UNO发送串口协议控制语音播放器播放歌曲,语音
    发表于 07-30 08:06

    Arduino UNO控制板发送串口协议是如何控制语音播放器播放歌曲的

    Arduino UNO控制板的硬件特性有哪些呢?Arduino UNO控制板发送串口协议是如何控制语音播放器
    发表于 11-08 07:41

    Arduino按键控制MP3模块随机播放音乐的方法

    )使用主要器件1、Arduino Uno控制板2、YX5300 MP3音乐模块3、SD4、读卡
    发表于 02-15 07:34

    如何使用Arduino和MicroSD读卡/模块制作简易音乐播放器

    使用Arduino Uno制作自己的音乐播放器是一个令人兴奋的小项目。这个项目不一定需要是一个强大的音乐
    的头像 发表于 07-29 11:04 1.6w次阅读

    使用Arduino和DFPlayer迷你MP3播放器模块制作带有LCD的MP3播放器

    今天,我们将使用Arduino和DFPlayer迷你MP3播放器模块制作带有LCD的MP3播放器。 硬件组件: Arduino Nano R
    的头像 发表于 12-07 09:28 8458次阅读

    基于51单片机的音乐播放器制作

    基于51单片机的音乐播放器制作方法。
    发表于 05-28 10:44 113次下载

    基于Labview制作音乐播放器源码分享

    基于Labview制作音乐播放器源码分享
    发表于 12-01 10:07 70次下载

    基于Arduino音乐播放器设计

    厌倦了呆板的音响设备,那就动手制作一个音乐播放器吧。本项目可播放WAV格式音乐,用户只需简单的接线和焊接技能即可完成
    发表于 03-25 11:27 6144次阅读
    基于<b class='flag-5'>Arduino</b>的<b class='flag-5'>音乐</b><b class='flag-5'>播放器</b>设计

    如何用ATTINY45制作SD音乐播放器

    这是一个使用 ATtiny 8针MCU来制作的很简单的SD音频播放器。可以支持ATtinyX5系列(25/45/85)三款AVR微控制
    的头像 发表于 04-13 16:49 3056次阅读
    如何用ATTINY45<b class='flag-5'>制作</b><b class='flag-5'>SD</b><b class='flag-5'>卡</b><b class='flag-5'>音乐</b><b class='flag-5'>播放器</b>

    Arduino UNO构建音乐播放器

    电子发烧友网站提供《Arduino UNO构建音乐播放器.zip》资料免费下载
    发表于 01-03 11:41 0次下载
    <b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b>构建<b class='flag-5'>音乐</b><b class='flag-5'>播放器</b>

    使用Arduino UNO播放SD中的Midi文件

    电子发烧友网站提供《使用Arduino UNO播放SD中的Midi文件.zip》资料免费下载
    发表于 01-31 10:04 1次下载
    使用<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b><b class='flag-5'>播放</b><b class='flag-5'>SD</b><b class='flag-5'>卡</b>中的Midi文件