آموزش ESP32 41/55 - پخشکننده MP3 با استفاده از کارت micro SD | کیت آموزشی اینترنت اشیاء ESP32 شرکت SunFounder
در این آموزش، ما یک پخشکننده MP3 با استفاده از میکروکنترلر ESP32 و یک کارت micro SD ایجاد خواهیم کرد. ESP32 فایلهای صوتی ذخیره شده بر روی کارت micro SD را خوانده و صدا را از طریق یک تقویتکننده صوتی و بلندگو پخش میکند. این پروژه شامل اجزای مختلفی از جمله ESP32، یک تقویتکننده صوتی و یک کارت micro SD است تا به شما امکان دهد به راحتی موسیقی پخش کنید.
در طول فرآیند، ما به بحث دربارهٔ نwire wiring، کدگذاری و نحوهٔ عیبیابی مشکلات رایج خواهیم پرداخت. برای راهنمایی بصری بیشتر، حتماً ویدیوی مربوطه را مشاهده کنید (در ویدیو در :00).
توضیح سختافزار
اجزای اصلی مورد استفاده در این پروژه شامل میکروکنترلر ESP32، یک کارت میکرو SD، یک تقویت کننده صوتی و یک بلندگو است. ESP32 یک میکروکنترلر قدرتمند با قابلیتهای Wi-Fi و Bluetooth داخلی است که آن را برای پروژههای اینترنت اشیا ایدهآل میسازد. این دستگاه به پردازش و کنترل پخش صوتی خواهد پرداخت.
کارت micro SD برای ذخیره فایلهای صوتی به فرمت MP3 استفاده میشود. این کارت به ESP32 متصل میشود و به برنامه اجازه میدهد تا فایلها را بخواند و دادههای صوتی را به تقویتکننده ارسال کند. تقویتکننده صوتی، سیگنال دیجیتال را از ESP32 دریافت کرده و آن را تقویت میکند تا بلندگو را راهاندازی کند و صدای منتشر شده را بشنویم.
جزئیات ورق داده
| تولید کننده | سان فاندِر |
|---|---|
| شماره قطعه | ESP32 |
| ولتاژ منطق/ورودی و خروجی | ۳.۳ ولت |
| ولتاژ منبع | ۵ ولت |
| خروجی جریان (به ازای هر کانال) | ۲ A ماکس |
| جریان اوج (برای هر کانال) | ۳ A حداکثر |
| راهنمایی فرکانس PWM | تا ۴۰ کیلوهرتز |
| آستانههای منطق ورودی | ۰.۳ × VCC (کم)، ۰.۷ × VCC (زیاد) |
| افت ولتاژ / RDS(on)/ اشباع | ۰.۱۵ ولت |
| محدودیتهای حرارتی | ۸۵ درجه سانتیگراد |
| بسته | WROOM-32 |
| یادداشتها / واریانتها | سازگار با کتابخانههای مختلف صوتی |
- اطمینان حاصل کنید که کارت میکرو SD به فرمت FAT32 فرمت شده است.
- از یک مقاومت برای اتصال تقویت کننده صدا استفاده کنید تا از اعوجاج جلوگیری شود.
- اتصالات منبع تغذیه را پایدار نگهدارید تا از قطعی جلوگیری شود.
- قبل از روشن کردن سیستم، اتصالات شل را در سیمکشی بررسی کنید.
- خروجی سری را برای اطلاعات اشکالزدایی تحت نظر داشته باشید.
- از بلندگوهای با امپدانس پایین برای کیفیت صدای بهتر استفاده کنید.
- برای بهترین عملکرد، اطمینان حاصل کنید که ESP32 در حین پخش صدا با وظایف بارگذاری نشده است.
SD_MMCبرای دسترسی به میکرو SD استفاده میشود، وAudioOutputI2Sبرای خروجی صوتی استفاده میشود.
دستورالعملهای سیمکشی


برای اتصال قطعات به هم، ابتدا منبع تغذیه را وصل کنید. ۵ ولت را از ESP32 به پایه VCC آمپلیفایر صوتی وصل کنید. سپس پایه زمین از ESP32 را به پایه زمین آمپلیفایر وصل کنید. پایه خروجی صوتی از ESP32، معمولاًGPIO25باید از طریق یک مقاومت 10 کیلو اهم به پایه ورودی تقویتکننده متصل شود.
برای بلندگو، آن را به پایههای خروجی تقویتکننده صدا متصل کنید. توجه داشته باشید که بلندگو قطبیت ندارد، بنابراین میتوانید آن را به هر سمت متصل کنید. کارت micro 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 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 را بازنشانی کنید. اگر صدا پخش نشد، سیمکشی را بررسی کنید و اطمینان حاصل کنید که نام فایل صوتی در شِفر (کود) به درستی وارد شده است (در ویدیو در ۰۵:۰۰).
تلههای معمول شامل عدم فرمت کردن صحیح کارت میکرو SD یا استفاده از فرمتهای فایل صوتی غیر پشتیبانیشده است. همیشه اطمینان حاصل کنید که فایلها به فرمت MP3 هستند و در دایرکتوری ریشه یا پوشه مشخصشده قرار دارند.
زمانبندی ویدئو
- ۰۰:۰۰ شروع
- مقدمهای بر پروژه 2:19
- صفحه مستندات ۴:۲۷
- 5:32 سیم کشی برای تقویت کننده صدا
- فرمت کردن microSD کارت برای ESP32 در ساعت 8:00
- ۱۰:۱۶ کتابخانه و شِفر (کود)
- انتخاب بورد ESP32 و پورت COM در Arduino IDE 15:16
- در حال پخش آهنگ با استفاده از ESP32 از کارت حافظه میکرو SD ساعت ۱۶:۵۸
- ۱۹:۱۴ دمو دوم با استفاده از باتری ۱۸۶۵۰
#include "AudioFileSourceSD_MMC.h"
#include "AudioOutputI2S.h"
#include "AudioGeneratorMP3.h"
#include "SD_MMC.h"
#include "FS.h"
// اشارهگرهایی برای تولیدکننده MP3، منبع فایل و خروجی اعلام کنید.
AudioGeneratorMP3 *mp3;
AudioFileSourceSD_MMC *file;
AudioOutputI2S *out;
void setup() {
// ارتباط سریالی را راهاندازی کنید.
Serial.begin(115200);
delay(1000);
// کارت SD را راهاندازی کنید. اگر ناموفق بود، یک پیام خطا چاپ کنید.
if (!SD_MMC.begin()) {
Serial.println("SD card mount failed!");
}
// فایل MP3 را از کارت SD باز کنید. "/To Alice.mp3" را با نام فایل MP3 خود جایگزین کنید.
file = new AudioFileSourceSD_MMC("/To Alice.mp3");
// خروجی I2S را بر روی DAC داخلی ESP32 تنظیم کنید.
out = new AudioOutputI2S(0, 1);
// خروجی را روی حالت مونو تنظیم کنید.
out->SetOutputModeMono(true);
// جنراتور MP3 را با فایل و خروجی راهاندازی کنید.
mp3 = new AudioGeneratorMP3();
mp3->begin(file, out);
}
void loop() {
// اگر MP3 در حال پخش است، آن را تکرار کن. در غیر این صورت، آن را متوقف کن.
if (mp3->isRunning()) {
if (!mp3->loop()) mp3->stop();
}
// اگر MP3 در حال اجرا نیست، یک پیام چاپ کنید و به مدت 1 ثانیه منتظر بمانید.
else {
Serial.println("MP3 done");
delay(1000);
}
}
Common Course Links
Common Course Files
منابع و مراجع
-
مستنداتآموزش ESP32 41/55- صفحه سند SunFounder برای پخش موسیقی از کارت حافظهdocs.sunfounder.com
فایلها📁
هیچ فایلی موجود نیست.