lundi 22 mars 2021

ESP32 et VS1003 / VS1053: écouter les fichiers mp3 d'une carte SD

Dans cet article, j'utilise un module ESP32, un module VS1053 et un lecteur de carte SD pour jouer des fichiers mp3 préalablement enregistrés sur une carte SD.


Matériel

Mon module ESP32 sera, comme d'habitude, programmé au moyen de l'IDE Arduino.

Le VS1053 de VLSI Solutions est un circuit intégré spécialement conçu pour décoder les principaux formats de fichiers musicaux: Ogg Vorbis, mp3, AAC, WMA, FLAC, MIDI...

J'ai utilisé un module fabriqué en Chine qu'on trouve facilement sur les sites de vente en ligne. Le mien porte la mention "LCSOFT STUDIO VS1003/1053 MP3  CODEC".  Adafruit et Sparkfun ont également mis au point leur propre modèle.

Une prise jack permet de brancher un casque d'écoute au module VS1053, ou encore des enceintes amplifiée.

Tout comme le VS1053, le module lecteur de cartes SD communique avec le microcontrôleur par le protocole SPI, à un niveau logique de 3,3 V.


Connexions

Le module VS1053 est branché à l'ESP32 de la façon suivante:

  • Broche 5V du VS1053 : Broche VIN (5V) de l'ESP32
  • Broche DGND du VS1053 : Broche GND de l'ESP32
  • Broche MISO du VS1053 : Broche D19 de l'ESP32
  • Broche MOSI du VS1053 : Broche D23 de l'ESP32
  • Broche SCK du VS1053 : Broche D18 de l'ESP32
  • Broche DREQ du VS1053 : Broche D4 de l'ESP32
  • Broche XRST du VS1053 : Broche EN de l'ESP32
  • Broche XCS du VS1053 : Broche D5 de l'ESP32
  • Broche XDCS du VS1053 : Broche RX2 - D16 de l'ESP32

...alors que le module carte SD est branché à l'ESP32 de cette façon:

  • Broche GND du module carte SD : broche GND de l'ESP32
  • Broche 5 V du module carte SD : broche VIN (5V) de l'ESP32
  • Broche CS du module carte SD : broche D22 de l'ESP32
  • Broche MOSI du module carte SD : broche D23 de l'ESP32
  • Broche SCK du module carte SD : broche D18 de l'ESP32
  • Broche MISO du moudle caret SD : broche D19 de l'ESP32


Installation de la bibliothèque ESP VS1053

J'ai installé la bibliothèque ESP VS1053 mise au point par Baldram; elle est également compatible avec l'ESP8266.

Préparation de la carte SD

J'ai copié quelques fichiers MP3 à la racine de la carte SD. 


Sketch #1 : jouer un fichier mp3

Dans ce premier exemple de sketch, un fichier mp3 est joué au complet. Le chemin d'accès de ce fichier doit être écrit dans le sketch (constante "nomFichier"). Il sera facile de modifier programme pour jouer un fichier différent selon le bouton appuyé par l'utilisateur, saluer un visiteur lorsque sa présence est détectée, etc.

-

-

Sketch #2: lecture de tous les fichiers mp3 présents sur la carte SD

Ce deuxième sketch fait jouer successivement tous les fichiers qui se trouvent à la racine de la carte SD, peu importe leur nom. J'ai également ajouté quelques commandes qui peuvent être envoyées à l'ESP32 par le moniteur série:  "n" pour passer à la piste suivante, "p" pour mettre en pause, "+" pour augmenter le volume sonore, etc.

-

-

À lire également:


Yves Pelletier (TwitterFacebook)

1 commentaire:

  1. Ami, j'aimerais tester le microphone. Avez-vous un code que je peux prononcer dans le microphone et générer un fichier enregistré sur la carte SD ? reconnaissant. sergio1791 <@>bol<.>com<.>br

    RépondreSupprimer