我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 339|回复: 0

用Arduino、Micro SD制作一个简单的音乐播放器

[复制链接]

该用户从未签到

13

主题

33

回帖

6

积分

二级逆天

积分
6

终身成就奖特殊贡献奖

发表于 2019-10-2 11:23:58 | 显示全部楼层 |阅读模式
0
在本项目中,我们来看一下如何用Arduino,Micro SD卡读卡器来制作一个简单的音乐播放器。完成后,你可以用它来播放储存在SD卡中特定格式的音乐文件。

介绍

虽然这是一个精炼的小项目,不需要将其打造成功能强大的音乐播放器,但在Arduino其它支持库的帮助下,你可以结合其它扩展板来实现其它音乐播放上的功能。

一旦你做出来成品电路后,你还可以作出一些小改动为你的项目加入一些特别的音效。

SD卡模块如何与Arduino结合

我们刚才提到过,这个Arduino音乐播放器的重要组成成分是SD卡模块。音频文件会存储在SD卡中,而Arduino则负责读取并传输到扬声器里。

实物电路图

以下图片为该项目的实物电路图。注意该电路图只展示了Arduino Uno与SD卡模块间的连线,并加入了与Arduino相连的3个按钮,这几个按钮来控制其播放功能,比如播放/暂停,上一曲和下一曲等。

除此之外,还需要将一个扬声器与Arduino相连,电路图中就不做展示了。扬声器或耳机的正极与Arduino的9号引脚相连,负极接地即可。

所需元件

Arduino Uno(或任何Arduino开发板) x 1
SD卡模块 x 1
MicroSD卡 x 1
扬声器/耳机 x 1
按键 x 3
面包板 x 1
导向若干

Arduino音乐播放器的电路设计

之前有提到过,扬声器应与9号引脚与地相连。除此之外,我们还需要将SD卡模块和3个按键与Arduino相连。

既然Arduino UNO与SD卡模块之间是通过SPI通讯的,所以我们需要照以下方式来进行连接。

SD卡模块的CS引脚与引脚4相连。CS引脚可以与数字I/O引脚相连,但SD卡模块其它的SPI引脚就必须与Arduino上对应的SPI引脚相连。

SD卡模块上的SCK或SPI时钟引脚与Arduino的13号引脚相连。SD卡模块MOSI和MISO引脚应分别与Arduino UNO的11号和12号引脚相连。

电源引脚VCC与GND应和Arduino的+5V和GND相连。

除此之外还需要三个按键进行播放控制。播放/暂停按钮与引脚5相连,下一首按键与引脚6相连,上一首按键与引脚7相连。这些按键在程序类都以配置内部上拉。

音频文件与PCM库的准备

WAV文件
在进一步处理之前,我们还有几件事需要做好。第一件事就是将你的音频/音乐文件转换了WAV格式,也就是后缀名应为.wav。这是因为我们接下来要说的支持库只支持WAV格式的PCM音频。

所以,第一步就是进行格式转换,你可以使用任意音频转换软件或者在线转换。如果想要效果更好的话,可以对格式进行以下设置。

比特位:8位
采样率:16000Hz
声道:单声道
PCM格式:8位PCM unsigned

PCM库
第二件要事就是添加一个特殊的库,这是TMRh20开发的TMRpcm。你可以直接从官方github页面或从Arduino IDE里下架。

在Arduino IDE中,点击库管理器,在其中搜索“TMRpcm”,然后点击安装就可以了。




注意:本项目也需要SPI和SD库,但是这些已经属于内置库了。

Arduino音乐播放器的实现

硬件连接后,准备好音频文件,设置好Arduino IDE。你就可以用Arduino实现自己的音乐播放器了。

首先,将microSD卡格式化为FAT,然后将音频文件拷入进去。接下来将SD卡插入SD卡模块的卡槽里,整理好各项连线。




将Arduino UNO与电脑相连,然后再Arduino IDE中,使用附件的代码。在代码中需要自己做一些改动,在void song() 里面,需要将文件名改为你存入SD卡中那些歌曲的文件名。改动后上传代码即可。

默认情况下,Arduino一经重置便会自动播放第一首歌曲。你可以使用播放/暂停按钮来测试按键是否正常运转。

结论
1.一个简单的DIY Arduino音乐播放器项目,让你用Arduino UNO来播放音频文件。
2.该项目支持WAV文件,并可以控制音频的播放。
3.你可以用额外的放大器来增大输出功率,比如LM386等。
4.你还可以改进项目,比如加入更多音效,提升音质等。

Arduino音乐播放器.ino (1.67 KB, 下载次数: 12)





只看该作者
淘帖
举报


相关经验

    [li]全部[/li][li]Arduino[/li][li]diy[/li][li]microSD[/li]







4 条评论


只看该作者发表评论

[tr][td]
王栋春 5 天前沙发

了解一下   


回复举报
    [tr][td]
    听雨_b9f 4 天前板凳


    不错,谢谢分享


    回复
    举报



      alonggege 3 天前3[sup]#[/sup]
      不错,很好的经验分享,辛苦麻烦了,欠缺这方面的资料,非常感谢。


      回复举报



        迅得电子 前天 10:084[sup]#[/sup]

        收藏一下,挺有趣的项目


        回复
        举报



          评论




          高级模式BColor LinkQuoteCodeSmilies
          您需要登录后才可以回帖 登录 | 注册


          发布

          发经验


          课程






          直播

          查看更多 >>
            [li]

            【第1期】深入原理,提高单片机开发效率-提高单片机开发效率2019/10/8 下午7:50 报名中[/li][li]

            【第14期】多层高速pcb设计中那些不得不说的事2019/10/9 下午7:50 报名中[/li][li]

            【第1期】李增和大家一起学习信号仿真链路搭建与结果仿真分析与优化2019/10/10 下午7:50 报名中[/li]



          热门帖




          [/url][url=http://bbs.elecfans.com/zhuti_emb_1.html]




          关闭

          站长推荐 1/10


          【一键下载】5合1模电秘籍一键下载ing,还能参加幸运抽奖哦! ... ...248个日夜,5部模电秘籍已经悉数现世,最终可以一键下载啦!现在下载《新概念模拟电路》全五册,还可以参与抽奖!>.立即下载
          查看 »




          华秋(原“华强聚丰”): 电子发烧友 华秋开发 华秋电路(原“华强PCB”) 华秋商城(原“华强芯城”) 华秋智造My ElecFans APP 网站地图
          关于本站欢迎投稿用户建议版权申明友情链接联系我们网站地图
          版权所有 © 深圳华秋电子有限公司

          回复

          使用道具 举报

          您需要登录后才可以回帖 登录 | 立即注册

          本版积分规则

          论坛开启做任务可以
          额外奖励金币快速赚
          积分升级了


          Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

          本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

          平平安安
          TOP
          快速回复 返回顶部 返回列表