Piano jouet d’enfant (7 / 13 étapes)

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

Articles Liés

Ajouter une batterie interne à un piano jouet électronique

Ajouter une batterie interne à un piano jouet électronique

Si vous avez un piano jouet old school, vous pouvez rencontrer un problème dont il a besoin d'un grand nombre de piles AA pour fonctionner. Mon Bontempi GT 509 piano requis 6 piles LR06. Achat de 6 piles AA alcalines semble * très * peu rentable pour
Convertir un piano jouet pour travailler comme un périphérique midi et utilisez-le avec Synthesia

Convertir un piano jouet pour travailler comme un périphérique midi et utilisez-le avec Synthesia

but de ce projet :Convertir un piano jouet bon marché pour travailler comme un périphérique midi et utilisez-le avec Synthesia (http://www.synthesiagame.com/)Autres programmes qui utilisent les entrées midi peuvent également être utilisés.Approche :L
UArm jouer la chanson numéro avec Piano jouet A

UArm jouer la chanson numéro avec Piano jouet A

Récemment, nous avons fait un cas d'utilisation qui permettent uArm pour jouer de la musique sur un piano jouet.Voici la vidéo finale :Si vous voulez jouer uArm comme ce que nous faisons, tout d'abord vous avez besoin, une table / uarm / et un piano
FrankenDog ! Animatronic DIY - contrôler un chien robot de i-cybie avec un piano jouet

FrankenDog ! Animatronic DIY - contrôler un chien robot de i-cybie avec un piano jouet

Vous avez morts jouets qui traînent ? Dans ce didacticiel vidéo j'ai donner une nouvelle vie à un chien de robots i-Cybie morts dont le « cerveau » a été détruit après que court circuit et presque pris feu. Apprenez à animer les morts !Le I-cybie est
DIY Digital Camera Slider par jouet des enfants

DIY Digital Camera Slider par jouet des enfants

Nous allons commencer avec l'installation de base, plutôt petite caméra curseur. Ce curseur bricolage caméra peut certainement être utilisé pour un appareil photo et n'est rien de plus qu'un jouet des enfants et vous pouvez le faire très facilement
Repeindre un jouet des enfants

Repeindre un jouet des enfants

Il y a une bonne quantité de jouets d'enfants qui survivent à leurs intérêts. Certains seront transmises d'enfant de kid et être toujours prêt pour en savoir plus. Le seul problème est que leur apparence peut s'estomper et être moins attrayant. Avec
Simple prolongateur pédale Piano pour les enfants

Simple prolongateur pédale Piano pour les enfants

Ma fille de 6 ans est d'apprendre à jouer du piano et porte bien--c'est juste que vous n'avez à pattes courtes à cet âge. Son professeur a une extension pédale piano coûteuse, qui non seulement s'étend les pédales, mais elle permet également de repos
LED « Nom » commutateur jouet pour enfant en bas âge

LED « Nom » commutateur jouet pour enfant en bas âge

j'ai fait ce jouet il y a quelques années, quand mon fils avait 2. Il a toujours été fasciné par les lumières et les commutateurs. Dans un effort pour lui garder divertir et peut-être apprendre les lettres de son nom, j'ai construit ce jouet simple.P
LED de Baseball Scoreboard jouet d’enfant

LED de Baseball Scoreboard jouet d’enfant

Je cherchais à faire un cadeau pour l'enfant d'un ami qui est vers l'âge de 15 mois et je me suis inspiré jouet Light Switch Box de Ben Finio'sChild. Au départ, il sera probablement juste jouer avec les interrupteurs d'éclairage, mais mon ami est un
Jet de voiture jouet pour enfants

Jet de voiture jouet pour enfants

comment faire une voiture de jouet de Jet pour les enfants afin de montrer la troisième loi de Newton du mouvement.Vous devez uniquement un morceau rectangulaire de carton, pailles, deux brochettes, un ballon, quatre des bouchons en plastique et ruba
Transformer un jouet d’enfant 3 $ en une œuvre d’art

Transformer un jouet d’enfant 3 $ en une œuvre d’art

Introduction :J'ai toujours été fasciné par la modélisation 3D. C'est un domaine aussi nouveau et fascinant de l'art de la nouvelle ère. Une des choses plus fascinantes sur la modélisation 3d est passer et travaillant dans un modèle de trame de fil.
Lumière et commutateur de jouet pour enfant (6 lampes, 6 interrupteurs)

Lumière et commutateur de jouet pour enfant (6 lampes, 6 interrupteurs)

mon fils adore les lumières et les commutateurs. J'ai décidé de lui faire un jouet simple interrupteur qui lui permet d'activer ou désactiver les six différentes lumières. Remarque : mon fils est seulement autorisé à jouer avec ce jouet quand supervi
Xylophone windchime de jouet d’enfant

Xylophone windchime de jouet d’enfant

ici est un projet rapide, facile et peu coûteux qui va ramener des souvenirs d'enfance pour presque tout le monde. Des couleurs vives et tons mémorables en font un joli cadeau pour quelqu'un de presque n'importe quel âge et intérêt.Aucune mention de
Mousquet (non-tir) de jouets pour les enfants

Mousquet (non-tir) de jouets pour les enfants

Kids + canal histoire = "papa !  Pouvez vous me faire un fusil?"C'est donc un tir non jouet pour enfants pour être utilisé avec beaucoup d'imagination et 1 seul déplacement (c'est à dire la baguette).Il n'est pas une réplique d'un silex - il n'y