KE0092 Keyes Player Mini MP3 模块 红色环保

1、概述

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

2、规格参数

支持采样率(KHz):8/11.025/12/16/22.05/24/32/44.1/48

24 位 DAC 输出,动态范围支持:90dB,信噪比支持:85dB

完全支持 FAT16、FAT32 文件系统,最大支持 32G 的 TF 卡,支持 32G 的 U 盘、64M 字节的 NORFLASH

多种控制模式可选。IO 控制模式、串口模式、AD 按键控制模式

广播语插播功能,可以暂停正在播放的背景音乐。广告播放完毕回到背景音继续播放

音频数据按文件夹排序,最多支持 100 个文件夹,每隔文件夹可以分配 255 首曲目

30 级音量可调,6 级 EQ 可调

3、引脚说明

4、连接方法

4、测试代码

#include “Arduino.h”

#include “SoftwareSerial.h”

#include “DFRobotDFPlayerMini.h”

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX

DFRobotDFPlayerMini myDFPlayer;

void printDetail(uint8_t type, int value);

void setup()

{

mySoftwareSerial.begin(9600);

Serial.begin(115200);

Serial.println();

Serial.println(F(“DFRobot DFPlayer Mini Demo”));

Serial.println(F(“Initializing DFPlayer … (May take 3~5 seconds)”));

if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3.

Serial.println(F(“Unable to begin:”));

Serial.println(F(“1.Please recheck the connection!”));

Serial.println(F(“2.Please insert the SD card!”));

while(true);

}

Serial.println(F(“DFPlayer Mini online.”));

myDFPlayer.volume(10); //Set volume value. From 0 to 30

myDFPlayer.play(1); //Play the first mp3

}

void loop()

{

static unsigned long timer = millis();

if (millis() – timer > 30000) {

timer = millis();

myDFPlayer.next(); //Play next mp3 every 30 second.

}

if (myDFPlayer.available()) {

printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from

DFPlayer to handle different errors and states.

}

}

void printDetail(uint8_t type, int value){

switch (type) {

case TimeOut:

Serial.println(F(“Time Out!”));

break;

case WrongStack:

Serial.println(F(“Stack Wrong!”));

break;

case DFPlayerCardInserted:

Serial.println(F(“Card Inserted!”));

break;

case DFPlayerCardRemoved:

Serial.println(F(“Card Removed!”));

break;

case DFPlayerCardOnline:

Serial.println(F(“Card Online!”));

break;

case DFPlayerPlayFinished:

Serial.print(F(“Number:”));

Serial.print(value);

Serial.println(F(” Play Finished!”));

break;

case DFPlayerError:

Serial.print(F(“DFPlayerError:”));

switch (value) {

case Busy:

Serial.println(F(“Card not found”));

break;

case Sleeping:

Serial.println(F(“Sleeping”));

break;

case SerialWrongStack:

Serial.println(F(“Get Wrong Stack”));

break;

case CheckSumNotMatch:

Serial.println(F(“Check Sum Not Match”));

break;

case FileIndexOut:

Serial.println(F(“File Index Out of Bound”));

break;

case FileMismatch:

Serial.println(F(“Cannot Find File”));

break;

case Advertise:

Serial.println(F(“In Advertise”));

break;

default:

break;

}

break;

default:

break;

}

}

5、测试结果

按照接线方法接好线,烧录好代码,上电,利用代码控制 MP3 模块,过 3 秒钟的左右,能听到喇叭里面发出声音,并以 30 秒的速度切换下一首 MP3.再将 RX TX 接线拔掉,利用按键测试。上电时,能听到声音,按 S1 是上一首,长按 S1 是减小音量。按S2 是下一首,长按 S2 是增加音量。按 S3 第五首,长按 S3 是循环第五首。按 S4 第一首,长按循环第一首。

6、相关资料链接

https://pan.baidu.com/s/1bqU9Gs-fqPP4iIAUy6TvnQ

提取码:o1mh