ویژگی های ماژول پخش صدا DFPlayer
ماژول DFPlayer یک پخش کننده موسیقی از طریق سریال و MicroSD می باشد. این ماژول امکان پشتیبانی تا حداکثر 32 گیگابایت MicroSD با فرمت های FAT16وFAT32 را داراست. این ماژول دارای تقویت کننده داخلی می باشد.
نکته
ماژول پخش موسیقیDFPlayer میتواند بدون اتصال به میکروکنترلر نیز کار کند.
دیتاشیت ماژول پخش موسیقی DFPlayer را می توانید از اینجا دانلود کنید.
معرفی پایه ها (Pinout) ماژول پخش موسیقی DFPlayer
ماژول DFPlayer دارای 16 پایه است. کاربرد پایه های پرکاربرد این ماژول به شرح زیر است:
- VCC: تغذیه ماژول – 5 ولت
- GND: زمین
- RX: دریافت اطلاعات از طریق پروتکل سریال
- TX: ارسال اطلاعات از طریق پروتکل سریال
- SPK1: خروجی بلندگوی اول
- SPK2: خروجی بلندگوی دوم
پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی ماژول پخش موسیقی DFPlayer
گام اول: سیم بندی
مطابق مدار زیر، ماژول را به آردوینو وصل کنید.
گام دوم: کد
ابتدا کتابخانه زیر را بر آردوینوی خود نصب کنید.
توجه
اگر نیاز به راهنمایی بیشتر برای نصب کتابخانه در آردوینو دارید، می توانید به آموزش نصب کتابخانه در آردوینو مراجعه کنید.
کد زیر را روی برد آردوینوی خود آپلود کنید.
/*
modified on Sep 8, 2020
Examples from https://github.com/PowerBroker2/DFPlayerMini_Fast
Home<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="position: absolute; clip: rect(1px, 1px, 1px, 1px);" title="“Home” — Electropeak | Ultimate Robotics Solutions" src="https://electropeak.com/learn/embed/#?secret=KSi6L3ymYy" data-secret="KSi6L3ymYy" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
*/
#include <DFPlayerMini_Fast.h>
#if !defined(UBRR1H)
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
#endif
DFPlayerMini_Fast myMP3;
void setup()
{
Serial.begin(115200);
#if !defined(UBRR1H)
mySerial.begin(9600);
myMP3.begin(mySerial);
#else
Serial.begin(9600);
myMP3.begin(Serial1);
#endif
Serial.println("Setting volume to max");
myMP3.volume(30);
delay(20);
Serial.println("Playing track 1 for 5 sec");
myMP3.play(1);
}
void loop()
{
//do nothing
}
Arduino
Comments (22)
سلام من این پروژه را چند بار اجرا کردم ولی گاهی کار می کند وگاهی کار نمی کند
با سلام
از درستی ارتباط ها و محکم بودن کانکشن های خود اطمینان حاصل کنید. امکان دارد اشکال در این نقطه باشد.
سلام من وقتی بلندگو ۴ اهم ۱۵ وات رو به ماژول وصل میکنم ماژول خیلی داغ میکنه
صدا رو هم روی آخرین حد گذاشتم
فکر می کنید مشکل از کجاست؟
با سلام
جناب توجه کنید این ماژول پخش 2 واتی هست.
شما باید از یک آمپلی فایر بین این ماژول و بلندگو خود استفاده کنید.
سلام اگه این مقاومت ها را نگذاریم چی میشه
با سلام
در صورتی که از برد هایی استفاده میکنید که 3.3 ولتی می باشد (مانند ESP یا STM) می توانید مقاومت را قرار ندهید.
اما در برد هایی که 5 ولتی می باشند به دلیل سطح ولتاژ 5 ولتی آردوینو امکان آسیب رسیدن به ماژول می باشد.
بلندگوی مناسب میفرمایید ؟
با سلام
همان طور که داخل توضیحات محصول آمده است “حداکثر توان خروجی صدا: 3 وات” می باشد.
پس از هر مدل بلندگویی که زیر 3 وات باشد می توانید استفاده نمایید. (نرمال 4 اهم باشد مناسب است)
ایا امکان انتخاب یک فایل بخصوص از بین فایلهای موجود هست که پلی کنه؟
با سلام
اگر کتابخانه مربوطه را مطالعه بفرمایید. کدی به نام
void play(uint16_t trackNum);
وجود دارد که شماره ترک مورد نظر را پخش میکند.به این صورت می توانید فایل مورد نظر را اعلام کنید تا پخش کند.
نحوه نوشتن این دستور داخل آموزش آخرین خط کد می باشد.
چه نوع بلندگوی مناسب این شماتیک هست ؟
با سلام
این سوال قبلا پاسخ داده شده است. بالاتر را مشاهده کنید.
سلام
من دو مورد رو نیاز دارم که پیاده کنم
اول اینکه یک فایل بصورت رندوم پخش بشه
دوم اینکه مدت زمان پخش پیام رو تعیین کنم
میتونید راهنماییم کنید؟
با سلام
برای پخش به صورت رندوم میتوانید از فانکشن randomAll() برای این موضوع استفاده بکنید.
برای اینکه مدت زمان پخش رو مشخص بکنید فکر نمیکنم راهکاری باشد.
راهکار دیگر این می باشد داخل کد خود به صورت رندوم اسم یک آهنگ رو اعلام بکنید پخش بکند و زمانی رو هم که میخواهید پخش بشود را مشخص بکنید و در سر آن زمان دستور stop را بدهید و سراغ فایل بعدی بروید.
با سلام و عرض ادب و ممنون از آموزش خوبتان. آیا می شود این ماژول را به وسیله ی آی سی atmega16 و در محیط کدویژن با زبان c راه اندازی کرد .
با سلام
اگر در برنامه نویسی در کد ویژن خبره هستید و با سریال کار کرده اید. بلی میتوانید راه اندازی بکنید
چون باید تحت سریال دستور هایی که داخل کتابخانه آمده است را بزنید تا ماژول عمل پخش را انجام بدهد.
این موضوع را نیز در نظر داشته باشید که کدویژن 2006 منقضی شده است و بهتر است به Arduino IDE سویچ بکنید. (کتابخانه اضافه کردن ATMega16 به نرمافزار آردوینو)
خیلی کمک کننده بود با تشکر فراوان از سایت خوبتون
سلام مهندس چطور میشه بعد از چند ثانیه صدا را قطع کرد چون دایم در حال پخشه
با سلام
کتابخانه مربوطه را مطالعه بکنید. دستوری برای توقف دارد
pause();
میتوانید استفاده بکنید.سلام. یعنی برای wemos d1 mini نیازی نیست که مقاومت ها رو قرار بدیم ؟ و اینکه روی wemos d1 mini دو عدد پین RX و TX میباشد ..میتوانیم از همین 2 پین استفاده کنیم ؟ ممنون
با سلام
بله نیازی نیست قرار بدهید.
پایه های rx,tx مربوط به پایه های پروگرام هستند و در صورت استفاده از این پایه ها نمیتوانید پروگرام را انجام بدهید مگر اینکه در زمان های پروگرام کردن ارتباط این ماژول را با برد ESP را قطع بکنید و پروگرام را انجام بدهید و دوباره وصل بکنید.
با سلام و خسته نباشید ببخشید یک سوال داشتم من تمام اتصالات را درست وصل کردم اما چراغ ماژول روشن نمی شود تنها زمانی که کارت micro sd داخلش می گذارم چراغش یک چشمک می زنه و بعد چراغش روشن نمی شه .مشکل از کجا می تونه باشه؟