Luka Code

Tutoriel ESP32 41/55 - Lecteur MP3 utilisant une carte Micro SD | Kit d'apprentissage IoT ESP32 de SunFounder

Tutoriel ESP32 41/55 - Lecteur MP3 utilisant une carte Micro SD | Kit d'apprentissage IoT ESP32 de SunFounder

Na boyekoli oyo, tokosala player ya MP3 na esaleli ya microcontrôleur ya ESP32 mpe carte micro SD. ESP32 akotanga ba fichiers ya musique oyo ebombami na carte micro SD mpe akobimisa mongongo na nzela ya amplificateur ya mongongo mpe ya libenga. Projet oyo esangisi ba composants ndenge na ndenge, kati na yango ESP32, amplificateur ya mongongo, mpe carte micro SD, mpo na kopesa yo nzela ya kobeta musique na ndenge ya pete.

Na boumeli ya processus oyo, tokolobela ba connexions oyo esengeli, code, mpe ndenge ya kosala recherche ya ba problèmes oyo eyebani mingi. Mpo na bokambi ya sika mingi, tala vidéo oyo esangani na yango (na vidéo na 00:00).

Explication ya ba Hardware

Ba composants ya minene oyo esalelami na projet oyo ezali na microcontrôleur ya ESP32, carte micro SD, amplificateur ya mongongo, mpe libenga. ESP32 ezali microcontrôleur ya makasi oyo ezali na Wi-Fi mpe Bluetooth oyo ebongisami na kati, mpo na yango ezali malamu mpo na ba projets ya IoT. Ezali kokamba traitement mpe contrôle ya kobeta musique.

Carte micro SD esalelami mpo na kobomba ba fichiers ya musique na format MP3. Esangani na ESP32 mpe epesaka programme nzela ya kotanga ba fichiers mpe kotinda ba données ya mongongo na amplificateur. Amplificateur ya mongongo azwaka signal ya numérique oyo ewuti na ESP32 mpe apaloli yango mpo na kotambwisa libenga, mpo mongongo eyokana.

Ba Détails ya Datasheet

FabricantSunFounder
Numéro ya partieESP32
Tension ya logique/IO3.3 V
Tension ya alimentation5 V
Courant ya sortie (na canal)2 A max
Courant ya pointe (na canal)3 A max
Directive ya fréquence PWMjusqu'à 40 kHz
Seuils ya logique ya entrée0.3 x VCC (bas), 0.7 x VCC (haut)
Chute ya tension / RDS(on) / saturation0.15 V
Limites thermiques85 °C
PaquetWROOM-32
Notes / variantesEkomonani malamu na ba bibliothèques ya musique ndenge na ndenge

  • Kokanola ete carte micro SD ebongisami na format FAT32.
  • Salela résistance mpo na kosangisa amplificateur ya mongongo mpo na kopekisa distortion.
  • Kokanola ete ba connexions ya alimentation ezali ya libela mpo na kopekisa ba interruptions.
  • Vérifier ba connexions mpo na ba connexions oyo ezali ya kokweya liboso ya kopelisa système.
  • Kotala sortie ya série mpo na ba informations ya débogage.
  • Salela ba libenga ya impédance ya moké mpo na qualité ya mongongo ya malamu.
  • Mpo na performance ya malamu, kanola ete ESP32 ezali na ba tâches ebele te ntango ezali kobeta musique.

SD_MMC esalelami mpo na accès ya micro SD, mpe AudioOutputI2S esalelami mpo na sortie ya mongongo.

Ba Instructions ya Wiring

ESP32-40-micro-sd-card-1
esp32-41-play-music-wriing

Mpo na kosangisa ba composants, banda na kosangisa alimentation. Sangisa 5 V oyo ewuti na ESP32 na pin ya VCC ya amplificateur ya mongongo. Na sima, sangisa pin ya terre oyo ewuti na ESP32 na pin ya terre ya amplificateur. Pin ya sortie ya mongongo oyo ewuti na ESP32, oyo mingi mpe ezali GPIO25, esengeli kosangisama na pin ya entrée ya amplificateur na nzela ya résistance ya 10 kΩ.

Mpo na libenga, sangisa yango na ba pins ya sortie ya amplificateur ya mongongo. Kanola ete libenga ezali na polarité te, yango wana okoki kosangisa yango na ndenge nyonso. Kotisa carte micro SD na esika oyo ebongisami na ESP32. Kanola ete ba connexions nyonso ezali malamu liboso ya kopelisa système.

Ba Exemples ya Code & Walkthrough

Na code oyo epesami, tobandi na kosangisa ba bibliothèques oyo esengeli mpo na kobeta musique mpe accès ya carte SD. Ba identifiants ya minene ezali mp3, file, mpe out, oyo ezali kopesa générateur ya MP3, source ya fichier ya musique, mpe sortie ya mongongo.

AudioGeneratorMP3 *mp3;
AudioFileSourceSD_MMC *file;
AudioOutputI2S *out;

Awa, tozali kotanga ba pointeurs mpo na générateur ya MP3 mpe source ya fichier ya musique. Na fonction setup(), tozali ko-initialiser communication ya série mpe carte SD.

void setup() {
  Serial.begin(115200);
  if (!SD_MMC.begin()) {
    Serial.println("SD card mount failed!");
  }
  file = new AudioFileSourceSD_MMC("/To Alice.mp3");
  out = new AudioOutputI2S(0, 1);
}

Na extrait oyo, tozali kotala soki carte SD emonté na ndenge ya malamu. Soki elongaki te, message ya erreur ekomami. Na sima, tozali kobongisa fichier ya MP3 mpe mode ya sortie ya mongongo.

void loop() {
  if (mp3->isRunning()) {
    if (!mp3->loop()) mp3->stop();
  } else {
    Serial.println("MP3 done");
    delay(1000);
  }
}

Boucle oyo ezali kotala soki fichier ya MP3 ezali nanu kobeta. Soki ezali te, ezali kotinda message oyo elobi ete playback esili. Code mobimba ekozala na nse ya article mpo na référence ya sika.

Démonstration / Nini Okokanela

Ntango nyonso esili kosangisama mpe code etombolami, osengeli koyoka musique ezali kobeta na nzela ya libenga ntango carte micro SD ekotisi. Kanola ete opésa ESP32 reset na sima ya kotisa carte. Soki musique ezali kobeta te, tala ba connexions mpe kanola ete fichier ya musique ebengami na ndenge ya malamu na code (na vidéo na 05:00).

Ba erreurs ya mbala mingi ezali ete carte micro SD ebongisami malamu te to ete ba fichiers ya musique oyo esalelami ezali na format oyo esungami te. Kanola tango nyonso ete ba fichiers ezali na format MP3 mpe ebombami na répertoire ya liboso to na dossier oyo esengami.

Ba Timestamps ya Vidéo

  • 00:00 Banda
  • 2:19 Introduction na projet
  • 4:27 Page ya ba docs
  • 5:32 Wiring mpo na amplificateur ya mongongo
  • 8:00 Formatage ya carte microSD mpo na ESP32
  • 10:16 Bibliothèque mpe Code
  • 15:16 Kopona carte ya ESP32 mpe port ya COM na Arduino IDE
  • 16:58 Kobeta Nzembo na esaleli ya ESP32 na carte Micro SD
  • 19:14 Démonstration ya mibale na esaleli ya batterie ya 18650

Images

speaker_pic
speaker_pic
audio_module
audio_module
ESP32-40-micro-sd-card-1
ESP32-40-micro-sd-card-1
esp32-41-play-music-wriing
esp32-41-play-music-wriing
842-ESP32 Tutorial 41/55- Arduino code for playing music from microSD card
Langue: C++
#include "AudioFileSourceSD_MMC.h"
#include "AudioOutputI2S.h"
#include "AudioGeneratorMP3.h"
#include "SD_MMC.h"
#include "FS.h"

// Declare pointers for the MP3 generator, file source, and output.
AudioGeneratorMP3 *mp3;
AudioFileSourceSD_MMC *file;
AudioOutputI2S *out;

void setup() {
  // Start the serial communication.
  Serial.begin(115200);
  delay(1000);

  // Initialize the SD card. If it fails, print an error message.
  if (!SD_MMC.begin()) {
    Serial.println("SD card mount failed!");
  }

  // Open the MP3 file from the SD card. Replace "/To Alice.mp3" with your own MP3 file name.
  file = new AudioFileSourceSD_MMC("/To Alice.mp3");
  
  // Set up the I2S output on ESP32's internal DAC.
  out = new AudioOutputI2S(0, 1);
  
  // Set the output to mono.
  out->SetOutputModeMono(true);

  // Initialize the MP3 generator with the file and output.
  mp3 = new AudioGeneratorMP3();
  mp3->begin(file, out);
}

void loop() {
  // If the MP3 is running, loop it. Otherwise, stop it.
  if (mp3->isRunning()) {
    if (!mp3->loop()) mp3->stop();
  } 
  // If the MP3 is not running, print a message and wait for 1 second.
  else {
    Serial.println("MP3 done");
    delay(1000);
  }
}

Fichiers📁

Aucun fichier disponible.