Membuat Project Arduino dengan Arduino dan Module DF Player mini (Serial mp3 player)
Sebelumnya saya pernah menulis tentang dasar penggunaan DF Player mini sebagai module pendukung untuk arduino, khususnya untuk project yang berhubungan atau membutuhkan data out berupa 'suara' atau audio.
Anda bisa menengok kembali artikel dasar penggunaan DF Player pada link berikut :
http://www.belajarduino.com/2016/07/dfplayer-mini-serial-mp3-player-module.html
atau klik disini.
Kali ini kita akan mempelajari lebih lanjut tentang penggunaan module mp3 DF Player bersama dengan Arduino untuk bisa menghasilkan project-project yang Powerful.
A.Hal-hal yang perlu diperhatikan dalam penggunaan Module DF Player
-Module DF Player mendukung memory microSD hingga kapasitas 32GB tetapi secara pribadi saya menyarankan anda untuk menggunakan memory dengan kapasitas maksimal 8GB saja.-Pastikan memory diFormat dengan type FAT atau FAT32
-Penyimpanan file .mp3 harus berada di dalam folder bernama 'mp3' (tanpa petik)
Hal ini sangat penting,jika file disimpan pada root folder atau selain folder mp3 maka file tidak
akan terinisialisasi oleh command.
-Nama file .mp3 di dalam folder mp3 harus berupa nomor urut agar bisa dipanggil sesuai namanya.
Nama file terdiri dari 4 angka mulai dari 0001.mp3 sampai 9999.mp3
B.Penggunaan Amplifier pada Module DF Player
-Out speaker dari module DFPlayer mini sangat kecil jadi jangan disambungkan langsung ke speaker8Ohm/4Ohm karena bisa membuat chip menjadi panas.Anda dapat menghubungkanya ke Headset atau
speaker mini 0.25watt jika ingin langsung mendengarkan suaranya.
-Jika ingin Suara OUT menjadi keras silahkan tambahkan module amplifier untuk memperkuat signal audio dari Module DFPlayer mini ke Loud Speaker. Anda dapat menggunakan module Amplifier LM386 , PAM8403 atau PAM8610. Berikut adalah beberapa contoh wiring module DFPlayer mini ke Eksternal Amplifier Module dan Arduino.
1.DF Player mini + Module Ampli LM386 (MONO 0.5-25watt)
2.DF Player mini + Module Ampli PAM8403 (STEREO 2X3watt via DAC Out)
3.DF Player mini + Module Ampli PAM8403+Pot (STEREO 2X3watt via DAC Out)
4.DF Player mini + Module Ampli PAM8403+Pot (STEREO 2X3watt via Speaker Out)
5.DF Player mini + Module Ampli PAM8610 (STEREO 2X15watt via DAC Out)
5.DF Player mini + Module Ampli PAM8610 (STEREO 2X15watt via Speaker Out)
Catatan penting :
-Pada beberapa gambar wiring diatas saya menarus sebuah Resistor R1 pada pin Rx Dfplayer yang
menuju ke TX dari Arduino, fungsinya adalah untuk menurunkan level tegangan serial dari TX Arduino
menuju RX DFPlayer, tanpa Resistor ini maka hasil suara pada Module DF Player NOISE/kotor.
Besar resistansi dari resistor R1adalah 4K7 sampai 10K Ohm, pada beberapa narasumber menggunakan
Resistor 1K namun hasilnya masih belum bersih.Saya mencoba dengan nilai 10K mendapatkan hasil
suara yang jernih tanpa mengganggu komunikasi Serial antara Arduino dan Module DF Player.
C.Komunikasi dan Inisialisasi Module DF Player dengan Arduino
Untuk mempermudah kontrol module DFPlayer kita membutuhkan sebuah Library Eksternal yang harus kita ikutkan kedalam coding kita.Fungsinya untuk mempermudah menulisan syntax program dalam memberikan command/perintah ke module DFPlayer melalui komunikasi serial.Silahkan download Library DFPlayer Arduino disini.
Setelah melakukan download semua library yang dibutuhkan (Liquid Crystal i2C) kemudian ekstract menggunakan aplikasi Winrar/Winzip dan copy master folder yang ada di dalamnya ke dalam folder 'libraries' yang ada pada directory installer Arduino IDE.
Secara default ada di lokasi :
Windows 64bit = C:\Program Files (x86)\Arduino\libraries
Windows 32bit = C:\Program Files \Arduino\libraries
Ada 2 metodhe pengontrolan module DFPlayer melalui Arduino yaitu melalui Serial (hardware) arduino yaitu melalui pin RX(D0) dan TX(D1) atau bisa menggunakan pin digital lain (selain TXD dan RXD) melalui bantuan SoftwareSerial (komunikasi Serial buatan). Berikut contoh wiring komunikasi module DFPlayer ke Arduino dengan Serial dan SoftwareSerial :
1.Komunikasi SERIAL
*Sebagai catatan,saat menggunakan koneksi Serial ke D0 D1 maka saat melakukan upload program
harus mencabut sambungan kabel/jumper dari pin D0 ke TX module DF Player
2.Komunikasi SoftwareSerial
*Dengan koneksi SoftwareSerial anda bisa menggunakan sembarang digital pin untuk melakukan
komunikasi serial dengan Module DFPlayer sesuai dengan nomor pin yang di definisikan pada program.
Untuk komunikasi Serial saya tidak akan memberikan contoh programnya karena saya rasa sangat mudah, berikut saya berikan contoh setup dan inisialisasi module DF Player dalam sketch coding Arduino :
//Create by Dani Rajacell for www.belJrduino
//*******************************************
#include <SoftwareSerial.h> //memanggil library SoftwareSerial
#include <DFPlayer_Mini_Mp3.h> //memanggil library DFPlayer mini
SoftwareSerial mySerial(2, 3); // Declare pin RX & TX
//TX DF Player ke pin D2
//RX DF Player ke pin D3 (melalui R10K)
const int busyPin =4;
void setup () {
pinMode (busyPin, INPUT);
mySerial.begin (9600);
mp3_set_serial (mySerial); //set softwareSerial for DFPlayer
delay(10);
mp3_reset(); //soft-Reset module DFPlayer
delay(10); //wait 1ms for respon command
mp3_set_volume (15); //set Volume module DFPlayer
delay(1000);
}
//Create by Dani Rajacell
void loop () {
mp3_play (1); //Play mp3 0001.mp3 dalam folder mp3 di memory
//memainkan file berikutnya jika lagu sebelumnya sudah selesai
if( busyPin == HIGH ){ mp3_next (); }
//memainkan file 0001.mp3 s/d 0010.mp3 selama 2detik/file secara berurutan
for (int i=1; i<=10; i++){
mp3_play (i);
delay(2000);
}
}
Perhatikan poin-point pentingnya :
Beberapa narasumber memberikan contoh yang kurang bagus untuk library DF Player yaitu tidak melalukan soft-Reset pada Module pada void setup, akibatnya saat komunikasi SoftwareSerial terganggu misal saat proses upload program ke arduino maka suara mp3 menjadi kecil dan tidak bisa dilakukan set volume sebelim melakukan hard-Reset (matikan power dan dinyalakan ualang).
C.Perintah Kontrol Module DF Player - Arduino menggunakan Library DF_Player_mp3.h
Berikut adalah beberapa void/perintah yang akan sering kita gunakan untuk kontrol module DFPlayer mp3 melalui Arduino dengan bantuan Library DFPlayer_Mini_Mp3.hmp3_play
mp3_next
mp3_prev
mp3_set_volume
mp3_set_EQ
mp3_set_device
mp3_sleep
mp3_reset
mp3_pause
mp3_stop
mp3_play_mp3
mp3_get_state
mp3_get_volume
mp3_get_u_sum
mp3_get_tf_sum
mp3_get_flash_sum
mp3_get_tf_current
mp3_get_u_current
mp3_get_flash_current
mp3_single_loop
mp3_DAC
mp3_random_play
mas
BalasHapusmau tanya kenapa nda ada suaranya saat di coba ya mas?
ini saya coba gak ada suara nya juga mas pie ki ???
Hapuskalau untuk play file dengan folder diluar folder mp3 bagaimana? kan di manualnya bisa membuat folder seperti 01 02 dan seterusnya
BalasHapusmas cara menggabungkan program menu untuk memanggil module dfplayer gimana ya?
BalasHapusmas mau nanya nih, apakah DFPlayer bisa memutar lagu samapi, selesai ,,karena saat sy mencoba tidak bisa memutar lagu sampai selesai,,hanya bberapa detik saja , terimakasih
BalasHapusapa sudah bisa ? punya saya juga seperti itu
HapusAtur delay sesuai lama musik yg diputar maka play music akan sampai beres
Hapusbang ini kenapa ya?
BalasHapusArduino: 1.8.5 (Windows 7), Board: "Arduino/Genuino Uno"
Build options changed, rebuilding all
C:\Users\Axioo\Documents\Arduino\ArduinoMp3\ArduinoMp3.ino:4:65: fatal error: DFPlayer_Mini_Mp3.h: No such file or directory
#include //memanggil library DFPlayer mini
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
Invalid library found in C:\Program Files\Arduino\libraries\DFPlayer-Mini-mp3-master: C:\Program Files\Arduino\libraries\DFPlayer-Mini-mp3-master
Invalid library found in C:\Program Files\Arduino\libraries\DFPlayer-Mini-mp3-master: C:\Program Files\Arduino\libraries\DFPlayer-Mini-mp3-master
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
ga, contoh program komunikasi serialnya gan
BalasHapusboleh tau contoh program dengan komunikasi serialnya gan?
BalasHapuskalo untuk menggunakan sumber dari luar kenapa jadi pat pet gitu ya mas ?? tapi kalo dari power bank lancar
BalasHapusMau tanya mas, kalo perintah utk membaca besarnya file .mp3 pakai apa mas ?
BalasHapusBang,share code dfplayer+lcd i2c
BalasHapusgan pin busy untuk program software serial juga di jumper ke pin 3, tapi di gambar tidak di jumper. mohon penjelasannya gan,
BalasHapusgan, untuk mencegah arus/tegangan dari ampli (jika ampli terjadi kerusakan) masuk ke df player gimana yah gan? apakah out dr df player yg ke in ampli dikasih resistor ataukah dioda? klo iya yg berapa ohm/ ampere?
BalasHapusGimana ya kalo tekan tombol satu trus suara satu... Gimana caranya ya pak...
BalasHapusKalo kita bikin project tombol tekan satu trus audio Sura satu gimana ya pak
BalasHapussemua command dari library nya bekerja semua...
BalasHapusjika ga bisa memutar atau cuma play beberapa detik.. itu dikarenakan kesalahan teknis..
seperti koneksi jumper/kabel, format micro sd, config folder dan nama file..
df player klo memutar file akan memberikan led biru nyala terus.. klo berkedip2 ada kesalahn teknis..
bagusan mana output suaranya antara dac out ke ampli dengan speaker out ke ampli ??
Hapussaya juga tuh udah dipasang sesuai gambar dan diprogram coding nya ok tapi gak ada suara trus DF player nya gak ada lampunya yang hidup, gimana nih gan
BalasHapusboleh minta wa nya gan
BalasHapusKalau komunikasi serial apa pakek library #softwareserial gan.. soalnya kalau ane satuin ke ultrasonik dan servo.. ketika objek terdetek, servonya jadi gak stabil
BalasHapusGan klo mau pakai tombol matrix gimana??
BalasHapuswww.dijualrumahpamulang.com
BalasHapusKalau pake pin rx tx Arduino gimana scriptnya gan
BalasHapusBang ko ga ada source code program yang jelas gitu
BalasHapusPerasaan wiring simple source code nya juga gak banyak,tapi kok susah gak ada suara apa prodak gagal ni barang?
BalasHapusBang kode dfplayer + servo gimana kak ?
BalasHapusadminnya cuma bisa copy paste artikel orang
BalasHapus