串口Mp3模块
简介
您是否也会在DIY制作时总感觉缺点什么?没有生命力,没有活力?作品很枯燥不吸引人?无名科技新推MP3语音模块可以帮你解决以上的烦恼。
无名科技 MP3语音模块内置8 MB存储空间,无需外接SD卡,若一个音效以秒计算,8M的内存可以存储两百多个音效供您选用。存储方式和使用U盘一样简单,可随时更新模块内的音效。使用上非常的简单支持MP3、WAV音频格式,可做指定播放,循环播放,30级音量调节等。 适用于各种需要有音效或者语音的项目,例如:智能小车、气象站、智能家居、车载导航、收费站、安监检测、机器语音导航等等。
技术规格
引脚说明
使用教程
指定播放音效
循环播放音效
修改音量大小
准备
硬件
- 1 x Arduino UNO控制板
- 1 x Mp3模块
- Ph2.0 5P杜邦线
软件
音效文件下载
1、本模块自带音效,如需要新增或者替换音效,我们可以使用micro usb线接到电脑端做更新下载;
2、音效文件更新方式和使用U盘的方式一样;
3、模块支持MP3和MAV格式音频文件;
4、文件要求存储在“文件夹下,一般建议用数字表示。如: 01.mp3,02.mp3,也可以用两个字母或一个汉字命名 。
Mind+使用说明
1、下载及安装软件。下载地址:https://www.mindplus.cc
2、切换到“上传模式”。 详细教程:Mind+基础wiki教程-上传模式编程流程
3、“扩展”中选择“主控板”中的“Arduino Uno”,选择"执行器"中的"串口Mp3模块"。 详细教程:Mind+基础wiki教程-加载扩展库流程
4、进行编程,程序如下图:
5、上传程序,首先将Mp3模块与Uno板连接的TX与RX线拔下,然后选择菜单“连接设备”,“上传到设备”,然后再将TX与RX插回。
结果
播放音效“DO”。
通讯指令
点击详情查看通讯指令
查询播放状态(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
返回:无
说明:关闭播放时间发送
常见问题
Q:为什么没有声音播放?
循环执行播放时,要加一个等待时间,不然会一直在重复循环,会导致重复发出滴的声音。
Q:为什么声音播放几秒钟就停止了?
A:声音播放语句执行完毕后程序继续往后执行,如果如果再次收到声音播放的命令则重新从头播放,因此如果需要完整的播放完歌曲可以在程序中播放前检测上一次是否播放完毕,即查询播放状态(01)。
Q:为什么使用示例程序依然没有声音播放?
A:可以尝试交换一下tx和rx接线,因为串口需要交叉连接,另外注意音频文件要放到ZH文件夹中以数字方式命名。