第二十九篇、基于Arduino uno,控制MP3Player mini模块播放音乐——结果导向

0、结果

说明:通电后播放对应的歌曲,可以选择循环播放还是播放一次,也可以通过串口指定播放对应的音乐,如果是你想要的,可以接着往下看。

1、外观

说明:虽然MP3Player mini模块有很多型号,但是原理和代码都是适用的。


2、连线 

说明:只需要连接六根线。
引脚图:


  • uno————MP3Player mini模块
  •  5V--------------VCC
  • GND--------------GND
  • 6--------------RX
  • 5--------------TX
  • 小喇叭任意一端--------------SKP1
  • 小喇叭任意一端--------------SPK2

3、源程序

说明:通电之后,播放第一首音乐,之后循环播放列表的音乐,也可以通过串口调试器输入对应的音乐。并将对应功能进行函数化,方便移植。

/****************************************mp3mini part****************************************/
/*注意:存储卡内的文件应该有相应的格式,最好先格式化存储卡
*/
#include "Arduino.h"                                //调用库文件
#include "SoftwareSerial.h"                         //调用库文件
#include "DFRobotDFPlayerMini.h"                    //调用库文件#define volume1 20                                  //控制mp3音量,范围从0到30
SoftwareSerial mySoftwareSerial(5, 6);              //连接模块的TX和RX引脚
DFRobotDFPlayerMini myDFPlayer;                     //实例化对象int receiveData = 0;                                //接收的数据
/****************************************set up and loop part*********************************/
void setup() {Serial.begin(9600);                               //设置串口波特率为9600mySoftwareSerial.begin(9600);                     //初始化软串口if (!myDFPlayer.begin(mySoftwareSerial)) {        //使用serial软件与mp3通讯。while (millis() <= 1000) {Serial.println("设备即将上线。");}}myDFPlayer.volume(volume1);                        //设置音量值。从0到30//myDFPlayer.loop(1);                              //循环播放第一个mp3//myDFPlayer.pause();                              //暂停mp3//myDFPlayer.next();                               //播放下一个mp3myDFPlayer.play(1);                                //播放第一个mp3myDFPlayer.enableLoopAll();                        //循环播放列表
}
void loop() {uartReceiveData();                                 //从串口接收数据
}
/****************************************mp3mini part****************************************/
/*从串口接收数据*/
void uartReceiveData() {if (Serial.available() > 0) {                      //如果串口发送数据,执行以下操作delay(10);if (Serial.read() == '*') {receiveData = Serial.parseInt();myDFPlayer.play(receiveData);                   //播放指定的音乐Serial.println(String("当前音乐") + receiveData);//串口打印对应的内容}}
}

4、注意事项

说明:需要在线下载对应的库文件才不会编译报错,可以在管理库中很方便的搜到,如果搜不到可以评论@我,我将私发给你。将mp3格式的音乐复制到内存卡中有一定的方式,首先需要将音频文件转成mp3格式,然后在电脑上将名字改成这种形式的,如下图,再在SD卡建立一个mp3文件夹,最后将改好名称的音频文件复制到这个mp3文件。

5、基本原理

        DFPlayer Mini是一款小,且价格低廉的MP3模块,可以直接接驳扬声器。模块配合供电电池、扬声器、按键可以单独使用,也可以通过串口控制,作为FXduino UNO或者是任何有串口的单片机的一个模块。模块的集成了MP3、WAV、WMA的硬解码。同时软件支持TF卡驱动,支持FAT16、FAT32文件系统。通过简单的串口指今即可完成播放指定的音乐,以及如何播放音乐等功能,无需繁琐的底层操作,使用方便,稳定可靠。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部