Le module lecteur MP3 MP3-TF-16P est un lecteur audio complet sur une carte carrée : un logement pour carte micro SD, un décodeur MP3 et WAV, un convertisseur numérique-analogique 24 bits et un amplificateur de 3 W. Il lit les fichiers sonores enregistrés sur la carte et les restitue directement sur un petit haut-parleur, sans ordinateur ni carte de son.
Tout se commande par deux fils : les broches RX et TX forment une liaison série sur laquelle un Arduino, un ESP32 ou un ESP8266 envoie de courtes instructions — jouer la piste 3, régler le volume à 20, mettre en pause. Ce module est celui que l’on trouve partout sous le nom de DFPlayer Mini : même brochage, mêmes commandes, même bibliothèque de programmation.
Comment fonctionne le module
Le module est autonome : c’est lui qui monte le système de fichiers de la carte, décode le fichier audio et amplifie le signal. Le microcontrôleur n’a donc rien à calculer, il se contente de donner des ordres et peut vaquer à ses autres tâches pendant la lecture.
- Mode série — deux broches et une bibliothèque suffisent à lancer une piste précise, monter le volume, choisir un égaliseur, boucler un dossier entier ou lire les morceaux dans un ordre aléatoire.
- Mode autonome — les broches
IO_1etIO_2acceptent deux boutons reliés directement à la masse : appui court pour la piste précédente ou suivante, appui long pour le volume. Les entréesADKEY_1etADKEY_2acceptent en plus un clavier à résistances, c’est-à-dire plusieurs boutons sur une seule broche. - Sortie haut-parleur — un haut-parleur se branche directement entre
SPK_1etSPK_2, sans condensateur ni amplificateur supplémentaire. - Sortie ligne —
DAC_LetDAC_Rdélivrent un signal stéréo de niveau ligne, à confier à un amplificateur externe quand on veut plus de puissance ou du vrai son stéréo.
Caractéristiques techniques
| Référence du module | MP3-TF-16P, compatible DFPlayer Mini |
|---|---|
| Formats lus | MP3 et WAV |
| Fréquences d’échantillonnage | 8 / 11,025 / 12 / 16 / 22,05 / 24 / 32 / 44,1 / 48 kHz |
| Convertisseur | DAC 24 bits, plage dynamique 90 dB, rapport signal sur bruit 85 dB |
| Stockage | Carte micro SD (TF) jusqu’à 32 Go, système de fichiers FAT16 ou FAT32 |
| Amplificateur intégré | 3 W mono, haut-parleur de 4 à 8 Ω branché entre SPK_1 et SPK_2 |
| Sortie ligne | Stéréo sur DAC_L et DAC_R, pour casque ou amplificateur externe |
| Alimentation | 3,2 à 5 V continu — 5 V conseillés |
| Consommation | 20 mA au repos, jusqu’à 500 mA pendant la lecture à fort volume |
| Liaison série | UART 9600 bauds, 8 bits de données, sans parité, 1 bit de stop, niveaux 3,3 V |
| Volume et égaliseur | 30 niveaux de volume, 6 égaliseurs |
| Broches | 16 broches traversantes au pas de 2,54 mm, sur deux rangées espacées de 17,8 mm |
| Température de service | -40 à +70 °C |
Brochage des seize broches
Les seize broches se répartissent en deux rangées de huit. Les noms de la colonne « position » sont ceux publiés par le fabricant, rangée par rangée ; l’usage est de se repérer sur la rangée qui porte VCC à une extrémité, les deux rangées se lisant en sens opposés.
VCC | Alimentation : 3,2 à 5 V continu. C’est la broche à repérer en premier. |
|---|---|
RX | Entrée série du module : c’est par là qu’arrivent les ordres du microcontrôleur. |
TX | Sortie série du module : réponses et messages d’état vers le microcontrôleur. |
SPK_1 et SPK_2 | Sortie haut-parleur. Le haut-parleur se branche entre ces deux broches : c’est une sortie différentielle, aucune des deux n’est reliée à la masse. |
DAC_L et DAC_R | Sorties ligne gauche et droite, pour un casque ou un amplificateur externe. |
IO_1 et IO_2 | Entrées de commande directe par bouton : piste précédente et volume en baisse sur IO_1, piste suivante et volume en hausse sur IO_2. |
ADKEY_1 et ADKEY_2 | Entrées analogiques pour un clavier à résistances, quand on veut plusieurs boutons sur une seule broche. |
GND | Masse. Deux broches de masse, à relier à celle du microcontrôleur : c’est la référence commune, sans laquelle rien ne fonctionne. |
USB+ et USB− | Les deux fils de données d’un port USB. Reliés à un ordinateur, ils font apparaître la carte micro SD comme une clé USB, sans avoir à la sortir du module. |
BUSY | Signal d’état de lecture, à lire sur une entrée numérique quand on veut savoir si le module joue encore quelque chose. |
Lisez le sens des broches sur la carte avant de brancher. La position des deux rangées et le sens de lecture ne sont pas identiques d’une série à l’autre : une alimentation branchée sur une sortie peut endommager le module. Le repère à ne jamais manquer est la broche VCC.
Préparer la carte micro SD
C’est l’étape où l’on perd le plus de temps, et elle a trois exigences seulement.
- Format FAT32 (ou FAT16) — une carte vendue neuve est souvent en exFAT, que le module ne lit pas. À reformater, et à limiter à 32 Go : au-delà, le module ne voit rien.
- Des fichiers nommés selon l’une des conventions reconnues. Dans un dossier de la racine nommé de
01à99, les fichiers portent un numéro à trois chiffres :001.mp3,002.mp3. Placés directement à la racine, ils portent quatre chiffres :0001.mp3. Dans un dossiermp3, quatre chiffres également — c’est le dossier le plus commode à interroger depuis un programme. - Copier les fichiers dans l’ordre où ils doivent être joués. À la racine, le module classe par ordre d’écriture sur la carte et non par nom : copier
0003.mp3avant0001.mp3suffit à inverser la lecture. C’est une des causes les plus fréquentes de « ce n’est pas la bonne piste qui démarre ».
Un dossier advert a un rôle particulier : ses fichiers ne se jouent jamais seuls, ils interrompent une piste déjà en cours, puis la reprennent. C’est fait pour les annonces — un message d’alerte par-dessus une musique de fond.
Enfin, la carte doit être en place pour que la liaison série fonctionne : sans carte insérée, le module ne répond pas aux ordres, ce qui fait croire à un problème de câblage.
Applications courantes
- Annonces vocales — un message enregistré déclenché par un bouton, un capteur ou une carte de commande : accueil de visiteur, consigne d’atelier, information dans une file d’attente.
- Alarmes parlantes — remplacer le bip d’un détecteur par une phrase claire, et dire ce qui se passe au lieu de le faire deviner.
- Lecteur de musique autonome — la carte, le module, un haut-parleur et un support de piles : il joue dès la mise sous tension, sans une ligne de programme.
- Jouets et objets interactifs — effets sonores, boîte à musique, livre pour enfant dont chaque page a son bouton.
- Audioguide et visites — une piste par bouton, sur un clavier à résistances pour n’utiliser qu’une seule broche.
Mini-projet : une annonce vocale déclenchée par un bouton
Le montage complet tient en une quinzaine de minutes : on appuie sur un bouton, le module joue le fichier 0001.mp3 du dossier mp3 de la carte. C’est la base de tout message parlé déclenché par un événement.
Ce qu’il faut
| Le lecteur | Le module lecteur MP3 de cette page |
|---|---|
| La carte de commande | Uno R3 + câble USB |
| La protection de la ligne série | 10 résistances 1/4 W 1 kohm |
| Le support du montage | Plaque d’essai 830 |
| Les liaisons | 10 câbles Dupont |
| Le déclencheur | 5 mini boutons poussoirs |
| Le son | Un haut-parleur de 4 à 8 Ω de moins de 3 W, à brancher entre SPK_1 et SPK_2 |
Pourquoi une résistance de 1 kΩ ? Une carte Arduino émet ses signaux en 5 V, alors que l’entrée RX du module est prévue pour 3,3 V. La résistance placée en série sur la ligne qui va vers le module limite le courant : sans elle, le module fonctionne encore quelque temps, puis les ordres deviennent erratiques et le module finit par être endommagé. C’est la panne la plus fréquente de ce montage, et la plus facile à éviter.
Le câblage
Module VCC | → Arduino 5V |
|---|---|
Module GND | → Arduino GND |
Module RX | → Arduino D10, en passant par la résistance de 1 kΩ |
Module TX | → Arduino D11, en direct |
Module SPK_1 | → première borne du haut-parleur |
Module SPK_2 | → seconde borne du haut-parleur |
| Bouton, première patte | → Arduino D2 |
| Bouton, seconde patte | → Arduino GND |
Aucun fil du haut-parleur ne va à la masse : les deux bornes se branchent uniquement sur SPK_1 et SPK_2.
Le programme
Installez la bibliothèque DFRobotDFPlayerMini depuis le gestionnaire de bibliothèques de l’IDE Arduino, puis téléversez. La carte micro SD doit contenir un dossier mp3 avec un fichier 0001.mp3 à l’intérieur.
/*
* Annonce vocale sur bouton poussoir - module lecteur MP3 MP3-TF-16P
* Carte : Arduino Uno R3
* Montage : module sur D10 (via 1 kohm) et D11, bouton sur D2, haut-parleur sur SPK_1 et SPK_2
* Bibliotheque : DFRobotDFPlayerMini (gestionnaire de bibliotheques de l IDE)
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
const byte PIN_BOUTON = 2; // bouton relie a la masse, appui = niveau bas
const byte PIN_VERS_MODULE = 10; // sortie serie de l Arduino, vers RX du module via 1 kohm
const byte PIN_DU_MODULE = 11; // entree serie de l Arduino, depuis TX du module
SoftwareSerial liaison(PIN_DU_MODULE, PIN_VERS_MODULE);
DFRobotDFPlayerMini lecteur;
void setup() {
pinMode(PIN_BOUTON, INPUT_PULLUP);
Serial.begin(9600);
liaison.begin(9600);
// Le module a besoin de deux a trois secondes avant de repondre.
delay(3000);
if (lecteur.begin(liaison, true, false) == false) {
Serial.println("Module non detecte : verifiez la carte micro SD et le cablage.");
while (true) {
delay(0);
}
}
lecteur.volume(20); // 0 a 30
lecteur.outputDevice(DFPLAYER_DEVICE_SD); // lire depuis la carte micro SD
Serial.println("Module pret : appuyez sur le bouton.");
}
void loop() {
if (digitalRead(PIN_BOUTON) == LOW) {
lecteur.playMp3Folder(1); // joue /mp3/0001.mp3
Serial.println("Lecture de 0001.mp3");
delay(500); // laisse passer les rebonds du bouton
}
}Comment ça marche
SoftwareSerial liaison(11, 10)fabrique une seconde liaison série sur deux broches ordinaires : la carte Uno n’en possède qu’une seule, déjà occupée par le port USB qui sert au moniteur série. L’ordre des arguments est celui des broches de l’Arduino : d’abord celle qui reçoit, ensuite celle qui émet.INPUT_PULLUPactive la résistance de tirage interne de la carte. Le bouton relié à la masse ramène donc l’entrée au niveau bas quand on appuie : aucun composant supplémentaire n’est nécessaire à côté du bouton.playMp3Folder(1)demande le premier fichier du dossiermp3. C’est la commande la plus simple pour des messages numérotés : le numéro de piste se confond avec le numéro du fichier.volume(20)règle le volume sur l’échelle de 0 à 30. Le réglage s’applique au démarrage d’une piste : le changer pendant une lecture ne modifie pas le morceau en cours.- La pause de 3 secondes au démarrage n’est pas du confort : interrogé trop tôt, le module ne répond pas et le programme conclurait à tort qu’il est absent.
Pour aller plus loin
- Plusieurs messages — un second bouton sur une autre entrée numérique, avec
playMp3Folder(2),playMp3Folder(3)et ainsi de suite : chaque fichier du dossiermp3devient un message indépendant. - Un message par capteur — la même ligne de programme se place dans la condition d’un détecteur de mouvement, d’un capteur de distance ou d’un capteur de son : le module ne fait que dire ce que le capteur a vu.
- Savoir quand le message est fini — la broche
BUSYse lit sur une entrée numérique pour enchaîner une action au bon moment, sans deviner la durée du fichier. - Musique de fond — un dossier
01joué en boucle avecloopFolder(1), et les annonces dans le dossieradvertpassent par-dessus et rendent la main ensuite.
Points d’attention
- Un seul haut-parleur, et jamais relié à la masse. L’amplificateur interne est monté en pont : ses deux sorties sont actives. Relier
SPK_1ouSPK_2à la masse du montage met l’étage de sortie en court-circuit et le détruit. Pour deux haut-parleurs ou plus de puissance, on passe parDAC_LetDAC_Ret un amplificateur externe. - Alimentez le module correctement. La plage annoncée commence à 3,2 V, mais l’expérience montre qu’en dessous d’environ 4,5 V certains exemplaires deviennent instables. Pendant la lecture, l’appel de courant atteint 500 mA : une alimentation faible ou un fil trop fin produit des coupures et des grésillements qui ressemblent à un défaut du module. Ne dépassez jamais 5 V.
- La résistance de 1 kΩ sur la ligne vers le module n’est pas facultative avec une carte en 5 V.
- Le sens du signal
BUSYest donné dans les deux sens selon les documents du fabricant. Si votre programme s’en sert, mesurez-le au démarrage avec undigitalReadet prenez la valeur lue comme état de repos : c’est la même précaution que pour un capteur dont on ignore la polarité. - La carte doit être en place au démarrage. Sans carte, le module se tait et ne répond pas à la liaison série.
- Pas de prise casque. Le module n’en possède pas : un casque se branche sur
DAC_LetDAC_R, avec la masse commune du montage.
Questions fréquentes
Peut-on utiliser une carte de 64 Go ?
Non, le module s’arrête à 32 Go. Une carte plus grande n’est pas vue du tout, quelle que soit la façon dont elle est formatée. Une carte de 8 ou 16 Go suffit largement : en MP3, elle contient des dizaines d’heures d’audio.
Faut-il vraiment un microcontrôleur ?
Non. Alimenté entre 3,2 et 5 V, le module démarre et joue ce qu’on lui demande par boutons : IO_1 et IO_2 pour la piste et le volume, ADKEY_1 et ADKEY_2 pour un clavier à résistances. Le microcontrôleur n’apporte quelque chose que lorsque c’est un capteur, un plan horaire ou une application qui doit décider quoi jouer.
Comment copier des fichiers sur la carte sans la sortir du module ?
Les broches USB+ et USB− sont les deux fils de données d’un port USB : reliées à un ordinateur, elles font reconnaître la carte comme une clé USB. C’est pratique sur un montage déjà câblé, à condition de respecter la polarité et de ne pas alimenter le module par deux sources à la fois.
Aucune piste ne se lance, par où commencer ?
Dans l’ordre, et trois fois sur quatre la réponse est là : la carte est-elle en FAT32 et non en exFAT ? Les fichiers portent-ils bien trois ou quatre chiffres selon leur emplacement ? Le son sort-il d’un haut-parleur branché sur SPK_1 et SPK_2, et non d’un casque absent ? La carte est-elle correctement enfoncée ? Ensuite seulement viennent le câblage, la résistance de 1 kΩ et l’alimentation.
Le son grésille ou s’arrête au milieu d’une piste
C’est presque toujours l’alimentation. Le module demande jusqu’à 500 mA en pointe : branché sur une source juste suffisante, chaque coup de grave provoque une chute de tension et une coupure. Un condensateur de forte valeur en parallèle sur l’alimentation, ou plus simplement une alimentation plus généreuse, règle le problème.
Peut-on lire deux fichiers en même temps ?
Non, le module joue une piste à la fois. Le dossier advert est la seule entorse à cette règle : il met la piste en cours en pause, joue l’annonce, puis la reprend au même endroit.
À combiner avec
Le module fonctionne avec n’importe quelle carte de développement, et le choix dépend surtout de la place disponible. Pour un montage qui doit tenir dans une petite boîte, la carte Nano avec câble offre exactement les mêmes broches qu’une Uno dans un encombrement bien moindre ; pour un lecteur connecté qui va chercher ses fichiers ou déclenche ses annonces par le réseau, un ESP32 WROOM dual core ajoute le WiFi et le Bluetooth sans changer une ligne du programme de lecture.
Si le montage doit fonctionner sans prise, un support de piles 4xAA 6 V fournit les 5 V du module par l’intermédiaire d’un régulateur, et le lecteur devient autonome : carte, module, haut-parleur et piles, sans ordinateur.













