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)
Pin Map
DFPlayer Mapping (Gambar dari DFROBOT) |
- 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?
- Menggunakan Perintah pada Komunikasi Serial TX & RX (secara software)
- Menggunakan Tombol (secara hardware)
Alat dan Bahan
- Arduino Uno (atau sejenisnya)
- DF Player
- Speaker (max 3W)
- Kabel
- MicroSD
Library DFPlayer Mini Arduino
- Buka Arduino IDE
- Klik menu Sketch > Include Library > Add .ZIP Libary
- Pilih file DFRobotDFPlayerM-master.zip
- Klik OK
Rangkaian DFPlayer dan Arduino
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
#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
- 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.