Merci Ype Brada pour commande utile décodage http://forum.banggood.com/forum-topic-59997.html
/*
Découverte de commande mini Player DF
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Le programme est NEDEM pour découvrir toutes les possibilités de la commande
structure de la mini DFPlayer. Aucune bibliothèque spéciale n’est requise.
Le programme est très facile à comprendre et peuvent servir de base pour vos propres croquis de lecteur mp3.
Remarque : Commandes ne sont pas toujours correctes décrites dans le manuel. J’ai essayé de résoudre ce problème, mais
Il y a toujours quelque chose à faire. Jusqu'à présent, le corrigé de commandes sont répertoriées ci-dessous.
Utilisation de sketch : entrez trois nombres décimaux (séparés) dans le Serial Monitor avec aucun caractère de fin de ligne.
Premier numéro : commande
Deuxième numéro : premier paramètre (octet)
Troisième numéro : deuxième paramètre (Low Byte)
Par exemple: 3,0,1 jouera la première piste sur la carte TF
Très important : résistances utilisation série 1K ou un levier de vitesses niveau entre module RX et TX
et Arduino pour supprimer le bruit
Branchez le module sonore carte RX sur Arduino broche 11 (via une résistance de 1K)
Raccorder le module carte TX à goupille de Arduino 10 (via une résistance de 1K)
Raccorder le module carte Vcc à Arduino Vin lorsqu’il est alimenté via le port USB (préférence 3.0)
utilisation d’autre séparer alimentation 5V
Raccorder le module carte GND à Arduino GND
Structure de commandement mini du général DF joueur (seul octet 3, 5 et 6 à apposer dans le moniteur de la série) :
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Valeur d’octet fonction
==== ================ ====
Start (0) Byte 0x7E
(1) version Info 0xFF (ne sais pas pourquoi on l’appelle Version Info)
(2) le nombre d’octets 0 x 06 (toujours 6 octets)
(3) 0x__ de commande
(4) 0x__ de vos commentaires commande si activée retourne info avec commande 0 x 41 [0 x 01 : info, 0 x 00 : pas d’info]
(5) le paramètre 1 [DH] 0x__
(6) le paramètre 2 [DL] 0x__
(7) explication de somme de contrôle 0x__ haute voir ci-dessous. Est calculé en fonction : execute_CMD
(8) explication de somme de contrôle 0x__ faible voir ci-dessous. Est calculé en fonction : execute_CMD
(9) fin commande 0xEF
Calcul de checksum.
~~~~~~~~~~~~~~~~~~~~
Checksum =-Sum(byte(1..6)) (2 octets, avis signe moins!)
Commandes sans paramètre retourné (* = commande confirmé? = inconnu, pas clair ou non validé)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMD CMD
HEX Dec fonction Description Parameters(2 x 8 bit)
==== === =================================== ========================================================================
0 x 01 1 next * [DH] = X, [DL] = fichier X suivant du dossier actif. Lorsque le dernier fichier lu en boucle
0 x 02 2 Previous * [DH] = X, [DL] = X précédent fichier dans le dossier en cours. Lorsque le dernier fichier lu en boucle
0 x 03 3 précisez track(NUM) * [DH]=highByte(NUM), [DL]=lowByte(NUM)
1 ~ 2999 jouer ordre est dans lequel les nombres sont stockés.
Nom de fichier et NomDossier sont arbitraires, mais quand nommés en commençant par
une augmentation de nombre et dans un seul dossier, les fichiers sont lus
qui commande et avec le bon numéro de plage.
p. ex. 0001-Joe Jackson.mp3... 0348-lets dance.mp3)
0 x 04 4 augmente le volume * [DH] = X, [DL] = X augmenter volume 1
0 x 05 5 baisser le volume * [DH] = X, [DL] = volume X diminue de 1
0 x 06 6 précisez volume * [DH] = X, [DL] = défaut de Volume (0-0 x 30) = 0 x 30
0 x 07 7 spécifiez égaliseur * [DH] = X, [DL] = EQ(0/1/2/3/4/5) [Normal/Pop/Rock/Jazz/classique/Base]
0 x 08 8 spécifier repeat(NUM) * [DH]=highByte(NUM), [DL]=lowByte(NUM). Répétez le numéro spécifié
0 x 09 9 Specify source de lecture (fiche technique) ? [DH] = X, [DL] = inconnu (0/1/2/3/4). Semble être overrided par détection automatique
(Feuille de données: U/TF/AUX/sommeil/FLASH)
0x0A 10 faire passer en mode veille à faible perte de puissance * [DH] = X, [DL] = X fonctionne, mais aucune commande trouvée encore en mode de veille de la fin
(insérer la carte de TF nouveau se terminera en mode veille)
0x0B 11 normale de travail (fiche technique) ? Inconnu. Aucun code d’erreur, mais pas trouvé de fonction
0x0C 12 module de remise à zéro * [DH] = X, [DL] = X réinitialise tous (Track = 0 x 01, Volume = 0 x 30)
Retournera paramètre d’initialisation de 0x3F (0 x 02 pour TF-carte)
Son « Clap » après la commande excecuting (pas trouvée de solution)
0x0D jeu 13 * [DH] = X, [DL] = X jouer actuel piste sélectionnée
0x0E pause 14 * [DH] = X, [DL] = X Pause piste
0x0F 15 spécifier dossier et fichier pour la lecture * [DH] = dossier, [DL] = fichier
Important : Les dossiers doivent être nommés 01 ~ 99, les fichiers doivent être nommés 001 ~ 255
0 x 10 volume 16 pouvez définir (fiche technique) ? Inconnu. Aucun code d’erreur. Ne change pas le gain de volume.
0 x 11 17 Loop play * [DH] = X, [DL] = (0x01:play, 0x00:stop jeu)
Boucle de jouer toutes les pistes. Commencez à la piste 1.
0 x 12 18 play mp3 fichier [NUM] dossier mp3 * [DH]=highByte(NUM), [DL]=lowByte(NUM)
Jouer des fichiers mp3 dans le dossier nommé mp3 à votre carte de TF. Format de fichier exact
numéro à 4 chiffres (0001 ~ 2999) par exemple 0235.mp3
0 x 13 19 inconnu ? Inconnu : Retourne le code d’erreur 0 x 07
0 x 14 20 inconnu ? Inconnu : Retourne le code d’erreur 0 x 06
0 x 15 21 inconnu ? Inconnu : Retourne aucun code d’erreur, mais pas trouvé de fonction
0 x 16 22 arrêt * [DH] = X, [DL] = X, Stop piste en cours de lecture
0 x 17 23 boucle dossier 01 * [DH] = x, [DL] = 1 ~ 255, boucles toutes les pistes dans le dossier nommé « 01 »
0 x 18 24 lecture aléatoire * [DH] = X, [DL] = X aléatoire toutes les pistes, toujours commence à piste 1
0 x 19 25 boucle simple * [DH] = 0, [DL] = 0 boucles la piste qui joue
0x1A pause 26 * [DH] = X, [DL] = (0x01:pause, 0x00:stop pause)
Commandes avec les paramètres retournés (* = commande confirmé? = inconnu, pas clair ou non validé)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMD CMD
HEX Dec fonction Description Parameters(2 x 8 bit)
==== === =================================== ===========================================================================
0x3A 58 milieu inséré * [DH] = 0, [DL] = (1:U-disque, 2:TF-carte)
0x3B moyen 59 éjecté * [DH] = 0, [DL] = (1:U-disque, 2:TF-carte)
0x3C 60 terminé piste sur U-disque * [DH]=highByte(NUM), [DL]=lowByte(NUM)
Pas validé. Retourne suivre nombre lorsque la chanson est finie sur U-Disk
0x3D 61 fini la piste sur la carte de TF * [DH]=highByte(NUM), [DL]=lowByte(NUM)
Retourne suivre nombre lorsque la chanson est finie sur TF
0x3E 62 terminé piste sur Flash * [DH]=highByte(NUM), [DL]=lowByte(NUM)
Pas validé. Retourne suivre nombre lorsque la chanson est finie sur Flash
0x3F 63 paramètres d’initialisation * [DH] = 0, [DL] = 0 ~ 0x0F. Retourne le code quand réinitialiser (0 x 12) est utilisé.
(chaque bit représente un périphérique des basse-quatre bits)
Voir la fiche technique. 0 x 02 est la carte de TF. Erreur 0 x 01 lorsque aucun milieu n’est inséré.
0 x 40 64 erreur ? [DH] = 0, [DL] = 0 ~ 7 code d’erreur (retourné codes ne pas encore analysé)
0 x 41 65 réponse ? [DH] = 0, [DL] = 0 ~ ? Code de retour lorsque la rétroaction de la commande est élevée
0 x 00 aucune erreur (autre renvoyée du code n’est pas connu)
0 x 42 66 l’état actuel * [DH] = numéro de périphérique [DL] = 0 pas de jeu, 1 pièce
0 x 43 67 le volume actuel * [DH] = 0, [DL] = Volume (0-30)
0 x 44 68 la qe actuel * [DH] = 0, [DL] = EQ(0/1/2/3/4/5) [Normal/Pop/Rock/Jazz/classique/Base]
0 x 45 69 le mode de lecture actuel * [DH] = 0, [DL] = (0 x 00 : n’utilisé aucun CMD 0 x 08, 0 x 02 : CMD 0 x 08 utilisé, pas utile)
0 x 46 70 la version du logiciel * [DH] = 0, [DL] = version du logiciel. (Ma version est 5)
0 x 47 71 le nombre total de fichiers disque U * [DH]=highByte(NUM), [DL]=lowByte(NUM). Non validé
0 x 48 72 le nombre total de fichiers la carte de TF * [DH]=highByte(NUM), [DL]=lowByte(NUM)
0 x 49 73 le nombre total de fichiers flash * [DH]=highByte(NUM), [DL]=lowByte(NUM). Non validé
0x4A 74 keep on (fiche technique) ? Inconnu. Aucun paramètre retourné
0x4B 75 la piste actuelle de disque U * [DH]=highByte(NUM) [DL]=lowByte(NUM), piste en cours sur tous les supports
0x4C 76 la piste actuelle de la carte de TF * [DH]=highByte(NUM) [DL]=lowByte(NUM), piste en cours sur tous les supports
0x4D 77 la piste actuelle de Flash * [DH]=highByte(NUM) [DL]=lowByte(NUM), piste en cours sur tous les supports
0x4E 78 dossier « 01 » [DH] = x, [DL] = 1 * [DH] = 0, [DL]=(NUM) changement de la première piste dans le dossier « 01 »
Retourne le nombre de fichiers dans le dossier « 01 »
0x4F 79 le nombre total de dossiers * [DH] = 0, [DL]=(NUM), nombre Total de dossiers, y compris le répertoire racine
Informations complémentaires se trouvent sur le site de DFRobot, mais ne sont pas très fiable
Plus d’infos : http://www.dfrobot.com/index.php?route=product/product & product_id = 1121
Ype Brada 2015-04-06
*/
Vérifier la photo pour l’arborescence des fichiers