Catalex 串口 MP3 播放模块 Arduino UNO 控制指南
组件与物料
| 组件 | 数量 |
|---|---|
| Arduino UNO | 1 |
| Catalex 串口 MP3 播放模块 | 1 |
| MP3 音频文件 | 1 |
应用与在线服务
- Arduino IDE
项目简介
本教程详细介绍如何使用 Catalex Serial MP3 Player V1.0 模块与 Arduino UNO 配合播放音频。模块通过串口通信,支持 TF 卡存储,可控制播放、暂停、音量、指定曲目等功能。
硬件连接
- 模块 TX → Arduino 引脚 5 (软串口 RX)
- 模块 RX → Arduino 引脚 6 (软串口 TX)
- VCC 接 3.3V 或 5V,GND 共地
命令协议
模块采用 8 字节指令格式:0x7E FF 06 命令 00 数据高 数据低 EF
常用命令定义:
NEXT_SONG (0x01)- 下一曲PREV_SONG (0x02)- 上一曲CMD_PLAY_W_INDEX (0x03)- 指定曲目播放(需数据)VOLUME_UP_ONE (0x04)- 音量+1VOLUME_DOWN_ONE (0x05)- 音量-1CMD_SET_VOLUME (0x06)- 设置音量 0-30 (0x1E)CMD_SEL_DEV (0x09)- 选择存储设备,数据DEV_TF (0x02)CMD_PLAY_WITHVOLUME (0x22)- 指定音量和曲目播放CMD_PLAY (0x0D)- 恢复播放CMD_PAUSE (0x0E)- 暂停播放STOP_PLAY (0x16)- 停止播放
核心发送函数
static int8_t Send_buf[8] = {0};
void sendCommand(int8_t command, int16_t dat) {
delay(20);
Send_buf[0] = 0x7e;
Send_buf[1] = 0xff;
Send_buf[2] = 0x06;
Send_buf[3] = command;
Send_buf[4] = 0x00;
Send_buf[5] = (int8_t)(dat >> 8);
Send_buf[6] = (int8_t)(dat);
Send_buf[7] = 0xef;
for (uint8_t i = 0; i < 8; i++) {
mySerial.write(Send_buf[i]);
}
}
初始化与播放示例
#include <SoftwareSerial.h>
#define ARDUINO_RX 5
#define ARDUINO_TX 6
SoftwareSerial mySerial(ARDUINO_RX, ARDUINO_TX);
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
delay(500);
sendCommand(CMD_SEL_DEV, DEV_TF);
delay(200);
}
void loop() {
sendCommand(CMD_PLAY_WITHVOLUME, 0x0F01); // 音量15,播放第1首
delay(100000);
}
SD 卡文件命名规则
模块按字母顺序索引文件。建议建立文件夹 01, 02,曲目命名为 001xxxx.mp3, 002xxxx.mp3 等,确保播放顺序可控。
原理图
模块供电 3.2-5V,电流约 200mA。

制造工艺
- 放大维护危机呼声:下载《维护危机之歌》蓝调与雷鬼版
- 自动钢琴:融合原声传统与自动化精准
- 自制《鱿鱼游戏》主题互动娃娃——Arduino UNO DIY项目
- DIY 蓝牙控制 Arduino 间谍小车
- FlickMote:基于手势的智能家居红外遥控器
- DIY Arduino TV-B-Gone:万能关机遥控器
- 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- Arduino 项目优化供电方案:从按键开关到电池监测与数据记录
- Arduino UNO 与 DFPlayer Mini 播放音频完整指南
- Arduino 网页控制 MP3 播放器:浏览器实现无线点歌
- Arduino 井字棋游戏:MAX7219 点阵屏 + 纸板外壳 DIY