Barn Piano leksak (7 / 13 steg)
Tack Ype Brada för användbart kommando avkodning http://forum.banggood.com/forum-topic-59997.html
/*
DF Player mini kommandot upptäckten
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Programmet är laga att upptäcka alla möjligheter till kommandot
struktur på DFPlayer mini. Det behövs inga speciella bibliotek.
Programmet är mycket lätt att förstå och kan ligga till grund för din egen mp3-spelare skiss.
Obs: Kommandon är inte alltid korrekta beskrivs i handboken. Jag försökte fixa det, men
Det finns fortfarande en något att göra. Kommandon recoverd hittills är listade nedan.
Användning av skiss: ange tre (åtskilda) decimaltal i följetong Monitor utan slut av tecknet.
Första nummer: kommando
Andra nummer: första (övre Byte) parametern
Tredje nummer: andra (låg Byte) parametern
T.ex.: 3,0,1 kommer att spela det första spåret på TF kortet
Mycket viktigt: Använd serial 1K motstånd eller en nivå shifter mellan modul RX och TX
och Arduino att dämpa buller
Anslut klanggeneratorns styrelsen RX att Arduino stift 11 (via 1K motstånd)
Anslut klanggeneratorns styrelsen TX till Arduino stift 10 (via 1K motstånd)
Anslut klanggeneratorns styrelsen Vcc till Arduino Vin när drivs via USB (helst 3.0)
annars Använd separata 5V strömförsörjning
Anslut klanggeneratorns styrelsen GND till Arduino GND
General DF Player mini kommandostruktur (endast byte 3, 5 och 6 ska anges på den seriella bildskärmen):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bytevärdet funktion
==== ================ ====
(0) start Byte 0x7E
(1) version Info 0xFF (vet inte varför det kallas Versionsinfo)
(2) antal byte 0x06 (alltid 6 bytes)
(3) kommandot 0x__
(4) kommandot feedback 0x__ om aktiverat Returnerar information med kommandot 0x41 [0x01: info, 0x00: ingen info]
(5) parametern 1 [DH] 0x__
(6) parameter 2 [DL] 0x__
(7) kontrollsumman hög 0x__ se förklaring nedan. Beräknas i funktion: execute_CMD
(8) kontrollsumman låg 0x__ se förklaring nedan. Beräknas i funktion: execute_CMD
(9) end-kommandot 0xEF
Checksumma beräkning.
~~~~~~~~~~~~~~~~~~~~
Kontrollsumma =-Sum(byte(1..6)) (2 byte, varsel minus-tecken!)
Kommandon utan returnerade parametrar (* = bekräftat kommando? = okänt, inte klart eller inte valideras)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMD CMD
HEX Dec funktion beskrivning Parameters(2 x 8 bit)
==== === =================================== ========================================================================
0x01 1 nästa * [DH] = X, [DL] = X nästa fil i aktuell mapp. Loopar när den sista filen spelas
0x02 2 föregående * [DH] = X, [DL] = X tidigare filen i den aktuella mappen. Loopar när den sista filen spelas
0x03 3 Ange track(NUM) * [DH]=highByte(NUM), [DL]=lowByte(NUM)
1 ~ 2999 spela order är order där siffrorna lagras.
Filnamn och mappnamn är godtyckliga, men när namnet börjar med
ett ökande antal och i en mapp, filer spelas upp i
att beställa och med rätt spårnumret.
t.ex. 0001-Joe Jackson.mp3... 0348-lets dance.mp3)
0x04 4 öka volym * [DH] = X, [DL] = X öka volymen av 1
0x05 5 minska volymen * [DH] = X, [DL] = X minska volymen av 1
0x06 6 ange volym * [DH] = X, [DL] = volymen (0-0x30) standard = 0x30
0x07 7 ange Equalizer * [DH] = X, [DL] = EQ(0/1/2/3/4/5) [Normal/Pop/Rock/Jazz/Classic/Base]
0x08 8 ange repeat(NUM) * [DH]=highByte(NUM), [DL]=lowByte(NUM). Upprepa det angivna spårnumret
0x09 9 ange uppspelningskällor (datablad)? [DH] = X, [DL] = (0/1/2/3/4) okänt. Verkar vara overrided av automatisk identifiering
(Datablad: U/TF/AUX/sömn/FLASH)
0x0A 10 in i standby-låg effektförlust * [DH] = X, [DL] = X fungerar, men inget kommando hittade ändå till slut standby
(Infoga TF-kort igen kommer att avslutas standby-läge)
0x0B 11 normalt arbetande (datablad)? Okänd. Ingen felkod, men ingen funktion hittade
0x0C 12 reset modul * [DH] = X, [DL] = X återställer alla (spår = 0x01, volym = 0x30)
Returnerar 0x3F initieringen parametern (0x02 för TF-kort)
"Klappa" ljud efter excecuting kommando (ingen lösning hittade)
0x0D 13 spela * [DH] = X, [DL] = X spela aktuella markerade spår
0x0E 14 paus * [DH] = X, [DL] = X paus spår
0x0F 15 Ange mappen och filen till uppspelning * [DH] = mapp, [DL] = fil
Viktigt: Måste namnges 01 ~ 99, filer måste namnges 001 ~ 255
0x10 16 volym justera set (datablad)? Okänd. Ingen felkod. Ändrar inte volymen vinna.
0x11 17 Loop spela * [DH] = X, [DL] = (0x01:play, 0x00:stop spela)
Loop spela spår. Börja vid spår 1.
0x12 18 spela mp3 fil [NUM] i mp3 mapp * [DH]=highByte(NUM), [DL]=lowByte(NUM)
Spela mp3-fil i mappen som heter mp3 i TF-kortet. Filformatet exakta
4-siffrigt nummer (0001 ~ 2999) e.g. 0235.mp3
0x13 19 okänd? Okänd: Returnerar felkoden 0x07
0x14 20 okänd? Okänd: Returnerar felkoden 0x06
0x15 21 okänd? Okänd: Returnerar ingen felkod, men ingen funktion hittade
0x16 22 stopp * [DH] = X, [DL] = X, sluta spela aktuellt spår
0x17 23 Loop mapp 01 * [DH] = x, [DL] = 1 ~ 255, loopar alla spår i mapp med namnet "01"
0x18 24 Random play * [DH] = X, [DL] = X Random alla spår, alltid börjar på spår 1
0x19 25 single loop * [DH] = 0, [DL] = 0 loopar det spår som spelas
0x1a 26 paus * [DH] = X, [DL] = (0x01:pause, 0x00:stop paus)
Kommandon med returnerade parametrar (* = bekräftat kommando? = okänt, inte klart eller inte valideras)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMD CMD
HEX Dec funktion beskrivning Parameters(2 x 8 bit)
==== === =================================== ===========================================================================
0x3A 58 medium införas * [DH] = 0, [DL] = (1:U-disk, 2:TF-kort)
0x3B 59 medium utkastade * [DH] = 0, [DL] = (1:U-disk, 2:TF-kort)
0x3C 60 färdiga spår på U-disk * [DH]=highByte(NUM), [DL]=lowByte(NUM)
Inte validerats. Returer spårnummer när låten är klar på U-Disk
0x3D 61 färdiga spår på TF-kort * [DH]=highByte(NUM), [DL]=lowByte(NUM)
Returer spårnummer när låten är klar på TF
0x3E 62 färdiga spår på Flash * [DH]=highByte(NUM), [DL]=lowByte(NUM)
Inte validerats. Returer spårnummer när låten är klar på Flash
0x3F 63 initieringsparametrar * [DH] = 0, [DL] = 0 ~ 0x0F. Returneras koden när återställa (0x12) används.
(varje bit representerar en enhet av låg-fyra bitar)
Se datablad. 0x02 är TF-kort. Fel 0x01 när ingen mediet sätts.
0x40 64 fel? [DH] = 0, [DL] = 0 ~ 7 felkod (återvände koder inte ännu analyseras)
0x41 65 svar? [DH] = 0, [DL] = 0 ~? Returkoden när kommandot feedback är hög
0x00 inget fel (andra returneras koden inte känd)
0x42 66 aktuell status * [DH] = enhetsnumret [DL] = 0 ingen lek, 1 spela
0x43 67 den aktuella volymen * [DH] = 0, [DL] = volymen (0-30)
0x44 68 nuvarande EQ * [DH] = 0, [DL] = EQ(0/1/2/3/4/5) [Normal/Pop/Rock/Jazz/Classic/Base]
0x45 69 aktuellt uppspelningsläge för * [DH] = 0, [DL] = (0x00: ingen CMD 0x08 används, 0x02: CMD 0x08 används, inte nyttigt)
0x46 70 aktuell programversion * [DH] = 0, [DL] = programvaruversion. (Min version är 5)
0x47 71 det totala antalet U-disk filer * [DH]=highByte(NUM), [DL]=lowByte(NUM). Inte giltighet
0x48 72 totalt antal TF-kort filer * [DH]=highByte(NUM), [DL]=lowByte(NUM)
0x49 73 det totala antalet flash-filer * [DH]=highByte(NUM), [DL]=lowByte(NUM). Inte giltighet
0x4A 74 keep on (datablad)? Okänd. Ingen returnerade parameter
0x4B 75 nuvarande spår av U-Disk * [DH]=highByte(NUM), [DL]=lowByte(NUM), nuvarande spår på alla medier
0x4C 76 nuvarande spår av TF kort * [DH]=highByte(NUM), [DL]=lowByte(NUM), nuvarande spår på alla medier
0X4D 77 nuvarande spår av Flash * [DH]=highByte(NUM), [DL]=lowByte(NUM), nuvarande spår på alla medier
0x4E 78 mapp "01" [DH] = x, [DL] = 1 * [DH] = 0, [DL]=(NUM) ändra till första spår i mappen "01"
Returnerar antalet filer i mappen "01"
0x4F 79 totalt antal mappar * [DH] = 0, [DL]=(NUM), totala antalet mappar, inklusive rotkatalogen
Ytterligare information finns på DFRobot webbplats, men är inte mycket tillförlitliga
Ytterligare information: http://www.dfrobot.com/index.php?route=product/product & product_id = 1121
YP Brada 2015-04-06
*/
Kolla foto för fil-träd