في هذا الدرس، سنقوم بإنشاء مشغل MP3 باستخدام متحكم ESP32 وقرص micro SD. سيقوم ESP32 بقراءة ملفات الصوت المخزنة على قرص micro SD وإخراج الصوت من خلال مضخم صوت ومكبر صوت. يجمع هذا المشروع بين مكونات مختلفة، بما في ذلك ESP32 ومضخم الصوت وقرص micro SD، لتمكينك من تشغيل الموسيقى بطريقة بسيطة.
خلال العملية، سنناقش الأسلاك الضرورية، والترميز، وكيفية استكشاف المشكلات الشائعة. لمزيد من الإرشاد البصري، تأكد من مشاهدة الفيديو المرتبط (في الفيديو عند :00).
شرح الأجهزة
تشمل المكونات الرئيسية المستخدمة في هذا المشروع وحدات التحكم الدقيقة ESP32، وبطاقة micro SD، ومضخم صوت، ومكبر صوت. يعتبر ESP32 وحدة تحكم دقيقة قوية مزودة بإمكانيات واي فاي وبلوتوث مدمجة، مما يجعلها مثالية لمشاريع إنترنت الأشياء. ستقوم بمعالجة والتحكم في تشغيل الصوت.
تُستخدم بطاقة micro SD لتخزين ملفات الصوت بصيغة MP3. تتصل بالـ ESP32 وتسمح للبرنامج بقراءة الملفات وإرسال بيانات الصوت إلى المضخم. يأخذ مضخم الصوت الإشارة الرقمية من الـ ESP32 ويضخمها لدفع السماعة، مما يسمح بسماع الصوت.
تفاصيل ورقة البيانات
شركة التصنيع
سان فاوندر
رقم الجزء
ESP32
جهد المنطق/المدخلات والمخرجات
٣.٣ فولت
جهد الإمداد
٥ ف
التيار الناتج (لكل قناة)
٢ أ أقصى
تيار الذروة (لكل قناة)
3 أ القصوى
إرشادات تردد PWM
حتى 40 كيلوهرتز
مستويات عتبة المنطق المدخلات
0.3 × VCC (منخفض)، 0.7 × VCC (مرتفع)
هبوط الجهد / Rدي إس (أون)/ تشبع
0.15 فولت
الحدود الحرارية
85 درجة مئوية
حزمة
WROOM-32
ملاحظات / متغيرات
متوافق مع مكتبات الصوت المختلفة
تأكد من أن بطاقة المايكرو SD مُهيأة بتنسيق FAT32.
استخدم مقاومة لتوصيل مكبر الصوت لتجنب التشويش.
احرص على أن تظل اتصالات مزود الطاقة مستقرة لتجنب الانقطاعات.
تحقق من الأسلاك للتأكد من عدم وجود اتصالات فضفاضة قبل تشغيل النظام.
راقب الإخراج التسلسلي لمعلومات تصحيح الأخطاء.
استخدم مكبرات صوت ذات مقاومة منخفضة للحصول على جودة صوت أفضل.
لأداء أفضل، تأكد من أن ESP32 ليست محملة بالمهام أثناء تشغيل الصوت.
SD_MMCيستخدم للوصول إلى بطاقة micro SD، وAudioOutputI2Sيستخدم للإخراج الصوتي.
لربط المكونات معًا، ابدأ بتوصيل مصدر الطاقة. قم بتوصيل 5 فولت من ESP32 إلى دبوس VCC من مكبر الصوت. بعد ذلك، قم بتوصيل دبوس الأرض من ESP32 إلى دبوس الأرض من المكبر. دبوس خرج الصوت من ESP32، عادة...GPIO25يجب أن يتصل برأس الإدخال للمضخم عبر مقاومة بقيمة 10 كΩ.
للسماعة، قم بتوصيلها بأطراف الخرج لمكبر الصوت. لاحظ أن السماعة ليس لها قطبية، لذا يمكنك توصيلها بأي اتجاه. أدخل بطاقة micro SD في الفتحة المخصصة على ESP32. تأكد من التحقق من جميع التوصيلات قبل تشغيل النظام.
أمثلة الشيفرة والتوجيهات
في الكود المقدم، نبدأ بتضمين المكتبات اللازمة لتشغيل الصوت والوصول إلى بطاقة الذاكرة SD. المعرفات الرئيسية هيmp3,file, andout، والتي تمثل مولد MP3، ومصدر ملف الصوت، ومخرج الصوت، على التوالي.
هنا، نعلن عن المؤشرات لمولد MP3 ومصدر ملف الصوت. في الـsetup()نقوم بتهيئة الاتصال التسلسلي وبطاقة 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);
}
في هذا الاقتباس، نتحقق مما إذا كانت بطاقة SD محمولة بنجاح. إذا فشلت، يتم طباعة رسالة خطأ. ثم نقوم بإعداد ملف MP3 ووضع إخراج الصوت.
void loop() {
if (mp3->isRunning()) {
if (!mp3->loop()) mp3->stop();
} else {
Serial.println("MP3 done");
delay(1000);
}
}
هذه الحلقة تتحقق مما إذا كان ملف MP3 لا يزال قيد التشغيل. إذا لم يكن كذلك، فإنها تطبع رسالة تشير إلى أن التشغيل قد اكتمل. سيتم تحميل الكود الكامل أدناه المقال للرجوع إليه لاحقًا.
عرض / ما يمكن توقعه
بمجرد توصيل كل شيء ورفع الشيفرة، يجب أن تسمع الصوت يُشَغَّل من خلال السماعة عندما يتم إدخال بطاقة micro SD. تأكد من إعادة تعيين ESP32 بعد إدخال البطاقة. إذا لم يتم تشغيل الصوت، تحقق من التوصيلات وتأكد من أن اسم ملف الصوت مكتوب بشكل صحيح في الشيفرة (في الفيديو عند 05:00).
تشمل الأخطاء الشائعة عدم تنسيق بطاقة micro SD بشكل صحيح أو استخدام تنسيقات ملفات الصوت غير المدعومة. تأكد دائمًا من أن الملفات بتنسيق MP3 وموجودة في الدليل الجذر أو المجلد المحدد حسب الحاجة.
طوابع زمنية للفيديو
00:00 ابدأ
:19 مقدمة في المشروع
صفحة الوثائق 4:27
5:32 توصيل لمضخم الصوت
8:00 تنسيق بطاقة microSD ل ESP32
10:16 المكتبة والرمز
:16 اختيار لوحة ESP32 ومنفذ COM في Arduino IDE
16:58 تشغيل الأغنية باستخدام ESP32 من بطاقة Micro SD
:14 عرض ثانٍ باستخدام بطارية 18650
الصور
speaker_pic
audio_module
ESP32-40-micro-sd-card-1
esp32-41-play-music-wriing
speaker_pic
audio_module
ESP32-40-micro-sd-card-1
esp32-41-play-music-wriing
842-ESP32 Tutorial 41/55- Arduino code for playing music from microSD card