آردوینو Arduinoویدیو

آموزش ساخت MP3 Player با استفاده از آردوینو و ماژول DF Player

یکی از مناسب ترین ماژول های موجود برای پخش فایل های صوتی ماژول DF Player Mini است که قابلیت پخش فایل های MP3 و WMV با کیفیت مطلوب را دارد. این ماژول کوچک با یک خروجی ساده می تواند مستقیما به اسپیکر متصل شود.

جهت ارتباط آسان با میکروکنترلر ها می توانیم از  رابط سریال UART استفاده کنیم و همچنین نحوه ی پخش را بدون نیاز به میکروکنترلر و از طریق کلید ها کنترل کنیم.

656464

ویژگی ها:

  • ولتاژ تغذیه: 3.2 تا 5 ولت
  • جریان مصرفی در حالت آماده به کار: 20 میلی آمپر
  • دارای شیار MicroSD با قابلیت پشتیبانی از فرمت های FAT16 و FAT32 تا حجم 32GB
  • فرمت های صوتی: MP3 و WMV
  • پروتکل ارتباطی : سریال ( UART ( Rx Tx
  • نرخ پیش فرض سریال: 9600
  • قابل اتصال به USB
  • قابلیت کنترل کامل پخش از طریق کلیدها
  • پشتیبانی از نرخ نمونه برداری 48KHz,44KHz
  • خروجی DAC با رزولوشون 24 بیت
  • کنترل پخش به سه صورت I/O,Serial,ADC
  • قابلیت افزایش یا کاهش حجم صدا
  • دارای 30 سطح برای حجم صدا
  • 6 مد اکولایزر
  • قابلیت پخش ترتیبی یا تکرار یک آهنگ
  • دسته بندی فایل ها تا 100 پوشه و 255 آهنگ در هر پوشه
  • نشانگر LED وضعیت پخش
  • خروجی صدا استریو
  • قابلیت اتصال مستقیم به بلندگو
  • حداکثر توان خروجی صدا: 3 وات
  • قابل استفاده با باتری
  • قابل استفاده با بردهای آردوینو و سایر میکروکنترلر ها

کاربردها:

  • سیستم های الکترونیکی گویا
  • کاربردهای تبلیغاتی
  • برد صوتی آسانسور
  • هشدار دهنده های صوتی
  • راهنماهای الکترونیکی
  • خانه های هوشمند
  • و هر پروژه ای که به پخش صدا  نیاز داشته باشد

 

فیلم راه اندازی :

توضیحات بیشتر به همراه نحوه عملکرد پروژه را میتوانید در ویدئوی زیر مشاهده کنید

پایه های ماژول :

fdgfd

df pin

 

 

فایل دیتاشیت

توضیحات:

ماژول DFPlayer می‌تواند به طور مستقل بدون استفاده از میکروکنترلر نیز به همراه یک عدد باتری و کلید راه‌اندازی شود.همچنین می‌توان این ماژول را به یک آردوینو و میکروکنترلر متصل نمود و با استفاده از پروتکل سریال اقدام به راه اندازی آن نمود.

در این پروژه یک Micro SD را به ماژول DF PLAYER متصل میکنیم و با استفاده از پورت سریال آردوینو و 4 عدد تک سوئیچ آن را کنترل می‌کنیم. با استفاده از تک یوئیچ ها عملیات Next, Previous, افزایش ولوم و کاهش ولوم را انجام می‌دهیم.

با توجه به شکل زیر اتصالات ماژول و برد آردوینو UNO را انجام میدیم :

photo ۲۰۱۷ ۱۲ ۰۹ ۰۹ ۵۹ ۳۴

اتصالات

پین VCC ماژول را به ۵ ولت آردوینو

پین RX ماژول را به پایه 10 آردوینو

پین TX ماژول را به پایه 11 آردوینو

SPk_1 و SPk_2 ماژول را به اسپیکر متصل می‌کنیم.

همپنین 4 عدد تک سوئیچ به پین‌های IO-1,IO-2,ADKEY-1,ADKEY-2 متصل می‌کنیم .

 

 کد برنامه:
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);

void setup()
{
  mySoftwareSerial.begin(9600);
  Serial.begin(115200);
  
  Serial.println();
  Serial.println(F("DFRobot DFPlayer Mini Demo"));
  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
  
  if (!myDFPlayer.begin(mySoftwareSerial)) {  //Use softwareSerial to communicate with mp3.
    Serial.println(F("Unable to begin:"));
    Serial.println(F("1.Please recheck the connection!"));
    Serial.println(F("2.Please insert the SD card!"));
    while(true);
  }
  Serial.println(F("DFPlayer Mini online."));
  
  myDFPlayer.volume(10);  //Set volume value. From 0 to 30
  myDFPlayer.play(1);  //Play the first mp3
}

void loop()
{
  static unsigned long timer = millis();
  
  if (millis() - timer > 3000) {
    timer = millis();
    myDFPlayer.next();  //Play next mp3 every 3 second.
  }
  
  if (myDFPlayer.available()) {
    printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.
  }
}

void printDetail(uint8_t type, int value){
  switch (type) {
    case TimeOut:
      Serial.println(F("Time Out!"));
      break;
    case WrongStack:
      Serial.println(F("Stack Wrong!"));
      break;
    case DFPlayerCardInserted:
      Serial.println(F("Card Inserted!"));
      break;
    case DFPlayerCardRemoved:
      Serial.println(F("Card Removed!"));
      break;
    case DFPlayerCardOnline:
      Serial.println(F("Card Online!"));
      break;
    case DFPlayerPlayFinished:
      Serial.print(F("Number:"));
      Serial.print(value);
      Serial.println(F(" Play Finished!"));
      break;
    case DFPlayerError:
      Serial.print(F("DFPlayerError:"));
      switch (value) {
        case Busy:
          Serial.println(F("Card not found"));
          break;
        case Sleeping:
          Serial.println(F("Sleeping"));
          break;
        case SerialWrongStack:
          Serial.println(F("Get Wrong Stack"));
          break;
        case CheckSumNotMatch:
          Serial.println(F("Check Sum Not Match"));
          break;
        case FileIndexOut:
          Serial.println(F("File Index Out of Bound"));
          break;
        case FileMismatch:
          Serial.println(F("Cannot Find File"));
          break;
        case Advertise:
          Serial.println(F("In Advertise"));
          break;
        default:
          break;
      }
      break;
    default:
      break;
  }

کتابخانه مورد استفاده در این پروژه کتابخانه DFRobotDFPlayerMini میباشد.

جهت اضافه کردن کتابخانه به آردوینو از آموزش زیر استفاده کنید :

 

96666

نوشته های مشابه

2 دیدگاه

  1. سلام.خسته نباشید
    ببخشید من میخوام این ساخت mp3 player با df player انجام بدم الان طبق شماتیک که داخل سایت گذاشتین برد اردوینو ، ماژول df player و کلیدها را بهم وصل کردم . برد اردوینو رو با این کدهایی که قرار دادین پروگرم کردم برد کتابخانه ماژول df player هم قبل پروگرم کردن اردوینو به کتابخانه اردوینو اضافه کردم بردم پروگرم شد .
    ولی الان مشکلی که هست کلیدها کار نمی کنند و آهنگ خوکار پخش میشه .
    ممنون میشم اگه راهنماییم کنین که چطوری این مشکل کلیدها رو حل کنم

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا