DFPlayer Mini资料 随手记
簡(jiǎn)介
DFPlayer Mini是一款小巧且價(jià)格低廉的MP3模塊,可以直接接駁揚(yáng)聲器。模塊配合供電電池、揚(yáng)聲器、按鍵可以單獨(dú)使用,也可以通過(guò)串口控制,作為Arduino UNO或者是任何有串口的單片機(jī)的一個(gè)模塊。模塊本身完美的集成了MP3、WAV、WMA的硬解碼。同時(shí)軟件支持TF卡驅(qū)動(dòng),支持FAT16、FAT32文件系統(tǒng)。通過(guò)簡(jiǎn)單的串口指令即可完成播放指定的音樂(lè),以及如何播放音樂(lè)等功能,無(wú)需繁瑣的底層操作,使用方便,穩(wěn)定可靠。
產(chǎn)品參數(shù)
*支持采樣率(KHz):8/11.025/12/16/22.05/24/32/44.1/48
*24位DAC輸出,動(dòng)態(tài)范圍支持:90dB,信噪比支持:85dB
*完全支持FAT16、FAT32文件系統(tǒng),最大支持32G的TF卡,支持32G的U盤(pán)、64M字節(jié)的NORFLASH
*多種控制模式可選。IO控制模式、串口模式、AD按鍵控制模式
*廣播語(yǔ)插播功能,可以暫停正在播放的背景音樂(lè)。廣告播放完畢回到背景音繼續(xù)播放
*音頻數(shù)據(jù)按文件夾排序,最多支持100個(gè)文件夾,每隔文件夾可以分配255首曲目
*30級(jí)音量可調(diào),6級(jí)EQ可調(diào)
引腳說(shuō)明
{| style=“width:100%”
! style=“width: 40%;” |
! style=“width: 60%;” |
|-style=“vertical-align:top;”
| style=“padding: 5px;”|
[[image:miniplayer_pin_map.png|400px|center|DFPlayer_Mini_Pin]]
| style=“padding: 10px;”|
{|style="width:100%; height:600px; "
|-style="background-color:#78CDF8; height:40px; " align=“center”
|’’‘引腳號(hào)’’’||’’‘引腳名稱’’’||’’‘功能描述’’’||’’‘備注’’’
|-
| 1 || VCC || 模塊電源輸入 || 3.3V—5V,建議5V,不要超過(guò)5.2V
|- style="background-color:#E2F1F9; "
| 2 || RX || UART串行數(shù)據(jù)輸入 ||
|-
| 3 || TX ||UART串行數(shù)據(jù)輸出 ||
|- style=“background-color:#E2F1F9;”
| 4 || DAC_R || 音頻輸出右聲道 || 驅(qū)動(dòng)耳機(jī)、功放
|-
| 5 || DAC_L || 音頻輸出左聲道 || 驅(qū)動(dòng)耳機(jī)、功放
|- style=“background-color:#E2F1F9;”
| 6 || SPK2 || 接小喇叭 || 驅(qū)動(dòng)小于3W喇叭
|-
| 7 || GND || 地 || 電源地
|- style="background-color:#E2F1F9; "
| 8 || SPK1 || 接小喇叭 || 驅(qū)動(dòng)小于3W喇叭
|-
| 9 || IO1 || 觸發(fā)口 || 默認(rèn)上一曲(長(zhǎng)按音量減);此引腳短接到地可使歌曲循環(huán)播放
|- style=“background-color:#E2F1F9;”
| 10 || GND || 地 || 電源地
|-
| 11 || IO2 || 觸發(fā)口 || 默認(rèn)下一曲(長(zhǎng)按音量加)
|- style=“background-color:#E2F1F9;”
| 12 || ADKEY1|| AD口1 || 當(dāng)觸發(fā)時(shí)是第一首(長(zhǎng)按循環(huán)第一首)
|-
| 13 || ADKEY2 || AD口2 || 當(dāng)觸發(fā)時(shí)是第五首(長(zhǎng)按循環(huán)第五首)
|- style="background-color:#E2F1F9; "
| 14 || USB+ || USB+ DP || 接U盤(pán)或插電腦的USB口
|-
| 15 ||USB- || USB- DM || 接U盤(pán)或插電腦的USB口
|- style=“background-color:#E2F1F9;”
| 16 || Busy || 播放狀態(tài) || 有音頻,輸出低;無(wú)音頻,輸出高
|}
|}
使用教程
=連線圖=
[[image:playerMini_CN.png|600px|center|DFPlayer_Mini]]
=樣例代碼=
庫(kù)文件下載鏈接:[https://github.com/DFRobot/DFRobotDFPlayerMini/archive/1.0.3.zip DFRobotDFPlayerMini]
[http://www.dfrobot.com.cn/community/forum.php?mod=viewthread&tid=1854&page=1&extra=#pid6805 庫(kù)安裝]
“GetStarted” 庫(kù)樣例, 每3秒切換下一首
/*************************************************** DFPlayer - A Mini MP3 Player For Arduino“FullFunction” 庫(kù)樣例, 包含了所有的功能, 詳見(jiàn)注釋以及文檔
/***************************************************DFPlayer - A Mini MP3 Player For Arduino{|style=“background-color:#78CDF8;color:#000000;”
|’’‘注意’’’:文件夾命名需要是mp3,放置在SD卡根目錄下,而mp3文件命名需要是4位數(shù)字,例如"0001.mp3",放置在mp3文件夾下。
如需中英文命名,可以添加在數(shù)字后,例如"0001hello.mp3"或者"0001后來(lái).mp3"。
|}
====Mind+(基于Scratch3.0)圖形化編程代碼==== 在相同的接線情況下,使用Mind+軟件進(jìn)行圖形化編程, [[Mind+基礎(chǔ)wiki教程-軟件下載安裝|前往-Mind+下載和安裝]]
首先在Mind+中選擇MP3功能模塊,“擴(kuò)展”-“執(zhí)行器”-“MP3模塊”
[[image:Mind+選擇MP3功能模塊.png|600px|center|DFPlayer_Mini]]
主要功能模塊如下:
[[image:MP3.png|530px|center|DFPlayer_Mini]]
1.設(shè)置“UART串行數(shù)據(jù)輸入”所在的引腳為圖形化編程的引腳口,在接線圖中是引腳11,所以圖形化編程設(shè)置“11”。
2.設(shè)置MP3模塊的播放模式:“停止”“播放”“循環(huán)播放”“隨機(jī)播放”“暫停”“上一首”“下一首”“音量加”“音量減”
[[image:Mind+mp3使用1.png|354px|center|DFPlayer_Mini]]
3.設(shè)置MP3模塊播放特定歌曲,選擇正確引腳之后,再選擇第幾首歌。
[[image:Mind+MP3使用21.png|354px|center|DFPlayer_Mini]]
4.如果音響中經(jīng)常有“突突”電流聲,一般是因?yàn)椤癠ART串行數(shù)據(jù)輸入”信號(hào)的干擾,那么在設(shè)置MP3播放模式的指令后加上“設(shè)置引腳xx為低電平”,
[[image:Mind+MP3使用22.png|354px|center|DFPlayer_Mini]]
資料說(shuō)明
=串口模式=
模塊支持異步串口通訊模式,通過(guò)串口接受控制命令
*’’‘串口指令格式’’’
{|border=“1” cellspacing=“0” align=“center” cellpanding=“5” width=“650px”
|-
|style=“background-color:#78CDF8” align=“center”|’’‘指令名稱’’’
|style=“background-color:#78CDF8” align=“center”|’’‘對(duì)應(yīng)功能’’’
|style=“background-color:#78CDF8” align=“center”|’’‘功能描述’’’
|-
|align=“center”|S∣align="center"∣起始位0x7E∣align="center"∣每條命令反饋均以S |align="center"|起始位0x7E |align="center"|每條命令反饋均以S∣align="center"∣起始位0x7E∣align="center"∣每條命令反饋均以開(kāi)頭,即0x7E
|-
|align=“center”|VER
|align=“center”|版本
|align=“center”|版本信息[目前默認(rèn)為0xFF]
|-
|align=“center”|Len
|align=“center”|len后字節(jié)個(gè)數(shù)
|align=“center”|校驗(yàn)和不計(jì)算在內(nèi)
|-
|align=“center”|CMD
|align=“center”|命令字
|align=“center”|表示具體的操作,比如播放/暫停等等
|-
|align=“center”|Feedback
|align=“center”|命令反饋
|align=“center”|是否需要反饋信息,1反饋,0不反饋
|-
|align=“center”|para1
|align=“center”|參數(shù)1
|align=“center”|查詢的數(shù)據(jù)高字節(jié)(比如歌曲序號(hào))
|-
|align=“center”|para2
|align=“center”|參數(shù)2
|align=“center”|查詢的數(shù)據(jù)低字節(jié)
|-
|align=“center”|checksum
|align=“center”|校驗(yàn)和[占兩個(gè)字節(jié)]
|align=“center”|累加和校驗(yàn)[不計(jì)起始位$]
|-
|align=“center”|$0
|align=“center”|結(jié)束位
|align=“center”|結(jié)束位0xEF
|-
|}
舉個(gè)例子,如果我們制定播放NOR FLASH,就需要發(fā)送:7E FF 06 09 00 00 04 FF DD EF,數(shù)據(jù)長(zhǎng)度為6,這6個(gè)字節(jié)分別是[FF 06 09 00 00 04]。
不計(jì)算起始、結(jié)束、和校驗(yàn)。再然后對(duì)得到的結(jié)果進(jìn)行取反。
*’’‘串口控制指令’’’
{|border=“1” cellspacing=“0” align=“center” cellpanding=“5” width=“650px”
|-
|style=“background-color:#78CDF8” align=“center”|’’‘CMD命令(指令)’’’
|style=“background-color:#78CDF8” align=“center”|’’‘對(duì)應(yīng)的功能’’’
|style=“background-color:#78CDF8” align=“center”|’’‘參數(shù)(16位)’’’
|-
|align=“center”|0x01
|align=“center”|下一曲
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| } |
*’’‘串口查詢指令’’’
{|border=“1” cellspacing=“0” align=“center” cellpanding=“5” width=“650px”
|-
|style=“background-color:#78CDF8” align=“center”|’’‘CMD命令詳解(指令)’’’
|style=“background-color:#78CDF8” align=“center”|’’‘對(duì)應(yīng)的功能’’’
|style=“background-color:#78CDF8” align=“center”|’’‘參數(shù)(16位)’’’
|-
|align=“center”|0x3C
|align=“center”|STAY
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| - |
| align=“center” |
| align=“center” |
| align=“center” |
| } |
*’’‘串口使用過(guò)程’’’
串口連接線路圖
[[image:DFP0299usbserial1.png|800px|center|DFPlayer_Mini]]
1.打開(kāi)sscom,連接USB serial。
2.在串口發(fā)送指令就能對(duì)mini進(jìn)行控制使用了。
[[image:DFP0299usbserial2.png|800px|center|DFPlayer_Mini]]
=AD按鍵模式=
模塊還支持AD按鍵控制方式,取代了傳統(tǒng)了矩陣鍵盤(pán)的接法,這樣做的好處是充分利用了MCU越來(lái)越強(qiáng)大的AD功能。設(shè)計(jì)簡(jiǎn)約而不簡(jiǎn)單,我們模塊默認(rèn)配置2個(gè)AD口,20個(gè)按鍵的阻值分配。
*按鍵使用示意原理圖
[[image:ankey.png|800px|center|DFPlayer_Mini]]
=IO模式=
本模塊也支持簡(jiǎn)單的IO模式
[[image:speaker_key.png|650px|center|DFPlayer_Mini]]
PS:短按:低電平時(shí)間約為200ms
疑難解答
{|style=“width:100%;background-color:#E1FDDF;color:#009000;”
|style=“padding: 5px;”|
‘’‘問(wèn) :’’‘Arduino控制DFPlayer mini時(shí),喇叭有雜音,如何處理?
|}
:’’‘答:’’‘在TX,RX與MP3模塊的RX,TX之間連一個(gè)1k電阻。因?yàn)镈FPlayer Mini模塊工作電壓應(yīng)該是3.3V,而主控板傳入電壓為5V,因此需要1K左右電阻分壓。
:’’‘答:’’’ 如果效果不好,可以在mp3播放的代碼后面增加一條語(yǔ)句,將RX引腳置為低電平。
{|style=“width:100%;background-color:#E1FDDF;color:#009000;”
|style=“padding: 5px;”|
‘’‘問(wèn) :’’‘為什么 play(1) 播放的不是 0001.mp3, 而是其他的的音樂(lè)? 為什么播放的順序不是按照文件名播放?
|}
:’’‘答:’’‘play(1)是播放TF卡中的第一首歌, ‘’‘播放順序是由mp3放入TF卡的順序決定的’’’, 而不是按照文件名排序播放的, 如果需要按照文件名播放, 可以參考下面的playMp3Folder(1)
{|style=“width:100%;background-color:#E1FDDF;color:#009000;”
|style=“padding: 5px;”|
‘’‘問(wèn) :’’‘是否可以按照文件名播放?
|}
:’’‘答:’’‘可以使用函數(shù)’’‘playMp3Folder (1);’’’ 播放文件的格式為"0001***.mp3(或支持其他格式)". 您可能需要注意這些:
(1). 該音頻文件的名稱應(yīng)該命名一個(gè)四位數(shù)字開(kāi)始,如:
*0001.mp3
*0002Chasing The Sun.mp3
*0003.mp3
*0004Try.mp3
*0010FourFiveSeconds.mp3
[[image:MP3-1.png|450px|center]]
(2).該音頻文件應(yīng)該放在’’’“MP3”‘它坐落在TF卡的’’‘根目錄’’’'文件夾;
[[image:MP3-2.png|450px|center]]
{|style=“width:100%;background-color:#E1FDDF;color:#009000;”
|style=“padding: 5px;”|
‘’‘問(wèn) :’’‘想用下插播廣告的功能,請(qǐng)問(wèn)有樣例嗎?
|}
:’’‘答:’’'推薦閱讀【英文】——[http://www.dfrobot.com/forum/viewtopic.php?f=2&t=1524 如何實(shí)現(xiàn)插播廣告的功能?]
{|style=“background-color:#78CDF8;color:#000000;”
|style=“padding: 5px;”|
更多問(wèn)題及有趣的應(yīng)用,可以 [http://www.dfrobot.com.cn/community/forum.php ‘’‘訪問(wèn)論壇’’’] 進(jìn)行查閱或發(fā)帖!
|}
更多
*[http://www.dfrobot.com.cn/images/upload/File/201811051127329r3tdn.pdf 開(kāi)發(fā)文檔]
*推薦閱讀:[http://www.dfrobot.com.cn/community/forum.php?mod=viewthread&tid=11416 Arduino - 測(cè)試 DFPlayer Mini MP3 播放模組]
:[[image:shopping_car.png|link=http://www.dfrobot.com.cn/index.php?route=common/home]] [http://www.dfrobot.com.cn/goods-891.html DFRobot商城購(gòu)買(mǎi)鏈接]
總結(jié)
以上是生活随笔為你收集整理的DFPlayer Mini资料 随手记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: HTML基础之label标签
- 下一篇: Remix 以太坊Solidity ID