基于Arduino的音乐播放器设计

今日头条

1151人已加入

描述

厌倦了呆板的音响设备,那就动手制作一个音乐播放器吧。本项目可播放WAV格式音乐,用户只需简单的接线和焊接技能即可完成制作。

项目使用Arduino IDE环境,所需硬件材料很简单:
Arduino UNO                 ×1 
Catalex MicroSD适配模组     ×1 
Speaker 8Ω 1/2W            ×1 
Resistor 330欧姆                ×1 
Transistor 2n3904(2n2222)     ×1 
面包板                          ×1 

首先,需要将SD卡格式化成FAT16 or FAT32格式,因为有些芯片不支持NTFS格式。拷入音乐之前,要先转化成.wav格式的文件,转换方法可参考
https://audio.online-convert.com/convert-to-wav,这个链接可将MP3文件转化成如下规格的音乐:
分辨率: 8Bit
取样率: 32000Hz
音频通道: 立体声

接下来,将转化后的音乐文件拷入SD卡,并插入microSD模组。

第三步,按照威廉希尔官方网站 图将零件连接到面包板上。如果打算长期使用这个作品,可用烙铁将它们焊接起来。

播放器

第四,安装Arduino IDE到电脑,可参考:
Windows ->https://www.arduino.cc/en/Guide/Windows
Linux -> https://www.arduino.cc/en/Guide/Windows
Mac -> https://www.arduino.cc/en/Guide/Windows

接着,编写代码,也可以从https://github.com/isramos/mico-shield/tree/master/libraries/SimpleSDAudio直接下载。

播放器

下载完成后,将SimpleSDAudio库安装到:Arduino IDE —> Sketch —> Include Library —> Add.ZIP Library …

播放器

浏览已下载的 .zip 文件。下面是一份现成的代码,选择对应的板子(Tools->Board->Arduino Uno/Genuino)和COM端口,可将代码直接上传到Arduino Uno板。

播放器

大功告成!如果觉得三块板裸露在外不安全,可将它们适当固定起来,置于不用的CD盒等闲置盒子里。


附:SimpleSDAudio库

/*
*  First we need to convert mp3 file to wav file with below setting
*  bit resolution : 8 Bit
*  sampling rate  : 32000 Hz
*  audio channel  : stereo
*  
*  to convert mp3 visit link: https://audio.online-convert.com/convert-to-wav
*/
#include

void setup() {
 
 SdPlay.setSDCSPin(4); // sd card cs pin
 if (!SdPlay.init(SSDA_MODE_FULLRATE | SSDA_MODE_MONO | SSDA_MODE_AUTOWORKER)) // setting mode 
 { 
   while(1); 
 }

}

int count = 1;
void loop(void)
{
 
 switch (count) {
     case 1:
       if(!SdPlay.setFile("music1.wav")) // music name file
         { 
           while(1);          
         }
         count = 2;
       break;
     case 2:
       if(!SdPlay.setFile("music2.wav")) // music name file
         { 
           while(1);
         }
         count = 3;
       break;
     case 3:
       if(!SdPlay.setFile("music3.wav")) // music name file
         { 
           while(1);
         }
         count = 1;
       break;
   }
   
 SdPlay.play(); // play music
 
 while(!SdPlay.isStopped())
   { 
     ;
   }

}

 

 

审核编辑:汤梓红
 

 

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分