有听过MP3吗?知道MP3播放器是怎么工作的吗?有没有想过自己有一天也能够做一个MP3播放器呢?
那么,这堂课就来教一下大家如何使用arduino轻松的操控MP3模块,从而控制音乐播放吧!
首先,来认识一下MP3模块:
这个小模块就是MP3模块了。
那我们先来准备一下这样可需要的材料吧
目录
材料准备
- arduino UNO或micro pro
- 数据线一根(用于烧写程序)
- 1k电阻一个
- 按键3个(没有按键模块的话要搭建外部上拉电路)
- DFPlayer Mini 模块一个
- 256M~32G TF内存卡一个
- 若干导线
- 一块面包板
发现MP3模块的引脚很多,但是这堂课我们只需要使用几个引脚就行。那么,这些引脚都是干嘛的呢?
接下来咱们就来学习一下它的原理吧。
原理介绍
MP3模块使用简单,只需要通过程序控制MP3模块的引脚,就可以实现相应的功能了。
电路搭建
- MP3模块VCC——arduino 5V
- MP3模块GND——arduino GND
- MP3模块RX——arduino 11号脚(串联一个1K的电阻)
- MP3模块TX——arduino 10号脚
- SPK_1和SPK_2分别连接喇叭的两个端口
- 按键1——aruino 2号脚
- 按键2——aruino 3号脚
- 按键3——aruino 4号脚
开始编程
安装库文件
在编程之前需要注意了,mixly不带有MP3模块的驱动库文件,所以我们首先是需要安装MP3模块的库文件。
首先需要下载库文件,下载地址:
下载之后解压解压:
这是解压之后的文件夹,然后将文件夹复制到Mixly安装路径下面的arduino-1.x.x >>libraries文件夹下面:
安装好之后,打开Mixly软件进入高级模式:
编写程序
Mixly程序:
Arduino程序:
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
volatile int mp3Tx;
volatile int mp3Rx;
volatile int button1Pin;
volatile int button2Pin;
volatile int button3Pin;
DFRobotDFPlayerMini mp3Player;
SoftwareSerial mySerial(mp3Rx,mp3Tx);
int mixly_digitalRead(uint8_t pin) {
pinMode(pin, INPUT);
return digitalRead(pin);
}
void setup(){
mp3Tx = 11;
mp3Rx = 10;
button1Pin = 2;
button2Pin = 3;
button3Pin = 4;
mySerial.begin(960);
Serial.begin(115200);
pinMode(button1Pin, INPUT_PULLUP);
pinMode(button2Pin, INPUT_PULLUP);
pinMode(button3Pin,INPUT_PULLUP);
// 设置音量为10// 范围为0~30
mp3Player.volume(10);
// 播放内存卡里名称为0001的音乐
mp3Player.play(1);
}
余下程序:
TF内存卡音乐命名规则
音乐文件的名称应该命名一个四位数字开始,如:
- 0001.mp3
- 0002Chasing The Sun.mp3
- 0003.mp3
- 0004Try.mp3
- 0010FourFiveSeconds.mp3
在TF卡里面需要建立一个文件夹为mp3,然后在mp3文件夹里面存放音乐。
如图所示为TF卡打开之后的样子:
最终效果
按键1按下,进行下一曲播放
按键2按下,进行上一曲播放
按键3按下,音乐暂停
从程序中可以看到,
mp3Player.volume(10); mp3Player.play(1); mp3Player.next(); mp3Player.previous(); mp3Player.pause();
这些分别表示:设置音量为10,播放第一首音乐,上一曲,下一曲,暂停的语句,除了这些以外 还有一些语句。
所有音乐控制语句总结如下:
✗微笑✗ 学习了,挺详细的
这个地方的资料好详细