آموزش راه اندازی ماژول پخش موسیقی DFPlayer با آردوینو

ویژگی های ماژول پخش صدا DFPlayer

ماژول DFPlayer یک پخش کننده موسیقی از طریق سریال و MicroSD می باشد. این ماژول امکان پشتیبانی تا حداکثر 32 گیگابایت MicroSD با فرمت های FAT16وFAT32 را داراست. این ماژول دارای تقویت کننده داخلی می باشد. 
نکته
ماژول پخش موسیقیDFPlayer میتواند بدون اتصال به میکروکنترلر نیز کار کند.

دیتاشیت ماژول پخش موسیقی DFPlayer را می توانید از اینجا دانلود کنید.

معرفی پایه ها (Pinout) ماژول پخش موسیقی DFPlayer

ماژول DFPlayer دارای 16 پایه است. کاربرد پایه های پرکاربرد این ماژول به شرح زیر است:

  • VCC: تغذیه ماژول – 5 ولت
  • GND: زمین
  • RX: دریافت اطلاعات از طریق پروتکل سریال
  • TX: ارسال اطلاعات از طریق پروتکل سریال
  • SPK1: خروجی بلندگوی اول
  • SPK2: خروجی بلندگوی دوم

پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو UNO R3 × 1
ماژول پخش موسیقی DFPlayer × 1
سیم جامپر × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی ماژول پخش موسیقی DFPlayer

گام اول: سیم بندی

مطابق مدار زیر، ماژول را به آردوینو وصل کنید.

گام دوم: کد

ابتدا کتابخانه زیر را بر آردوینوی خود نصب کنید.

https://github.com/PowerBroker2/DFPlayerMini_Fast

توجه

اگر نیاز به راهنمایی بیشتر برای نصب کتابخانه در آردوینو دارید، می توانید به آموزش نصب کتابخانه در آردوینو مراجعه کنید.

کد زیر را روی برد آردوینوی خود آپلود کنید.

/*   
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="&#8220;Home&#8221; &#8212; 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)

  • E Reply

    سلام من این پروژه را چند بار اجرا کردم ولی گاهی کار می کند وگاهی کار نمی کند

    آگوست 24, 2023 at 3:09 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      از درستی ارتباط ها و محکم بودن کانکشن های خود اطمینان حاصل کنید. امکان دارد اشکال در این نقطه باشد.

      آگوست 27, 2023 at 8:50 ق.ظ
  • پارسا Reply

    سلام من وقتی بلندگو ۴ اهم ۱۵ وات رو به ماژول وصل میکنم ماژول خیلی داغ میکنه
    صدا رو هم روی آخرین حد گذاشتم
    فکر می کنید مشکل از کجاست؟

    دسامبر 30, 2023 at 2:36 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      جناب توجه کنید این ماژول پخش 2 واتی هست.
      شما باید از یک آمپلی فایر بین این ماژول و بلندگو خود استفاده کنید.

      دسامبر 31, 2023 at 8:20 ق.ظ
  • آرمین Reply

    سلام اگه این مقاومت ها را نگذاریم چی میشه

    مارس 14, 2024 at 10:43 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      در صورتی که از برد هایی استفاده میکنید که 3.3 ولتی می باشد (مانند ESP یا STM) می توانید مقاومت را قرار ندهید.
      اما در برد هایی که 5 ولتی می باشند به دلیل سطح ولتاژ 5 ولتی آردوینو امکان آسیب رسیدن به ماژول می باشد.

      مارس 24, 2024 at 10:34 ق.ظ
      • Arash Reply

        بلندگوی مناسب میفرمایید ؟

        آگوست 3, 2024 at 9:58 ب.ظ
        • محمد دمیرچی Reply

          با سلام
          همان طور که داخل توضیحات محصول آمده است “حداکثر توان خروجی صدا: 3 وات” می باشد.
          پس از هر مدل بلندگویی که زیر 3 وات باشد می توانید استفاده نمایید. (نرمال 4 اهم باشد مناسب است)

          آگوست 4, 2024 at 9:56 ق.ظ
  • شهاب Reply

    ایا امکان انتخاب یک فایل بخصوص از بین فایلهای موجود هست که پلی کنه؟

    ژوئن 18, 2024 at 1:30 ق.ظ
    • محمد دمیرچی Reply

      با سلام
      اگر کتابخانه مربوطه را مطالعه بفرمایید. کدی به نام
      void play(uint16_t trackNum); وجود دارد که شماره ترک مورد نظر را پخش میکند.
      به این صورت می توانید فایل مورد نظر را اعلام کنید تا پخش کند.
      نحوه نوشتن این دستور داخل آموزش آخرین خط کد می باشد.

      ژوئن 19, 2024 at 9:52 ق.ظ
  • سامیار Reply

    چه نوع بلندگوی مناسب این شماتیک هست ؟

    آگوست 7, 2024 at 6:49 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      این سوال قبلا پاسخ داده شده است. بالاتر را مشاهده کنید.

      آگوست 10, 2024 at 11:36 ق.ظ
  • آرش Reply

    سلام
    من دو مورد رو نیاز دارم که پیاده کنم
    اول اینکه یک فایل بصورت رندوم پخش بشه
    دوم اینکه مدت زمان پخش پیام رو تعیین کنم
    میتونید راهنماییم کنید؟

    اکتبر 24, 2024 at 5:35 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      برای پخش به صورت رندوم میتوانید از فانکشن randomAll() برای این موضوع استفاده بکنید.
      برای اینکه مدت زمان پخش رو مشخص بکنید فکر نمیکنم راهکاری باشد.
      راهکار دیگر این می باشد داخل کد خود به صورت رندوم اسم یک آهنگ رو اعلام بکنید پخش بکند و زمانی رو هم که میخواهید پخش بشود را مشخص بکنید و در سر آن زمان دستور stop را بدهید و سراغ فایل بعدی بروید.

      اکتبر 26, 2024 at 12:25 ب.ظ
      • محمد Reply

        با سلام و عرض ادب و ممنون از آموزش خوبتان. آیا می شود این ماژول را به وسیله ی آی سی atmega16 و در محیط کدویژن با زبان c راه اندازی کرد .

        ژانویه 26, 2025 at 11:14 ب.ظ
        • محمد دمیرچی Reply

          با سلام
          اگر در برنامه نویسی در کد ویژن خبره هستید و با سریال کار کرده اید. بلی میتوانید راه اندازی بکنید
          چون باید تحت سریال دستور هایی که داخل کتابخانه آمده است را بزنید تا ماژول عمل پخش را انجام بدهد.
          این موضوع را نیز در نظر داشته باشید که کدویژن 2006 منقضی شده است و بهتر است به Arduino IDE سویچ بکنید. (کتابخانه اضافه کردن ATMega16 به نرم‌افزار آردوینو)

          ژانویه 27, 2025 at 10:24 ق.ظ
  • بهاره مرزبان Reply

    خیلی کمک کننده بود با تشکر فراوان از سایت خوبتون

    دسامبر 20, 2024 at 11:24 ق.ظ
  • علیرضا مومنی Reply

    سلام مهندس چطور میشه بعد از چند ثانیه صدا را قطع کرد چون دایم در حال پخشه

    فوریه 7, 2025 at 11:10 ق.ظ
    • محمد دمیرچی Reply

      با سلام
      کتابخانه مربوطه را مطالعه بکنید. دستوری برای توقف دارد pause(); میتوانید استفاده بکنید.

      فوریه 8, 2025 at 10:55 ق.ظ
  • حسین Reply

    سلام. یعنی برای wemos d1 mini نیازی نیست که مقاومت ها رو قرار بدیم ؟ و اینکه روی wemos d1 mini دو عدد پین RX و TX میباشد ..میتوانیم از همین 2 پین استفاده کنیم ؟ ممنون

    فوریه 17, 2025 at 8:21 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      بله نیازی نیست قرار بدهید.
      پایه های rx,tx مربوط به پایه های پروگرام هستند و در صورت استفاده از این پایه ها نمیتوانید پروگرام را انجام بدهید مگر اینکه در زمان های پروگرام کردن ارتباط این ماژول را با برد ESP را قطع بکنید و پروگرام را انجام بدهید و دوباره وصل بکنید.

      فوریه 22, 2025 at 9:14 ق.ظ
  • پرهام Reply

    با سلام و خسته نباشید ببخشید یک سوال داشتم من تمام اتصالات را درست وصل کردم اما چراغ ماژول روشن نمی شود تنها زمانی که کارت micro sd داخلش می گذارم چراغش یک چشمک می زنه و بعد چراغش روشن نمی شه .مشکل از کجا می تونه باشه؟

    مارس 27, 2025 at 3:14 ب.ظ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.