ESP32 ٹیوٹوریل 41/55 - مائیکرو ایس ڈی کارڈ کا استعمال کرتے ہوئے MP3 پلیئر | سن فاؤنڈر کا ESP32 IoT لرننگ کٹ
اس ٹیوٹوریل میں، ہم ESP32 مائیکرو کنٹرولر اور مائیکرو SD کارڈ کا استعمال کرتے ہوئے ایک MP3 پلیئر بنائیں گے۔ ESP32 مائیکرو SD کارڈ پر محفوظ آڈیو فائلیں پڑھے گا اور آڈیو ایمپلیفائر اور اسپیکر کے ذریعے آواز خارج کرے گا۔ یہ پروجیکٹ مختلف اجزاء کو یکجا کرتا ہے، بشمول ESP32، ایک آڈیو ایمپلیفائر، اور ایک مائیکرو SD کارڈ، تاکہ آپ آسانی سے موسیقی چلا سکیں۔
اس پورے عمل کے دوران، ہم ضروری وائرنگ، کوڈنگ، اور عام مسائل کو حل کرنے کے طریقوں پر بات کریں گے۔ مزید بصری رہنمائی کے لیے، متعلقہ ویڈیو ضرور دیکھیں (ویڈیو میں 00:00 پر)۔
ہارڈویئر کی وضاحت
اس پروجیکٹ میں استعمال ہونے والے اہم اجزاء میں ESP32 مائیکرو کنٹرولر، ایک مائیکرو SD کارڈ، ایک آڈیو ایمپلیفائر، اور ایک اسپیکر شامل ہیں۔ ESP32 ایک طاقتور مائیکرو کنٹرولر ہے جس میں بلٹ ان Wi-Fi اور بلوٹوتھ صلاحیتیں ہیں، جو اسے IoT پروجیکٹس کے لیے مثالی بناتا ہے۔ یہ آڈیو پلے بیک کی پروسیسنگ اور کنٹرول سنبھالے گا۔
مائیکرو SD کارڈ MP3 فارمیٹ میں آڈیو فائلیں ذخیرہ کرنے کے لیے استعمال ہوتا ہے۔ یہ ESP32 سے منسلک ہوتا ہے اور پروگرام کو فائلیں پڑھنے اور آڈیو ڈیٹا ایمپلیفائر کو بھیجنے کی اجازت دیتا ہے۔ آڈیو ایمپلیفائر ESP32 سے ڈیجیٹل سگنل لے کر اسے بڑھاتا ہے تاکہ اسپیکر کو چلا سکے، جس سے آواز سنائی دیتی ہے۔
ڈیٹاشیٹ کی تفصیلات
| مینوفیکچرر | سن فاؤنڈر |
|---|---|
| پارٹ نمبر | 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
وسائل اور حوالہ جات
-
دستاویزاتESP32 Tutorial 41/55- SunFounder doc page for playing music from memory carddocs.sunfounder.com
فائلیں📁
کوئی فائلیں دستیاب نہیں ہیں۔