Cara Putar MP3 Arduino dan DFPlayer Mini

Posted on

Module DF Player Mini

Cara Putar MP3 menggunakan Arduino dan DFPlayer Mini – DFPlayer Mini adalah sebuah modul pemutar audio yang dapat dikontrol menggunakan mikrokontroller seperti Arduino Uno.

Pada modul , sudah tersedia sebuah slot card untuk sebuah microSD, dimana file mp3 akan dipanggil dan diputar dari microSD.

Untuk jenis format microSD sendiri, mendukung format FAT16, FAT32, 32G dari TF Card, 32G dari U disk dan 64M byte NORFLASH.

Untuk dapat mengontrol modul , kita akan menggunakan komunikasi serial (TX RX) yang ada di Arduino Uno.

Namun, sebelum kita memasuki programnya, ada banyak jenis modul yang beredar dipasaran, diantaranya menggunakan IC:

  • YX5200 (Official DF Robot chip, Support Serial Command)
  • GD3200 (DF Player versi baru, Support Serial Command)
  • MH2024 (Versi clone, tidak support serial command)
Pada , saya menggunakan ic GD3200. Jadi mungkin ada beberapa command yang sedikit berbeda.

Pin Map

Sebelum kita masuk kedalam rangkaian, mari kita melihat dan memperlajari fungsi masing-masing pin. perhatikan gambar berikut:
Cara Putar MP3 menggunakan Arduino dan DFPlayer M
DFPlayer Mapping (Gambar dari DFROBOT)
Keterangan:
  • VCC dari 3.2 ~ 5.0V
  • GND untuk ground
  • RX untuk serial input
  • TX untuk serial output
  • DAC_R untuk Output Audio Channel Kanan
  • DAC_L untuk Output Audio Channel Kiri
  • SPK1 untuk koneksi Speaker +
  • SPK2 untuk koneksi Speaker –
  • BUSY untuk melihat status
    LOW artinya audio sedang diputar
    HIGH artinya tidak ada audio diputar)
  • USB+ untuk USB+ DP
  • USB- untuk USB- DM
  • ADKEY1
  • ADKEY2
  • IO_1 untuk tombol
    Tekan sesaat untuk memutar file sebelumnya
    Tekan lama untuk menurunkan volume
  • IO_2 untuk tombol
    Tekan sesaat untuk memutar file selanjutnya
    Tekan lama untuk menaikkan volume

Bagaimana cara kerja DFPlayer Mini?

Modul dapat mengontrol (memutar, menghentikan, menambahkan/mengurangi  volume) file mp3 dengan dua cara:
  1. Menggunakan Perintah pada Komunikasi Serial TX & RX (secara software)
  2. Menggunakan Tombol (secara hardware)

Alat dan Bahan

Untuk memahami dasar dari modul DFPlayer , mari kita siapkan bahan-bahannya diantaranya:
  1. Arduino Uno (atau sejenisnya)
  2. DF Player
  3. Speaker (max 3W)
  4. Kabel
  5. MicroSD

Library DFPlayer Mini Arduino

Sekarang silahkan download library yang kita butuhkan dan masukkan kedalam arduino IDE. Anda dapat menggunakan tombol download berikut:
Cara menambahkan library:
  • Buka Arduino IDE
  • Klik menu Sketch > Include Library > Add .ZIP Libary
  • Pilih file DFRobotDFPlayerM-master.zip
  • Klik OK

Rangkaian DFPlayer dan Arduino

Setelah library berhasil ditambahkan ke Arduino IDE, mari kita rangkaian itu seperti pada gambar berikut:
Cara Putar MP3 menggunakan Arduino dan DFPlayer M

Siapkan File MP3

Berdasarkan situs resmi DF Robot, modul DFPlayer akan membaca file berdasarkan urutan. Adapun formatnya adalah maksimal 4 digit seperti 0001.mp3 untuk file urutan ke 1 dan seterusnya.

Untuk membacanya kita menggunakan perintah:

myDFPlayer.play(1);

Sekarang, masukkan file mp3 ke dalam MicroSD dan ubah namanya. Percobaan pertama mari kita gunakan program dibawah .

Program Dasar Memutar mp3

Ada beberapa cara untuk memutar dan mengontrol file mp3
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerM.h"
#include "Arduino.h"

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerM myDFPlayer;


void setup () {
  mySoftwareSerial.begin(9600);
  myDFPlayer.begin(mySoftwareSerial);

  //set volume
  myDFPlayer.volume(30);

  //play first list
  myDFPlayer.play(1);

}

void loop () {

}

Fungsi-fungsi DFPlayer

Adapun selain memuatar file mp3, kita dapat menggunakan fungsi lain, seperti:
  • myDFPlayer.setTimeOut(500);
    Set serial communictaion time out 500ms
  • myDFPlayer.next(); 
    Play next mp3
  • myDFPlayer.previous();
    Play previous mp3
  • myDFPlayer.play(1);
    Play the first mp3
  •  myDFPlayer.loop(1);
    Loop the first mp3
  • myDFPlayer.pause();
    pause the mp3
  • myDFPlayer.start(); 
    start the mp3 from the pause
  • myDFPlayer.playFolder(15, 4); 
    play specific mp3 in SD:/15/004.mp3; Folder Name(1~99); File Name(1~255)
  • myDFPlayer.enableLoopAll();
    loop all mp3 files.
  • myDFPlayer.disableLoopAll();
    stop loop all mp3 files.
  • myDFPlayer.playMp3Folder(4);
    play specific mp3 in SD:/MP3/0004.mp3; File Name(0~65535)
  • myDFPlayer.advertise(3);
    advertise specific mp3 in SD:/ADVERT/0003.mp3; File Name(0~65535)
  • myDFPlayer.stopAdvertise();
    stop advertise
  • myDFPlayer.playLargeFolder(2, 999);
    play specific mp3 in SD:/02/004.mp3; Folder Name(1~10); File Name(1~1000)
  • myDFPlayer.loopFolder(5);
    loop all mp3 files in folder SD:/05.
  • myDFPlayer.randomAll();
    Random play all the mp3.
  • myDFPlayer.enableLoop();
    enable loop.
  • myDFPlayer.disableLoop();
    disable loop.
  • myDFPlayer.volume(nilai); 
    Set volume value (0~30).
  • myDFPlayer.volumeUp();
    Volume Up
  • myDFPlayer.volumeDown();
    Volume Down
  • myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);
    Mengatur Equalizer Normal
  • myDFPlayer.EQ(DFPLAYER_EQ_POP);
    Mengatur Equalizer Normal
  • myDFPlayer.EQ(DFPLAYER_EQ_ROCK);
    Mengatur Equalizer Rock
  • myDFPlayer.EQ(DFPLAYER_EQ_JAZZ);
    Mengatur Equalizer Jazz
  • myDFPlayer.EQ(DFPLAYER_EQ_CLASSIC);
    Mengatur Equalizer Classic
  • myDFPlayer.EQ(DFPLAYER_EQ_BASS);
    Mengatur Equalizer Bass.

Semoga bermanfaat.