Keyes YX5200-24SS MP3模块 套件#

1.产品描述#
在生活中,我们经常利用MP3听音乐。那我们能不能用电路板自己做一个MP3呢?能的,为此我们特别提供这个MP3模块套件。套件主要包含1个keyes YX5200-24SS MP3模块、1个直径4CM 8欧 0.5瓦 小喇叭和1根长为1米的Micro USB线。
其中keyes YX5200-24SS MP3模块是一款作为学习用途的音乐模块。它的核心是YX5200-24SS语音芯片,完美集成了MP3、WAV、WMA的音乐格式,支持TF卡驱动,它具有使用方便,稳定可靠的特点。模块主要功能主要有以下几点:
A.自带TF卡卡槽,我们可以直接读取和播放卡中音乐。
B.自带1个串口通信接口(UART),我们可以通过串口通信,控制音乐播放。
C.自带micro USB接口(USB1),读取TF卡内容以及下载音乐。
D.自带耳机接口(P1),方便接入耳机听音乐。
E.集成音频放大芯片和自带喇叭接口(S-OUT),可以直接外接喇叭播放。音频放大倍数为8倍。接入喇叭的功率要够大,上电播放初始声音默认为最大,播放之前请先调小声音,喇叭电阻为8欧时,最大输出功率为1.2W。
F.外置了六个常用按键,方便控制和验证指令。
使用时,我们需要自己购买一张TF卡,然后安装在keyes YX5200-24SS MP3模块上。然后利用USB线连接在电脑上,利用模块上按键选择到U盘模式,上传对应音乐。上传好音乐后,通过按下模块上其他按键播放音乐。播放音乐时,我们可以选择利用我们自带喇叭播放,也可以在模块上耳机接口接上自带耳机播放。
2.规格参数#
keyes YX5200-24SS MP3模块参数
工作电压:DC 5V
工作电流:最大1A
最大功耗:5W
工作温度:10~40℃
音频放大倍数:8倍
支持TF卡:最大32G
尺寸:33mm × 77mm × 9mm
重量:11.2g
3.按键功能说明#
按键 |
短按 |
长按 |
备注 |
|---|---|---|---|
WORK_MODE |
播放模式 |
全部循环 |
|
PRE/- |
上一曲 |
音量减 |
|
NEXT/+ |
下一曲 |
音量加 |
|
DEVICE_SWITCH |
播放设备切换 |
U/TF/SPI/睡眠 |
|
PLAY_MODE |
工作模式 |
切换打断/不可打断 |
|
PLAY/PAUSE |
播放/暂停 |
4.控制指令合集#
控制指令 |
功能 |
发送的指令 |
备注 |
|---|---|---|---|
[下一首] |
7E FF 06 01 00 00 00 FE FA EF |
||
[上一首] |
7E FF 06 02 00 00 00 FE F9 EF |
||
[指定曲目] |
7E FF 06 03 00 00 01 FE F7 EF |
指定第一首播放 |
|
7E FF 06 03 00 00 02 FE F6 EF |
指定第二首 |
||
7E FF 06 03 00 00 0A FE EE EF |
指定第10首 |
||
音量加 |
7E FF 06 04 00 00 00 FE F7 EF |
||
音量减 |
7E FF 06 05 00 00 00 FE F6 EF |
||
[指定音量] |
7E FF 06 06 00 00 1E FE D7 EF |
指定音量为30级 |
|
[指定 EQ] |
7E FF 06 07 00 00 01 FE F3 EF |
保留 |
|
[循环播放曲目] |
7E FF 06 08 00 00 01 FE F2 EF |
循环播放第一首 |
|
7E FF 06 08 00 00 02 FE F1 EF |
循环播放第二首 |
||
7E FF 06 08 00 00 0A FE E9 EF |
循环播放第十首 |
||
[指定播放设备] |
7E FF 06 09 00 00 01 FE F1 EF |
指定播放 UDISK |
|
7E FF 06 09 00 00 02 FE F0 EF |
指定播放 TF |
||
7E FF 06 09 00 00 03 FE EF EF |
指定播放设备-PC(下载模式) |
||
7E FF 06 09 00 00 04 FE EE EF |
指定播放 FLASH |
||
7E FF 06 09 00 00 05 FE ED EF |
指定播放设备-SLEEP |
||
[进入睡眠模式] |
7E FF 06 0A 00 00 00 FE F1 EF |
||
[唤醒睡眠] |
7E FF 06 0B 00 00 00 FE F0 EF |
||
[模块复位] |
7E FF 06 0C 00 00 00 FE EF EF |
||
[播放] |
7E FF 06 0D 00 00 00 FE EE EF |
||
[暂停] |
7E FF 06 0E 00 00 00 FE ED EF |
||
[指定文件夹文件名] |
7E FF 06 0F 00 01 01 FE EA EF |
“01"的文件夹, 曲目为"001” |
|
7E FF 06 0F 00 01 02 FE E9 EF |
“01"的文件夹, 曲目为"002” |
||
停止播放 |
7E FF 06 16 00 00 00 FE E5 EF |
停止软件解码 |
|
指定文件夹循环播放 |
7E FF 06 17 00 00 01 FE E3 EF |
指定01文件夹循环播放 |
|
7E FF 06 17 00 00 02 FE E2 EF |
指定02文件夹循环播放 |
||
单曲循环播放 |
7E FF 06 19 00 00 00 FE E2 EF |
单曲循环播放开启 |
|
7E FF 06 19 00 00 01 FE E1 EF |
单曲循环播放关闭 |
||
带音量播放 |
7E FF 06 22 00 1E 01 FE BA EF |
30级音量播放第1曲 |
|
7E FF 06 22 00 0F 01 FE C9 EF |
15级音量播放第1曲 |
||
7E FF 06 22 00 0F 02 FE C8 EF |
15级音量播放第2曲 |
||
设置 DAC |
7E FF 06 1A 00 00 00 FE E1 EF |
开 DAC |
|
7E FF 06 1A 00 00 01 FE E0 EF |
关 DAC[高阻] |
||
组合播放 |
7E FF 09 21 01 02 02 03 01 04 EF |
播放[1,2][2,3][1,4] 括号第一个数字为文件夹名,后一个数字为歌曲名 |
|
7E FF 15 21 01 02 02 03 01 04 01 03 01 04 01 05 02 08 03 04 03 01 FE 9A EF |
带校验 [1,2][2,3][1,4][1,3][1,4][1,5][1,8][3,4][3,1] |
||
7E FF 15 21 01 02 02 03 01 04 01 03 01 04 01 05 02 08 03 04 03 01 EF |
[1,2][2,3][1,4][1,3][1,4][1,5][1,8][3,4][3,1] |
||
停止播放广告 |
7E FF 06 15 00 00 00 FE E6 EF |
停止当广告,回到背景音乐继续播 |
|
停止播放 |
7E FF 06 16 00 00 00 FE E5 EF |
停止软件解码 |
|
插播广告 |
7E FF 06 13 00 00 01 FE E7 EF |
“ADVERT"文件夹, 曲目为"0001” |
|
7E FF 06 13 00 00 02 FE E6 EF |
“ADVERT"文件夹, 曲目为"0002” |
||
7E FF 06 13 00 00 FF FD E9 EF |
“ADVERT"文件夹, 曲目为"0255” |
||
7E FF 06 13 00 07 CF FE 12 EF |
“ADVERT"文件夹, 曲目为"1999” |
||
7E FF 06 13 00 0B B8 FE 25 EF |
“ADVERT"文件夹, 曲目为"3000” |
||
插播广告-多文件夹 |
7E FF 06 25 00 01 01 FE D4 EF |
“ADVERT1"的文件夹, 曲目为"001” |
|
7E FF 06 25 00 01 02 FE D3 EF |
“ADVERT1"的文件夹, 曲目为"002” |
||
7E FF 06 25 00 02 01 FE D3 EF |
“ADVERT2"的文件夹, 曲目为"001” |
||
随机播放 |
7E FF 06 18 00 00 00 FE E3 EF |
整个设备的随机播放 |
查询指令 |
[查询音量] |
7E FF 06 43 00 00 00 FE B8 EF |
|
|---|---|---|---|
[查询当前 EQ] |
7E FF 06 44 00 00 00 FE B7 EF |
保留此功能 |
|
U 盘总文件数 |
7E FF 06 47 00 00 00 FE B4 EF |
当前设备的总文件数 |
|
TF 总文件数 |
7E FF 06 48 00 00 00 FE B3 EF |
||
FLASH 总文件数 |
7E FF 06 49 00 00 00 FE B2 EF |
||
U 盘当前曲目 |
7E FF 06 4B 00 00 00 FE B0 EF |
当前播放的曲目 |
|
TF 当前曲目 |
7E FF 06 4C 00 00 00 FE AF EF |
||
FLASH 当前曲目 |
7E FF 06 4D 00 00 00 FE AE EF |
||
指定文件夹曲目总数查询 |
7E FF 06 4E 00 00 01 FE AC EF |
||
查询当前设备总文件夹数 |
7E FF 06 4F 00 00 00 FE AC EF |
支持 TF 卡和 U 盘、FLASH |
返回信息 |
U 盘插入 |
7E FF 06 3A 00 00 01 xx xx EF |
|
|---|---|---|---|
TF 插入 |
7E FF 06 3A 00 00 02 xx xx EF |
||
PC 插入 |
7E FF 06 3A 00 00 04 xx xx EF |
||
U 盘拔出 |
7E FF 06 3B 00 00 01 xx xx EF |
||
TF 拔出 |
7E FF 06 3B 00 00 02 xx xx EF |
||
PC 拔出 |
7E FF 06 3B 00 00 04 xx xx EF |
||
U 盘播放完第1曲 |
7E FF 06 3C 00 00 01 xx xx EF |
U 盘播放第1曲完毕 |
|
U 盘播放完第2曲 |
7E FF 06 3C 00 00 02 xx xx EF |
U 盘播放第2曲完毕 |
|
TF 卡播放完第1曲 |
7E FF 06 3D 00 00 01 xx xx EF |
TF 卡播放第1曲完毕 |
|
TF 卡播放完第2曲 |
7E FF 06 3D 00 00 02 xx xx EF |
TF 卡播放第2曲完毕 |
|
FLASH 播放完第1曲 |
7E FF 06 3E 00 01 01 xx xx EF |
FOLDER1的第1曲播放完 |
|
FLASH 播放完第2曲 |
7E FF 06 3E 00 02 02 xx xx EF |
FOLDER2的第2曲播放完 |
|
U 盘 – 在线 |
7E FF 06 3F 00 00 01 xx xx EF |
各设备之间是或的关系 |
|
TF – 在线 |
7E FF 06 3F 00 00 02 xx xx EF |
||
PC – 在线 |
7E FF 06 3F 00 00 04 xx xx EF |
||
FLASH – 在线 |
7E FF 06 3F 00 00 08 xx xx EF |
||
U 盘、TF – 在线 |
7E FF 06 3F 00 00 03 xx xx EF |
||
TF 卡和 FLASH 在线 |
7E FF 06 3F 00 00 0A xx xx EF |
||
TF和PC在线 |
7E FF 06 3F 00 00 06 FE B6 EF |
||
U 盘、 TF 卡、 PC、 FLASH 均在线 |
7E FF 06 3F 00 00 1F xx xx EF |
||
U 盘播放完第1曲 |
7E FF 06 3C 00 00 01 xx xx EF |
U 盘播放第1曲完毕 |
|
U 盘播放完第2曲 |
7E FF 06 3C 00 00 02 xx xx EF |
U 盘播放第2曲完毕 |
|
TF 卡播放完第1曲 |
7E FF 06 3D 00 00 01 xx xx EF |
TF 卡播放第1曲完毕 |
|
TF 卡播放完第2曲 |
7E FF 06 3D 00 00 02 xx xx EF |
TF 卡播放第2曲完毕 |
|
FLASH 播放完第1曲 |
7E FF 06 3E 00 01 01 xx xx EF |
FOLDER1的第1曲播放完 |
|
FLASH 播放完第2曲 |
7E FF 06 3E 00 02 02 xx xx EF |
FOLDER2的第2曲播放完 |
错误信息 |
返回忙 |
7E FF 06 40 00 00 01 xx xx EF |
模块在文件系统初始化时 |
|---|---|---|---|
当前是睡眠模式 |
7E FF 06 40 00 00 02 xx xx EF |
睡眠模式只支持指定设备 |
|
串口接收错误 |
7E FF 06 40 00 00 03 xx xx EF |
串口一帧数据没接收完毕 |
|
校验出错 |
7E FF 06 40 00 00 04 xx xx EF |
和校验出错 |
|
指定文件超范围 |
7E FF 06 40 00 00 05 xx xx EF |
文件的指定超过设定的范围 |
|
未找到指定文件 |
7E FF 06 40 00 00 06 xx xx EF |
指定为文件没有被找到 |
|
插播错误 |
7E FF 06 40 00 00 07 xx xx EF |
插播只允许在播放的状态下进行 |
|
播放 TF 卡错误 |
7E FF 06 40 00 00 08 xx xx EF |
TF 卡读取失败或者 TF 卡被拔出 |
|
FLASH 初始化出错 |
7E FF 06 40 00 00 09 xx xx EF |
FLASH 里面的文件系统信息错误 |
|
进入睡眠 |
7E FF 06 40 00 00 0A xx xx EF |
进入 SLEPP 模式提醒 |
5.原理图#

6.接线示意图(通过主板串口发送指令)#

MP3模块 |
Arduino引脚 |
|---|---|
RX |
11 |
TX |
10 |
V |
5V |
G |
GND |
7.测试代码#
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
mySerial.begin(9600); // 设置串口波特率
Serial.begin(9600);
}
void loop() {
// 播放第一首曲目
mySerial.write(0x7E); // 起始符
mySerial.write(0xFF); // 版本号
mySerial.write(0x06); // 数据长度
mySerial.write(0x03); // 指令:播放指定曲目
mySerial.write((uint8_t)0x00); // 保留
mySerial.write((uint8_t)0x00);
mySerial.write(0x01); // 曲目编号
mySerial.write(0xFE); // 校验位
mySerial.write(0xF7); // 结束符
mySerial.write(0xEF); // 结束符
delay(3000); // 播放3秒
// 暂停播放
mySerial.write(0x7E);
mySerial.write(0xFF);
mySerial.write(0x06);
mySerial.write(0x0E); // 指令:暂停
mySerial.write((uint8_t)0x00); // 反馈
mySerial.write((uint8_t)0x00); //参数
mySerial.write((uint8_t)0x00);
mySerial.write(0xFE);
mySerial.write(0xED);
mySerial.write(0xEF);
delay(2000); // 暂停2秒
// 播放下一首曲目
mySerial.write(0x7E);
mySerial.write(0xFF);
mySerial.write(0x06);
mySerial.write(0x01); // 指令:下一首
mySerial.write((uint8_t)0x00); // 反馈
mySerial.write((uint8_t)0x00);
mySerial.write((uint8_t)0x00);
mySerial.write(0xFE);
mySerial.write(0xFA);
mySerial.write(0xEF);
delay(3000); // 播放3秒
}
结果:喇叭播放完第一,第二首音频后,重新循环第一首,播放音频的时间长短可以通过改变发送指令后的延时改变