DF Player Serial mp3 player for Arduino Audio Project

Author : Ila MulyandiNo comments


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.

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 speaker
   8Ohm/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)

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 :


//*******************************************
#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);
}
//

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);
}

}

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.h


mp3_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     


Posted On : Sunday, February 5, 2017Time : 10:47 PM
SHARE TO :
| | Template Created By : Rajendroid | CopyRigt By : ARDUINO | |