Raadi Koodka

Tutorial ESP32 41/55 - Ciyaarta MP3 iyadoo la isticmaalayo kaadhka Micro SD | Qalabka Barashada ESP32 IoT ee SunFounder

Tutorial ESP32 41/55 - Ciyaarta MP3 iyadoo la isticmaalayo kaadhka Micro SD | Qalabka Barashada ESP32 IoT ee SunFounder

Cashigarkani, waxaan ku samayn doonaa ciyaariye MP3 iyadoo la adeegsanayo kontoroolaha ESP32 iyo kaadhka SD yar. ESP32 wuxuu akhrin doonaa faylasha maqalka ee ku kaydsan kaadhka SD yar wuxuuna soo saari doonaa codka iyadoo loo marayo cod-weyneyaha iyo qalabka codka. Mashruucani wuxuu isku darayaa qaybo kala duwan, oo ay ku jiraan ESP32, cod-weyneyaha, iyo kaadhka SD yar, si aad ugu ciyaari karto muusig si toos ah.

Inta lagu guda jiro habka, waxaan ka wada hadli doonaa isku xirka lagama maarmaanka ah, koodhka, iyo sida loo xalliyo dhibaatooyinka caadiga ah. Haddii aad u baahan tahay hagitaan muuqaal ah oo dheeri ah, hubi inaad daawato fiidiyowga la xidhiidha (fiidiyowga 00:00).

Qaybaha Qalabka La Sharaxay

Qaybaha ugu muhiimsan ee loo adeegsaday mashruucan waxaa ka mid ah kontoroolaha ESP32, kaadhka SD yar, cod-weyneyaha, iyo qalabka codka. ESP32 waa kontorool awood badan oo leh Wi-Fi iyo Bluetooth ku dhex dhisan, taasoo ka dhigaysa mid ku habboon mashruucyada IoT. Waxay maamuli doontaa habaynta iyo xakamaynta ciyaarista maqalka.

Kaadhka SD yar waxaa loo isticmaalaa in lagu kaydiyo faylasha maqalka ee qaabka MP3. Wuxuu ku xidhmaa ESP32 wuxuuna u oggolaanayaa barnaamijka inuu akhriyo faylasha oo u diro xogta maqalka cod-weyneyaha. Cod-weyneyuhu wuxuu qaataa signal-ka dhijitaalka ah ee ka yimaada ESP32 wuxuuna kor u qaadaa si uu u wado qalabka codka, taasoo u oggolaanaysa in codka la maqlo.

Faahfaahinta Xogta

Soo saarahaSunFounder
Nambarka qaybtaESP32
Danabka Logic/IO3.3 V
Danabka sahayda5 V
Korontada soo saarka (kanal kasta)2 A ugu badnaan
Korontada ugu sarreysa (kanal kasta)3 A ugu badnaan
Hagaha soo noqnoqoshada PWMilaa 40 kHz
Heerarka caqabadaha gelinta0.3 x VCC (hoose), 0.7 x VCC (sare)
Hoos u dhaca danabka / RDS(on) / dhereg0.15 V
Xadka kulaylka85 °C
BaakadWROOM-32
Qoraalo / noocyo kaleWuxuu la shaqeeyaa maktabado maqal oo kala duwan

  • Hubi in kaadhka SD yar lagu qaabeeyey FAT32.
  • Isticmaal resistor si aad ugu xidho cod-weyneyaha si looga hortago qallooca.
  • Ku hay isku xirka sahayda korontada mid deggan si looga fogaado carqaladaha.
  • Hubi fiilooyinka haddii ay jiraan kuwo dabacsan ka hor intaadan shidin nidaamka.
  • La soco soo saarka serial-ka si aad u hesho macluumaadka xallinta dhibaatooyinka.
  • Isticmaal qalabka codka ee caqabad hooseeya si tayada codka u fiicnaato.
  • Si waxqabadka ugu fiican, hubi in ESP32 aan lagu cusboonayn hawlo kale inta lagu jiro ciyaarista maqalka.

SD_MMC waxaa loo isticmaalaa gelitaanka kaadhka SD yar, iyo AudioOutputI2S waxaa loo isticmaalaa soo saarista maqalka.

Tilmaamaha Isku Xirka

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

Si aad ugu xidho qaybaha, waxaad ku bilaabaysaa isku xirka sahayda korontada. Ku xidh 5 V ee ka yimaada ESP32 pin-ka VCC ee cod-weyneyaha. Marka xigta, ku xidh pin-ka dhulka ee ESP32 pin-ka dhulka ee cod-weyneyaha. Pin-ka soo saarista maqalka ee ESP32, oo badanaa ah GPIO25, waa in lagu xidhaa pin-ka gelinta ee cod-weyneyaha iyadoo loo marayo resistor 10 kΩ.

Qalabka codka, ku xidh pin-yada soo saarista ee cod-weyneyaha. Ogsoonow in qalabka codka uusan lahayn polarity, marka waxaad ku xidhi kartaa labada si. Geli kaadhka SD yar meesha loogu talagalay ee ESP32. Hubi inaad laba jeer hubiso dhammaan isku xirka ka hor intaadan shidin nidaamka.

Tusaalooyinka Koodhka & Sharaxaad

Koodhka la bixiyay, waxaan ku bilaabaynaa inaan ku darro maktabadaha lagama maarmaanka ah ee ciyaarista maqalka iyo gelitaanka kaadhka SD. Aqoonsiyada ugu muhiimsan waa mp3, file, iyo out, kuwaas oo u taagan soo-saare MP3, isha faylka maqalka, iyo soo saarista maqalka, siday u kala horreeyaan.

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

Halkan, waxaan ku dhawaaqaynaa tilmaamayaasha soo-saare MP3 iyo isha faylka maqalka. Shaqada setup(), waxaan bilaabaynaa isgaarsiinta serial-ka iyo kaadhka 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);
}

Qaybtan, waxaan hubinaynaa in kaadhka SD si guul leh loo rakibay. Haddii ay ku guuldareysato, farriin qalad ah ayaa la daabacaa. Markaas waxaan dejinaynaa faylka MP3 iyo qaabka soo saarista maqalka.

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

Loop-kani wuxuu hubinayaa in faylka MP3 uu wali ciyaarayo. Haddii uusan ciyaarin, wuxuu daabacaa farriin muujinaysa in ciyaarista la dhammeeyay. Koodhka buuxa ayaa hoos ku soo dejin doona maqaalka si aad u sii fiirsato.

Muuujin / Waxa Laga Filanayo

Marka dhammaan isku xirka la sameeyo oo koodhka la soo geliyo, waxaad maqli doontaa maqalka oo ka ciyaaraya qalabka codka marka kaadhka SD yar la geliyo. Hubi inaad dib u bilowdo ESP32 ka dib markaad geliso kaadhka. Haddii maqalku uusan ciyaarin, hubi isku xirka oo hubi in faylka maqalka si sax ah loogu magacaabay koodhka (fiidiyowga 05:00).

Dhibaatooyinka caadiga ah waxaa ka mid ah in kaadhka SD yar aan si sax ah loo qaabeeyin ama la isticmaalo noocyada faylasha maqalka ee aan la taageerin. Had iyo jeer hubi in faylasha ay ku jiraan qaabka MP3 oo lagu riday tusmada asaasiga ah ama galka la cayimay sida loo baahan yahay.

Waqtiyada Fiidiyowga

  • 00:00 Bilow
  • 2:19 Hordhaca mashruuca
  • 4:27 Bogga dukumeentiyada
  • 5:32 Isku xirka cod-weyneyaha
  • 8:00 Qaabaynta kaadhka microSD ee ESP32
  • 10:16 Maktabadda iyo Koodhka
  • 15:16 Doorashada guddiga ESP32 iyo COM port ee Arduino IDE
  • 16:58 Ciyaarista hees iyadoo la adeegsanayo ESP32 oo ka imanaya kaadhka Micro SD
  • 19:14 Tusaale labaad iyadoo la adeegsanayo batteriga 18650

Sawirro

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
Luqadda: 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);
  }
}

Kheyraadka & Tixraacyada

Faylasha📁

Fayl la'aan.