串口MP3模块
简介
您是否也会在DIY制作时总感觉缺点什么?没有生命力,没有活力?作品很枯燥不吸引人?无名科技新推MP3语音模块可以帮你解决以上的烦恼。
无名科技 MP3语音模块内置8 MB存储空间,无需外接SD卡,若一个音效以秒计算,8M的内存可以存储两百多个音效供您选用。存储方式和使用U盘一样简单,可随时更新模块内的音效。使用上非常的简单支持MP3、WAV音频格式,可做指定播放,循环播放,30级音量调节等。 适用于各种需要有音效或者语音的项目,例如:智能小车、气象站、智能家居、车载导航、收费站、安监检测、机器语音导航等等。
产品参数
- 工作电压:3.3V-5V
- 接口类型:microusb/ph2.0 5p
- 支持MP3 WAV硬件解码
- 支持采样率(KHz):8/11.025/12/16/22.05/24/32/44.1/48
- 支持SPIFLASH模拟成U盘,直接操作U盘一样更新SPIFLASH里的语音
- 支持30级音量调节
引脚说明
序号 | 引脚 | 描述 |
---|---|---|
1 | GND | 电源负极 |
2 | VCC | 电源正极 |
3 | RX | 数字引脚,RX(接收) |
4 | TX | 数字引脚,TX(发送) |
5 | Oneline | 多余引脚,不用接 |
通讯指令
通讯指令
查询播放状态(01)
指令:AA 01 00 AB
返回: AA 01 01 播放状态SM
说明:在任何时候都可以查询当前的播放状态,SM表示校验和,即 SM=0xAA+0x01+0x01+播放状态
播放(02)
指令:AA 02 00 AC
返回: 无
说明:在任何时候发此命令都会从头开始播放当前曲目
暂停(03)
指令:AA 03 00 AD
返回:无
停止(04)
指令:AA 04 00 AE
返回:无
上一曲(05)
指令:AA 05 00 AF
返回:无
下一曲(06)
指令:AA 06 00 B0
返回:无
指定曲目(07)
指令:AA 07 02 曲目高 曲目低 SM
返回:无
例如: AA 07 02 00 08 BB 指定播放当前盘符第 8 首,曲目数从 1-65535
指定盘符指定路径播放(08)
指令:AA 08 长度 盘符 路径 SM
返回:无
说明:长度=盘符长度+路径长度=1+路径长度
查询当前在线盘符(09)
指令:AA 09 00 B3
返回: AA 09 01 盘符 SM
说明:在线盘符是按位来区分的:USB:BIT(0) SD:BIT(1) FLASH:BIT(2) 此功能可以知道当前在线盘符,在切换盘符前建议先查询一下在线盘符
查询当前播放盘符(0A)
指令: AA 0A 00 B4
返回: AA 0A 01 盘符 SM
切换到指定盘符(0B)
指令:AA 0B 01 盘符 SM
返回: 无
说明:盘符切换指令,如果当前盘符在线,可以切换到相对应的盘符等待播放,切换 后曲目为第 1 首,建议切 换前先查询一下盘符是否在线。
查询总曲目(0C)
指令:AA 0C 00 B6
返回:AA 0C 02 总曲目高 总曲目低 SM
查询当前曲目(0D)
指令:AA 0D 00 B7
返回:AA 0D 02 曲目高 曲目低 SM
上一文件夹目录(0E)
指令:AA 0E 00 B8
返回:无
说明:切换后会播放文件夹里的第一首
下一文件夹目录(0F)
指令:AA 0F 00 B9
返回:无
说明:切换后会播放文件夹里的第一首
结束播放(10)
指令:AA 10 00 BA
说明:此指令可以提前结束当前操作,会结束当前播放,如果是在插播等则会提前结 束插播返回原来状态
查询文件夹目录首曲目(11)
指令:AA 11 00 BB
返回:AA 11 02 曲目高 曲目低 SM
说明:为当前目录的第一首歌曲的序号
查询文件夹目录总曲目(12)
指令:AA 12 00 BC
返回:AA 12 02 曲目高 曲目低 SM
说明:此曲目不包含子目录里的文件数
音量设置(13):
指令:AA 13 01 VOL SM
返回:无
例如:AA 13 01 14 D2 设置音量为 20 级
音量加(14)
指令:AA 14 00 BE
返回:无
音量减(15)
指令:AA 15 00 BF
返回:无
指定曲目插播(16)
指令:AA 16 03 盘符 曲目高 曲目低 SM
返回:无
例如:AA 16 03 00 00 09 CC 插播 U 盘里的第 9 首
说明:插播结束后返回插播点继续播放
指定路径插播(17)
指令:AA 17 长度 盘符 路径 SM
返回:无
说明:长度=盘符长度+路径长度=1+路径长度
设置循环模式(18)
指令:AA 18 01 循环模式 SM
返回:无
举例:设置为单曲停止 : AA 18 01 03 C6
设置循环次数(19)
指令:AA 19 02 次数高 次数低 SM
返回:无
说明:此指令只在播放模式为 全盘循环、单曲循环、目录循环时有效、顺序播放。
例如:AA 19 02 00 06 CB 循环 6 次
EQ 设置(1A)
指令:AA 1A 01 EQ SM
返回:无
例如:AA 1A 01 02 C7 设置 EQ 为 ROCK
组合播放(1B)
指令:AA 1B 长度 曲目 1 名称高字节,曲目名称 1 低字节..... 曲目 n 名称高字节,曲 目 n 名称低字节 SM
返回:无
例如:AA1B04303130328C,文件名为“ 01”、“ 02”歌曲组合播放
说明:文件名组合会方便很多,比文件序号组更准确,不受拷贝顺序限制。
结束组合播放(1C)
指令:AA 1C 00 C6
返回:无
说明:结束组合播放,返回组合前的播放状态
设置通道(1D)
指令:AA 1D 01 通道 SM
返回:无
查询歌曲短文件名(1E)
指令:AA 1E 00 C8
返回:AA 1E 短文件名长度 短文件名 SM
选曲不播放(1F)
指令:AA 1F 02 曲目高 曲目低 SM
返回:无
复读控制(20)
指令:AA 20 04 起始分 起始秒 结束分 结束秒 SM
返回:无
结束复读(21)
指令:AA 21 00 CB
返回:无
指定时间快退(22)
指令:AA 22 02 时间高 8 位 时间低 8 位 SM
返回:无
说明:单位为秒
指定时间快进(23)
指令:AA 23 02 时间高 8 位 时间低 8 位 SM
返回:无
说明:单位为秒
获取当前曲目总时间(24)
指令:AA 24 00 CE
返回:AA 24 03 时 分 秒 SM
开启播放时间发送(25)
指令:AA 25 00 CF
返回:AA 25 03 时 分 秒 SM
说明:开启播放时间发送,时间更新时会自动返回
关闭播放时间发送(26)
指令:AA 26 00 D0
返回:无
说明:关闭播放时间发送
Arduino示例代码
#include <SoftwareSerial.h>
SoftwareSerial Serial1(10, 11);
unsigned char order[4] = {0xAA,0x06,0x00,0xB0};
void setup() {
//Serial.begin(115200);
Serial1.begin(9600);
volume(0x1E);//音量设置0x00-0x1E
}
void loop() {
play(0x01);//指定播放:0x01-文件0001
// Serial1.write(order,4);//顺序播放
delay(5000);
}
void play(unsigned char Track)
{
unsigned char play[6] = {0xAA,0x07,0x02,0x00,Track,Track+0xB3};//0xB3=0xAA+0x07+0x02+0x00,即最后一位为校验和
Serial1.write(play,6);
}
void volume( unsigned char vol)
{
unsigned char volume[5] = {0xAA,0x13,0x01,vol,vol+0xBE};//0xBE=0xAA+0x13+0x01,即最后一位为校验和
Serial1.write(volume,5);
}
Mind+使用说明
1、下载及安装软件。 下载地址
2、切换到“上传模式”。
3、“扩展”中选择“主控板”中的“Arduino Uno”,选择"执行器"中的"串口Mp3模块"。
4、进行编程,程序如下图:
5、上传程序,首先将Mp3模块与Uno板连接的TX与RX线拔下,然后选择菜单“连接设备”,“上传到设备”,然后再将TX与RX插回。
Mixly使用说明
1、下载及安装软件。
2、主板选择Arduino Uno。
3、右上角设置,点击管理库,选择本地导入扩展库。
4、进行编程如下图。
结果
串口Mp3模块播放声音
疑难解答
更多问题及有趣的应用,请访问论坛 或加入QQ技术交流群:522420541