Utiliser un module de lecteur MP3 série

Jouer un fichier MP3

Introduction

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.

Branchement du module MP3

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 :

Code Arduino

Pour contrôler le module MP3 nous allons utiliser la librairie SerialMP3Player, incluons-la avec  #include "SerialMP3Player.h"

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

Brancher un ampli et une enceinte

Introduction

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.

Branchements

Il y a trois couples de câbles à brancher sur l’ampli :

  • l’entrée audio, IN et GND, on y branchera un câble jack, le rouge sur IN et le noir sur GND, et la prise jack sur le module MP3
  • l’alimentation, VCC et GND, on y reliera les broches 3V et GND de l’ESP
  • la sortie audio, branchée à l’enceinte, le câble rouge sur OUT et le câble noir sur GND

Câble jack

Amplificateur audio

Enceinte

Contrôler le volume avec un potentiomètre

Introduction

Nous allons ajouter un potentiomètre à notre montage afin de contrôler le volume du lecteur mp3.

Branchement du potentiomètre

Commençons par connecter le potentiomètre sur la platine :

Puis relions les broches GND et 3V :

Et enfin la broche A0 :

Code Arduino

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