DFplayer MP3模块与Arduino Uno的完美结合

发表时间: 2020-12-14 10:23

你是否想自己制作一个可控制音响?通过本文,笔者通过两个例子来简单介绍我们如何制作一个三键音响(播放下一曲,播放上一曲,暂停)。

准备材料:1、Arduino uno 开发板 2、0.5W~3W的小喇叭 3、3个普通按键 4、一个LED灯 5、一块面板板 6、5个1K电阻和若干公母线 7、小型SD卡一张

模块资料:

mp3模块引脚说明

接下来介绍两种控制方式-----I/O控制模式(无需开发板)和Arduino uno控制模式

一、I/O控制模式

I/O控制模式,是不需要Arduino uno开发板的,通过按键控制其可以完成播放下一曲,播放上一曲,音量加减等功能,对于想节约制作成本的小伙子来说最适合不过了。

接线图:

mp3按键接线图

上图是利用4个按键(S1~S4),与mp3模块连接,当按下S3按键时,就会播放SD卡中的第1首音乐,当按下S4按键时,就会播放SD卡中的第5首音乐,当按下S2按键时,就会播放下一首音乐(长按S2,就是音量+),其他按键不再一 一说明。所以,我们根据上图接好线之后,就可以直接来播放音乐了。VCC接5v直流电压即可。

二、通过Arduino uno控制

通过Arduino uno控的优势是其能完成的功能多,能够其他模块相互配合工作,也能与RFID射频模块完成语音提示的门禁系统(可以看笔者以前的文章),

接线图:

程序:

#include <SoftwareSerial.h>  //加载软串口库#include <DFPlayer_Mini_Mp3.h>  //加载MP3模块库int button1 = 2;//定义按键1与Arduino的接口为2int button2 = 3;//定义按键2与Arduino的接口为3int button3 = 4;//定义按键3与Arduino的接口为4int led = 5;void setup() //初始化函数{  pinMode(button1,INPUT);   pinMode(button2,INPUT);   pinMode(button3,INPUT);   pinMode(led,OUTPUT);  Serial.begin(9600); // 打开串行连接  mp3_set_serial (Serial); //设置DFPlayer mini mp3模块的序列号  mp3_set_volume (30); //设置音量为20,范围可为0~30}void loop() //扫描循环程序{            if(digitalRead(button1)==HIGH)             {                mp3_next ();                digitalWrite(led,HIGH);                delay(500);                digitalWrite(led,LOW);            }                        if(digitalRead(button2)==HIGH)             {                 mp3_prev (); //播放语音1                 digitalWrite(led,HIGH);                 delay(500);                 digitalWrite(led,LOW);            }               if(digitalRead(button3)==HIGH)             {                 mp3_pause ();                 digitalWrite(led,HIGH);                delay(500);                digitalWrite(led,LOW);            }}

介绍到这里就结束了,有兴趣的同学可以自己尝试做一个,成本不高,还可以发挥自己的想象力搭建一个多功能****。

本文部分图片引用于创客制造:
https://www.ncnynl.com/archives/201606/190.html