Nous allons apprendre à utiliser un module de lecteur MP3 série, celui-ci permet de lire des fichiers mp3 à partir d’une carte microSD, depuis un microcontrôleur.
Nous allons brancher le module MP3 sur un ESP8266, commençons par brancher les broches 3V et G de l’ESP sur une platine :
Ensuite relions la broche GND du module MP3 sur la broche G de l’ESP, et la broche VCC sur 3V :
Puis branchons les broches D5 et D6 de l’ESP sur la platine :
Et relions-les aux broches TX et RX du module MP3 :
Maintenant définissons les broches TX et RX avec #define TX 12 et #define RX 14
Et initialisons le module MP3 avec SerialMP3Player mp3(TX, RX);
Ensuite initialisons mp3 dans la fonction setup()
Enfin ajoutons un petit délai pour laisser le temps au module mp3 de démarrer, et jouons la prochaine musique
Après téléversement, le module MP3 jouera la première musique au démarrage puis la musique suivante à chaque appui sur le bouton RST de l’ESP
Nous allons utiliser un amplificateur audio, son rôle consiste à amplifier le signal du lecteur et l’envoyer vers l’enceinte, afin d’augmenter le volume sonore pour qu’il soit audible.
Il y a trois couples de câbles à brancher sur l’ampli :
Câble jack
Amplificateur audio
Enceinte
Nous allons ajouter un potentiomètre à notre montage afin de contrôler le volume du lecteur mp3.
Commençons par connecter le potentiomètre sur la platine :
Puis relions les broches GND et 3V :
Et enfin la broche A0 :
Reprenons le code précédent et ajoutons une variable qui stockera la valeur du potentiomètre.
Ensuite créons une fonction pour lire le potentiomètre
Et une autre pour modifier le volume quand la valeur du potentiomètre change
Dans la fonction readPot commençons par stocker l’ancienne valeur du potentiomètre dans une variable
Puis actualisons la valeur du potentiomètre
Et si la valeur a changé appelons la fonction onPotChange
Ensuite dans la fonction onPotChange, transposons la valeur du potentiomètre sur la bonne plage de valeurs (de 0 à 30) avec la fonction map et stockons-la dans une variable
Et enfin changeons le volume avec la fonction setVol
Il ne reste plus qu’à appeler la fonction readPot dans loop