ESP32 ટ્યુટોરિયલ 41/55 - માઇક્રો SD કાર્ડનો ઉપયોગ કરીને MP3 પ્લેયર | સનફાઉન્ડરનો ESP32 IoT લર્નિંગ કિટ
આ ટ્યુટોરિયલમાં, આપણે ESP32 માઇક્રોકંટ્રોલર અને માઇક્રો SD કાર્ડનો ઉપયોગ કરીને MP3 પ્લેયર બનાવીશું. ESP32 માઇક્રો SD કાર્ડ પર સંગ્રહિત ઓડિયો ફાઇલો વાંચશે અને ઓડિયો એમ્પ્લીફાયર અને સ્પીકર દ્વારા અવાજ આઉટપુટ કરશે. આ પ્રોજેક્ટ ESP32, ઓડિયો એમ્પ્લીફાયર અને માઇક્રો SD કાર્ડ સહિત વિવિધ ઘટકોને જોડે છે, જેથી તમે સરળ રીતે સંગીત વગાડી શકો.
સમગ્ર પ્રક્રિયા દરમિયાન, આપણે જરૂરી વાયરિંગ, કોડિંગ અને સામાન્ય સમસ્યાઓનું નિવારણ કેવી રીતે કરવું તેની ચર્ચા કરીશું. વધુ દ્રશ્ય માર્ગદર્શન માટે, સંબંધિત વિડિઓ (વિડિઓમાં 00:00 પર) ચોક્કસપણે જુઓ.
હાર્ડવેર સમજાવ્યું
આ પ્રોજેક્ટમાં ઉપયોગમાં લેવાતા મુખ્ય ઘટકોમાં ESP32 માઇક્રોકંટ્રોલર, માઇક્રો SD કાર્ડ, ઓડિયો એમ્પ્લીફાયર અને સ્પીકરનો સમાવેશ થાય છે. ESP32 એ બિલ્ટ-ઇન Wi-Fi અને બ્લૂટૂથ ક્ષમતાઓ ધરાવતું શક્તિશાળી માઇક્રોકંટ્રોલર છે, જે તેને IoT પ્રોજેક્ટ્સ માટે આદર્શ બનાવે છે. તે ઓડિયો પ્લેબેકની પ્રક્રિયા અને નિયંત્રણ સંભાળશે.
માઇક્રો SD કાર્ડનો ઉપયોગ MP3 ફોર્મેટમાં ઓડિયો ફાઇલો સંગ્રહિત કરવા માટે થાય છે. તે ESP32 સાથે જોડાય છે અને પ્રોગ્રામને ફાઇલો વાંચવા અને એમ્પ્લીફાયરને ઓડિયો ડેટા મોકલવાની મંજૂરી આપે છે. ઓડિયો એમ્પ્લીફાયર ESP32 માંથી ડિજિટલ સિગ્નલ લે છે અને સ્પીકર ચલાવવા માટે તેને વિસ્તૃત કરે છે, જેથી અવાજ સંભળાય.
ડેટાશીટ વિગતો
| ઉત્પાદક | SunFounder |
|---|---|
| ભાગ નંબર | ESP32 |
| લોજિક/IO વોલ્ટેજ | 3.3 V |
| સપ્લાય વોલ્ટેજ | 5 V |
| આઉટપુટ કરંટ (પ્રતિ ચેનલ) | 2 A મહત્તમ |
| પીક કરંટ (પ્રતિ ચેનલ) | 3 A મહત્તમ |
| PWM ફ્રીક્વન્સી માર્ગદર્શન | 40 kHz સુધી |
| ઇનપુટ લોજિક થ્રેશોલ્ડ | 0.3 x VCC (નીચું), 0.7 x VCC (ઊંચું) |
| વોલ્ટેજ ડ્રોપ / RDS(on) / સેચ્યુરેશન | 0.15 V |
| થર્મલ મર્યાદાઓ | 85 °C |
| પેકેજ | WROOM-32 |
| નોંધો / વેરિઅન્ટ્સ | વિવિધ ઓડિયો લાઇબ્રેરીઓ સાથે સુસંગત |
- ખાતરી કરો કે માઇક્રો SD કાર્ડ FAT32 તરીકે ફોર્મેટ થયેલ છે.
- વિકૃતિ અટકાવવા માટે ઓડિયો એમ્પ્લીફાયરને જોડવા માટે રેઝિસ્ટરનો ઉપયોગ કરો.
- વિક્ષેપો ટાળવા માટે પાવર સપ્લાય કનેક્શન સ્થિર રાખો.
- સિસ્ટમને પાવર આપતા પહેલા ઢીલા કનેક્શન માટે વાયરિંગ તપાસો.
- ડીબગિંગ માહિતી માટે સીરિયલ આઉટપુટનું નિરીક્ષણ કરો.
- વધુ સારી ધ્વનિ ગુણવત્તા માટે ઓછી-ઇમ્પિડન્સ સ્પીકર્સનો ઉપયોગ કરો.
- શ્રેષ્ઠ કામગીરી માટે, ખાતરી કરો કે ઓડિયો વગાડતી વખતે ESP32 કાર્યોથી ઓવરલોડ નથી.
SD_MMC માઇક્રો SD ઍક્સેસ માટે વપરાય છે, અને AudioOutputI2S ઓડિયો આઉટપુટ માટે ઉપયોગમાં લેવાય છે.
વાયરિંગ સૂચનાઓ


ઘટકોને એકસાથે વાયર કરવા માટે, પાવર સપ્લાયને જોડીને શરૂ કરો. ESP32 માંથી 5 V ને ઓડિયો એમ્પ્લીફાયરના VCC પિન સાથે જોડો. આગળ, ESP32 માંથી ગ્રાઉન્ડ પિનને એમ્પ્લીફાયરના ગ્રાઉન્ડ પિન સાથે જોડો. ESP32 માંથી ઓડિયો આઉટપુટ પિન, સામાન્ય રીતે GPIO25, 10 kΩ રેઝિસ્ટર દ્વારા એમ્પ્લીફાયરના ઇનપુટ પિન સાથે જોડાયેલ હોવો જોઈએ.
સ્પીકર માટે, તેને ઓડિયો એમ્પ્લીફાયરના આઉટપુટ પિન સાથે જોડો. નોંધ કરો કે સ્પીકરમાં ધ્રુવીયતા નથી, તેથી તમે તેને કોઈપણ રીતે જોડી શકો છો. માઇક્રો SD કાર્ડને ESP32 પરના નિયુક્ત સ્લોટમાં દાખલ કરો. સિસ્ટમને પાવર આપતા પહેલા બધા કનેક્શન બે વાર તપાસવાની ખાતરી કરો.
કોડ ઉદાહરણો અને વોકથ્રુ
પ્રદાન કરેલ કોડમાં, આપણે ઓડિયો પ્લેબેક અને SD કાર્ડ ઍક્સેસ માટે જરૂરી લાઇબ્રેરીઓ શામેલ કરીને શરૂ કરીએ છીએ. મુખ્ય ઓળખકર્તાઓ mp3, file અને out છે, જે અનુક્રમે MP3 જનરેટર, ઓડિયો ફાઇલ સ્ત્રોત અને ઓડિયો આઉટપુટ દર્શાવે છે.
AudioGeneratorMP3 *mp3;
AudioFileSourceSD_MMC *file;
AudioOutputI2S *out;
અહીં, આપણે MP3 જનરેટર અને ઓડિયો ફાઇલ સ્ત્રોત માટે પોઇન્ટર્સ જાહેર કરીએ છીએ. setup() ફંક્શનમાં, આપણે સીરિયલ કમ્યુનિકેશન અને SD કાર્ડ શરૂ કરીએ છીએ.
void setup() {
Serial.begin(115200);
if (!SD_MMC.begin()) {
Serial.println("SD કાર્ડ માઉન્ટ નિષ્ફળ!");
}
file = new AudioFileSourceSD_MMC("/To Alice.mp3");
out = new AudioOutputI2S(0, 1);
}
આ ભાગમાં, આપણે તપાસીએ છીએ કે SD કાર્ડ સફળતાપૂર્વક માઉન્ટ થયું છે કે નહીં. જો તે નિષ્ફળ જાય, તો ભૂલ સંદેશ છાપવામાં આવે છે. પછી આપણે MP3 ફાઇલ અને ઓડિયો આઉટપુટ મોડ સેટ કરીએ છીએ.
void loop() {
if (mp3->isRunning()) {
if (!mp3->loop()) mp3->stop();
} else {
Serial.println("MP3 પૂર્ણ");
delay(1000);
}
}
આ લૂપ તપાસે છે કે MP3 ફાઇલ હજુ પણ વાગી રહી છે કે નહીં. જો તે નથી, તો તે પ્લેબેક પૂર્ણ થયું છે તે દર્શાવતો સંદેશ છાપે છે. વધુ સંદર્ભ માટે સંપૂર્ણ કોડ લેખની નીચે લોડ થશે.
પ્રદર્શન / શું અપેક્ષા રાખવી
એકવાર બધું વાયર થઈ જાય અને કોડ અપલોડ થઈ જાય, પછી માઇક્રો SD કાર્ડ દાખલ કરવામાં આવે ત્યારે તમારે સ્પીકર દ્વારા ઓડિયો વાગતો સાંભળવો જોઈએ. કાર્ડ દાખલ કર્યા પછી ESP32 રીસેટ કરવાની ખાતરી કરો. જો ઓડિયો વાગતું નથી, તો વાયરિંગ તપાસો અને ખાતરી કરો કે ઓડિયો ફાઇલ કોડમાં યોગ્ય રીતે નામ આપવામાં આવી છે (વિડિઓમાં 05:00 પર).
સામાન્ય મુશ્કેલીઓમાં માઇક્રો SD કાર્ડ યોગ્ય રીતે ફોર્મેટ ન કરવું અથવા અસમર્થિત ઓડિયો ફાઇલ ફોર્મેટનો ઉપયોગ કરવાનો સમાવેશ થાય છે. હંમેશા ખાતરી કરો કે ફાઇલો MP3 ફોર્મેટમાં છે અને જરૂર મુજબ રૂટ ડિરેક્ટરી અથવા નિર્દિષ્ટ ફોલ્ડરમાં મૂકવામાં આવી છે.
વિડિઓ ટાઇમસ્ટેમ્પ્સ
- 00:00 શરૂઆત
- 2:19 પ્રોજેક્ટનો પરિચય
- 4:27 ડોક્સ પૃષ્ઠ
- 5:32 ઓડિયો એમ્પ્લીફાયર માટે વાયરિંગ
- 8:00 ESP32 માટે માઇક્રોSD કાર્ડ ફોર્મેટિંગ
- 10:16 લાઇબ્રેરી અને કોડ
- 15:16 Arduino IDE માં ESP32 બોર્ડ અને COM પોર્ટ પસંદ કરવું
- 16:58 માઇક્રો SD કાર્ડમાંથી ESP32 નો ઉપયોગ કરીને ગીત વગાડવું
- 19:14 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
Resources & references
-
DocumentationESP32 Tutorial 41/55- SunFounder doc page for playing music from memory carddocs.sunfounder.com
Files📁
No files available.