电脑控制DFPlayer Mini MP3播放音乐
电脑控制Mini MP3播放音乐
- 简介及引脚定义
- 接线图
- 电脑串口通讯协议
- 命令字
- 指令详解
- 1.指定歌曲播放指令
- 2. 指定音量播放指令
- 3.指定文件夹播放
- 4.指定MP3 文件夹中的曲目播放
- 实际接线及测试现象
- 按键控制
- 注意
- 总结
简介及引脚定义
DFPlayer Mini 是一个提供串口的语音模块,完美的集成了MP3、WAV、WMA 的硬解码。同时软件支持TF 卡驱动,支持FAT16、FAT32 文件系统。通过简单的串口指令即可完成播放指定的音乐,以及如何播放音乐等功能,无需繁琐的底层操作,使用方便。


USB口可以接U盘进行播放,也可以接到电脑上作为声卡或者更新TF卡的音乐文件。
接上USB口就是作为声卡了 这个时候是没法串口驱动模块播放音乐的。
接线图
用USB转TTL连接MP3模块,然后USB接到电脑端口上。这里使用的喇叭是4R3W的。

电脑串口通讯协议
通讯波特率:9600 bps
数据位:8
停止位:1
校验位:none
流控制:none

Len:包括版本VER,字节长度Len,命令字CMD,命令反馈,参数1,参数2
校验和:不计算起始、结束、和校验。然后对得到的结果进行取反。
校验这里可以不加,实测大部分指令都是不加检验就可以进行控制的。
命令字


指令详解
这里举例说明了三个指令曲目播放的指令和指定音量的指令,其他的指令在手册中都有说明,这里就不一一说明了,感兴趣的可以留言邮箱获取资料。
三条指令对应的命令字是不同的,对应的歌曲的数量也是不同的,使用的时候要注意下歌曲的数量大小。
1.指定歌曲播放指令
给出的指令是支持指定曲目播放的,歌曲的选择范围为0~2999。(放在TF卡里的曲目需要是连续的才可以识别到第几播放,如果是只放了0001,0005这样是没法播放第五首歌的,例如:放了4首歌,按0001,0002,0003,0004去标识,可以指定播放1-4首,但是如果没有按0001,0002,0003,0004去标识,播放的曲目就可能是随机的,不是对应的歌曲)
(1)、例如选择第一首歌播放,串口的发送部分7E FF 06 03 00 00 01 FF E6 EF
7E — 起始命令
FF — 版本信息
06 — 数据长度(不包含校验)
03 — 代表命令字节
00 — 是否需要应答[0x01:需要应答,0x00:不需要返回应答]
00 — 曲目的高字节[DH]
01 — 曲目的低字节[DL],这里代表的是第一首歌播放
FF — 校验的高字节(可不加)
E6 — 校验的低字节(可不加)
EF — 结束命令
(2)、对于选曲,如果选择第100 首,首先将100 转化为16 进制,默认为双字节,就为0x0064。DH = 0x00;DL = 0x64;则串口发送指令:7E FF 06 03 00 00 64 EF。选择第1000 首进行播放对应就是DH = 0x03;DL = 0xE8;则串口发送指令:7E FF 06 03 00 03 E8 EF。其他依次类推。(实测大部分语句都是加不加检验都是可以驱动的,如果有遇到无法驱动的可以自行添加上校验去测试就行,本文的指令都是没有加校验位,下面就不在赘述说明了)
2. 指定音量播放指令
(1)系统上电默认的音量为30 级;设定的音量范围为0-30。
(2)例如指定音量为15 级,15转化为16进制为0x000F,DH高8位为0x00,DL低8位为0x0F。串口发送的指令为:7E FF 06 06 00 00 0F EF。
3.指定文件夹播放
(1)指定文件夹播放要求默认文件夹的命名方式为"01","11"这样的方式。因为模块不支持汉字名称的文件夹名称识别。最多支持99 个文件夹的分类,每个文件夹下默认最大支持255 首歌,mp3 音频文件是需要增加前缀的,需要在“不得不爱.mp3”基础上改成“002 不得不爱.mp3”.
(2)例如指定"01"文件夹的100xxx.MP3 文件,串口发送的指令为:7E FF 06 0F 00 01(DH) 64(DL) EF
DH:代表的是文件夹的名字,默认支持99 个文件,即01 – 99 的命名
DL:代表的是曲目,默认最多255 首歌,即0x01 ~ 0xFF
(3)必须同时指定文件夹和文件名,来锁定一个文件。指定文件夹和指定曲目是支持MP3、WAV
(4)下面两个截图说明文件夹和文件名的指定[分左右两个图]

4.指定MP3 文件夹中的曲目播放
(1)在指定文件夹和文件名的基础上,扩展单个文件夹的功能,文件夹的命名必须为“MP3”
(2)最多支持9999 首曲目,但是鉴于文件系统的操作速度,可能会随着文件的增大,曲目切换的速度会相应的减慢。
(3)、指定的文件命名如下:

实际接线及测试现象

注意下板子上的灯,只有在音频文件播放的时候才会常亮,只上电是不会亮的!!!!

返回的指令手册当中没有给出具体的第几首歌是怎么看的,如果盘符里既有MP3音频文件,也有指定文件夹,MP3文件夹等的话,只能是对照盘符里的歌曲去看了,这个实测是没法确定是第几首的,有测出具体排序定义的也可以在评论区讨论!
按键控制
ADKEY1和ADKEY2同时也是多功能按键,可以按照下图对应接好电阻去控制。

IO1引脚短按是下一首,长按是音量减
IO2引脚短按是上一首,长按是音量加

注意

返回的指令表示“返回错误,请求重发”的意思。
如果发送指令过程中遇到这个错误,可能是发送的时候加了回车换行或者指令有误导致的。更正后重发即可。
总结
用USB转TTL就可以轻松的在电脑上操控MP3模块,如果自己有其他的开发需求想要用单片机去驱动MP3模块的话可以参考一下文章: Arduino驱动DFPlayer Mini MP3模块
视频教程可以看以下链接: 串口指令控制 Mini MP3 播放器模块播放音频
有需要手册和串口助手资料和配套驱动模块的可以下方留言邮箱获取哦!!!
