Koyarwar ESP32 41/55 - Mai kunna MP3 ta amfani da katin Micro SD | Kunshin koyon ESP32 IoT na SunFounder
A cikin wannan koyawa, za mu ƙirƙiri MP3 player ta amfani da ESP32 microcontroller da micro SD card. ESP32 zai karanta fayilolin sauti da aka adana a kan micro SD card kuma ya fitar da sauti ta hanyar audio amplifier da lasifika. Wannan aikin ya haɗa abubuwa daban-daban, ciki har da ESP32, audio amplifier, da micro SD card, don ba ka damar kunna kiɗa cikin sauƙi.
A duk tsawon tsari, za mu tattauna hanyoyin haɗin waya, coding, da yadda ake magance matsalolin gama-gari. Don ƙarin jagorar gani, ka tabbata ka duba bidiyon da ke da alaƙa (a cikin bidiyo a 00:00).
Bayanin Kayan Aiki
Babban abubuwan da aka yi amfani da su a wannan aikin sun haɗa da ESP32 microcontroller, micro SD card, audio amplifier, da lasifika. ESP32 microcontroller ne mai ƙarfi tare da Wi-Fi da Bluetooth da aka gina a ciki, wanda ya dace da ayyukan IoT. Zai sarrafa sarrafawa da kula da kunna sauti.
Ana amfani da micro SD card don adana fayilolin sauti a tsarin MP3. Yana haɗawa da ESP32 kuma yana ba da damar shirin ya karanta fayilolin kuma ya aika bayanan sauti zuwa amplifier. Audio amplifier yana ɗaukar siginar dijital daga ESP32 kuma ya ƙara shi don fitar da lasifika, yana ba da damar jin sauti.
Cikakkun Bayanai na Datasheet
| Manufacturer | SunFounder |
|---|---|
| Part number | ESP32 |
| Logic/IO voltage | 3.3 V |
| Supply voltage | 5 V |
| Output current (per channel) | 2 A max |
| Peak current (per channel) | 3 A max |
| PWM frequency guidance | up to 40 kHz |
| Input logic thresholds | 0.3 x VCC (low), 0.7 x VCC (high) |
| Voltage drop / RDS(on) / saturation | 0.15 V |
| Thermal limits | 85 °C |
| Package | WROOM-32 |
| Notes / variants | Compatible with various audio libraries |
- Tabbatar an tsara micro SD card a matsayin FAT32.
- Yi amfani da resistor don haɗa audio amplifier don hana ɓarna.
- Tsayar da haɗin wutar lantarki a tsaye don guje wa katsewa.
- Duba wayoyi don haɗin da ba su da ƙarfi kafin kunna tsarin.
- Kula da fitowar serial don bayanan gyara kuskure.
- Yi amfani da lasifika masu ƙarancin impedance don ingantaccen sauti.
- Don mafi kyawun aiki, tabbatar da cewa ESP32 bai cika da ayyuka ba yayin kunna sauti.
SD_MMC ana amfani dashi don samun damar micro SD, kuma AudioOutputI2S ana amfani dashi don fitowar sauti.
Umarnin Haɗin Waya


Don haɗa abubuwan tare, fara da haɗa wutar lantarki. Haɗa 5 V daga ESP32 zuwa pin VCC na audio amplifier. Na gaba, haɗa pin ƙasa daga ESP32 zuwa pin ƙasa na amplifier. Pin fitowar sauti daga ESP32, yawanci GPIO25, ya kamata a haɗa shi zuwa pin shigarwa na amplifier ta hanyar resistor 10 kΩ.
Don lasifika, haɗa shi zuwa pins na fitowar audio amplifier. Lura cewa lasifika ba shi da polarity, don haka za ka iya haɗa shi ta kowace hanya. Saka micro SD card a cikin wurin da aka keɓe akan ESP32. Tabbatar ka sake duba duk haɗin kafin kunna tsarin.
Misalan Code & Bayani
A cikin code ɗin da aka bayar, muna farawa da haɗa dakunan karatu da ake buƙata don kunna sauti da samun damar SD card. Babban masu ganowa sune mp3, file, da out, waɗanda ke wakiltar MP3 generator, tushen fayil ɗin sauti, da fitowar sauti, bi da bi.
AudioGeneratorMP3 *mp3;
AudioFileSourceSD_MMC *file;
AudioOutputI2S *out;
Anan, muna bayyana masu nuni don MP3 generator da tushen fayil ɗin sauti. A cikin aikin setup(), muna fara sadarwar serial da SD card.
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);
}
A wannan ɓangaren, muna duba ko an ɗora SD card cikin nasara. Idan ya kasa, ana buga saƙon kuskure. Sannan muna saita fayil ɗin MP3 da yanayin fitowar sauti.
void loop() {
if (mp3->isRunning()) {
if (!mp3->loop()) mp3->stop();
} else {
Serial.println("MP3 done");
delay(1000);
}
}
Wannan loop yana duba ko fayil ɗin MP3 yana kunna har yanzu. Idan ba haka ba, yana buga saƙo wanda ke nuna cewa kunna ya ƙare. Cikakken code zai ɗora a ƙasan labarin don ƙarin bayani.
Nuni / Abin da za ka Yi Tsammani
Da zarar an haɗa komai kuma an ɗora code ɗin, ya kamata ka ji sautin yana kunna ta lasifika lokacin da aka saka micro SD card. Tabbatar ka sake saita ESP32 bayan saka card ɗin. Idan sautin bai kunna ba, duba wayoyi kuma tabbatar an rubuta sunan fayil ɗin sauti daidai a cikin code (a cikin bidiyo a 05:00).
Matsalolin gama-gari sun haɗa da rashin tsara micro SD card daidai ko amfani da nau'ikan fayilolin sauti marasa tallafi. Koyaushe tabbatar da cewa fayilolin suna cikin tsarin MP3 kuma an sanya su a cikin tushen directory ko ƙayyadadden folder kamar yadda ake buƙata.
Lokutan Bidiyo
- 00:00 Fara
- 2:19 Gabatarwa ga aikin
- 4:27 Shafin Docs
- 5:32 Haɗin waya don audio amplifier
- 8:00 Tsara microSD card don ESP32
- 10:16 Library da Code
- 15:16 Zaɓin ESP32 board da COM port a cikin Arduino IDE
- 16:58 Kunna Waƙa ta amfani da ESP32 daga Micro SD card
- 19:14 Nuni na biyu ta amfani da baturin 18650
#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);
}
}
Common Course Links
Common Course Files
Albarkatun da kuma shafukan da za a duba
-
TakarduESP32 Tutorial 41/55 - SunFounder doc page for playing music from memory carddocs.sunfounder.com
Fayiloli📁
Babu fayiloli da ake da su.