41. Audio DF Mini MP3 Audio Player Module
41. Audio DF Mini MP3 Audio Player Module

DF mini player merupakan modul pemutar file audio yang mendukung format file .mp3. Modul ini dapat digunakan sebagai pemutar audio secara langsung (standalone) atau dihubungkan dengan mikrokontroler dengan komunikasi RX/TX.

Audio/MP3 DF Mini player modul ini dapat diaplikasikan untuk membuat berbagai project, antara lain:

  1. Suara panggilan antrian
  2. Suara petunjuk, seperti pada GPS
  3. Suara di tiket parkir otomatis
  4. Suara mesin penjawab otomatis, customer services
  5. Alarm suara multi saluran atau suara panduan pengoperasian peralatan
  6. Alarm kegagalan peralatan elektromekanis
  7. Peralatan siaran otomatis, dan lainnya


Spesifikasi audio/MP3 DF mini player modul ini, antara lain:

  1. Support sampling rates (KHz): 8 / 11.025 / 12 / 16 / 22.05 / 24 / 32 / 44.1 / 48
  2. Output 24-bit DAC
  3. Mendukung sistem file FAT16 dan FAT32 dan penyimpanan maksimum: kartu TF 32GB, Flash disk 32GB, NORFLASH  64MB
  4. Mode kontrol bervariasi: mode kontrol I/O, mode serial, mode kontrol AD
  5. Fungsi jeda suara “iklan” (file audio utama dihentikan sementara dan akan diputar kembali setelah jeda selesai)
  6. Data audio diurutkan berdasarkan folder hingga 100 folder, setiap folder dapat menampung hingga 255 lagu
  7. Volume 30 level dan EQ 6 level

Audio/MP3 DF Mini Player Modul Secara Standalone

Pada dasarnya modul DF mini player ini dapat langsung digunakan sebagai pemutar file .mp3 secara mandiri atau standalone. Terdapat 2 mode yang dapat digunakan untuk mengakses DF mini player secara standalone, yaitu:

1. Mode  I/O

Rangkaian mode I/O modul ini cukup sederhana, hanya menggunakan 2 push button yang ditekan sesaat untuk fungsi previous dan next, sedangkan jika tombol ditekan lama maka berfungsi sebagai tombol menaikkan dan menurunkan volume audio.

2. Mode ADKEY (Analog To Digital Key)

Sedangkan pada rangkaian Mode ADKEY, untuk memutar audio/MP3 dapat menggunakan 20 perintah dengan 20 push button yang berbeda melalui ADC pada pin ADKEY_1 dan ADKEY_2

Akses Audio/MP3 DF Modul With Arduino

Untuk mengakses DF Mini Player Module dengan Arduino, diperlukan library tambahan “DFRoobotDFPlayerMini.h” yang dapat diunduh pada link berikut:

https://drive.google.com/file/d/1C-02SnitYm6a47P4XS-0rugi82BxM3Do/view?usp=sharing

Hal-hal yang perlu diperhatikan untuk penyimpanan file audio .mp3 di microSD card, antara lain:

  1. Format microSD card tersebut ke dalam FAT atau FAT32
  2. Buat folder dengan nama “mp3” untuk peletakan file audio .mp3
  3. Rename file audio .mp3 yang disalin dengan nama 0001.mp3 – 9999.mp3, terdiri dari 4 angka

Percobaan 57: Akses AudioMP3 DF Mini Player Module

  1. Hubungkan TX dengan pin D19 ATMEGA 2560
  2. Hubungkan RX dengan pin D18 ATMEGA 2560
  3. Hubungkan board ATMEGA 2560 dengan Komputer menggunakan kabel USB.
  4. Bukalah IDE Arduino, kemudian ketikkan kode program/sketch atau buka file MP3_PLAYER_1
  5. Compile menggunakan verify button (tanda ceklist pada IDE arduino) untuk mengecek ada atau tidaknya error/kesalahan dalam pengetikan.
  6. Upload program ke arduino dengan cara, pilih File > Upload to I/O board, atau tekan tombol tanda panah pada jendela IDE arduino.

.

Code:


#include "Arduino.h"
#include "DFRobotDFPlayerMini.h"

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

void setup()
{
  Serial.begin(9600);
  Serial1.begin(9600);

  Serial.println();
  Serial.println(F("DFRobot DFPlayer Mini Demo"));
  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));

  if (!myDFPlayer.begin(Serial1)) {  //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(30);  //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;
  }
}

Video Demo:

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *