ESP32驱动YX5300/6300串口MP3音乐播放模块
-
- YX5300/6300串口MP3音乐播放模块
- ESP32与YX5300接线
- MiroSD卡准备
- [ESP32 Arduino驱动程序](#ESP32 Arduino驱动程序)
- 总结
YX5300/6300串口MP3音乐播放模块

YX5300/6300串口MP3音乐播放模块集成了 MP3、WAV 的硬解码SOC。 同时软件支持工业级别的串口通信协议,以 SPIFLASH、TF 卡(FAT32/16 32GB以内)或者 U 盘作为存储介质, 用户可以灵活的选用其中的任何一种设备作为语音的存储介质。通过简单的串口指令即可完成播放指定的语音,以及如何播放语音等功能,无需繁琐的底层操作,使用方便。
参数:
- 供电电压:3.2-5.2VDC;
- 支持采样频率(KHz)::8/11.025/12/16/22.05/24/32/44.1/48;
- 支持文件格式MP3、WAV;
- 音量调节30级;
- UART串口通信接口,默认波特率9600;
- 支持DAC,可接功放,耳机;
- 模块状态指示灯:

- 通信格式:
通讯标准:9600 bps; 数据位 :1; 校验位 :none; 流控制 :none

例如指定播放 SPIFLASH,就需要发送:7E FF 06 09 00 00 04 FF dd EF
数据长度为 6 ,这 6 个字节分别是[FF 06 09 00 00 04] 。不计算起始、结束、和校验。然后对得到的结果进行累加,再用 0 减,即"0-checksum=校验数据"。
ESP32与YX5300接线

| ESP32开发板 | YX5300 |
|---|---|
| 5V | VCC |
| GND | GND |
| 17 | RX |
| 18 | TX |
MiroSD卡准备
- 把MiroSD卡格式化为FAT32;


- 按照以下文件夹结构,文件夹名称,音乐文件名称要求,存储好要播放的音乐文件;
01/
001xxx.mp3
002xxx.mp3
003xxx.mp3
02/
004xxx.mp3
005xxx.mp3
03/
006xxx.mp3
007xxx.mp3
008xxx.mp3
文件夹的名称必须由两位数字组成,而每首歌曲的名称则必须以三位数字开头。此外,每首歌曲的名称都必须是唯一的。请注意:最多可以创建99个文件夹,每个文件夹中可存放255首歌曲。


ESP32 Arduino驱动程序
Arduino IDE中安装YX5300驱动库,打开示例程序,上传到ESP32开发板中,YX5300插好3.5mm有线耳机或有源音箱3.5mm线。


javascript
#include <YX5300_ESP32.h>
// *make sure the RX on the YX5300 goes to the TX on the ESP32, and vice-versa
#define RX 16
#define TX 17
YX5300_ESP32 mp3; // the mp3 object
void setup() {
// initialize connection with the module
mp3 = YX5300_ESP32(Serial2, RX, TX);
// Shows whats being sent to and from the device, with helpful errors
// Serial.begin(115200);
// mp3.enableDebugging();
// Begins playing from 001.mp3/wav and continuously loops through all the songs
// on the SD card ONLY if there is no track already playing or paused.
mp3.resume();
// other ways to begin playing tracks (see documentation for functionality)
// mp3.playTrack(1);
// mp3.playTrackInLoop(1);
// mp3.playFolderInLoop(1);
// mp3.playTrackInFolder(1, 1);
}
void loop() {
// put your main code here, to run repeatedly:
}
总结
通过以上实验,我们了解到YX5300串口MP3音乐播放模块在ESP32中的简单应用,当然也可以直接与USB转TTL串口模块接好线,串口助手软件发送相关控制指令,对MicroSD卡中的音乐文件进行播放控制。