Minggu, 23 Oktober 2016

DF Player Serial mp3 player for Arduino Audio Project






Image result for dfplayer arduino

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


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

29 komentar:

  1. mas
    mau tanya kenapa nda ada suaranya saat di coba ya mas?

    BalasHapus
    Balasan
    1. ini saya coba gak ada suara nya juga mas pie ki ???

      Hapus
  2. kalau untuk play file dengan folder diluar folder mp3 bagaimana? kan di manualnya bisa membuat folder seperti 01 02 dan seterusnya

    BalasHapus
  3. mas cara menggabungkan program menu untuk memanggil module dfplayer gimana ya?

    BalasHapus
  4. mas 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

    BalasHapus
    Balasan
    1. apa sudah bisa ? punya saya juga seperti itu

      Hapus
    2. Atur delay sesuai lama musik yg diputar maka play music akan sampai beres

      Hapus
  5. bang ini kenapa ya?
    Arduino: 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.

    BalasHapus
  6. ga, contoh program komunikasi serialnya gan

    BalasHapus
  7. boleh tau contoh program dengan komunikasi serialnya gan?

    BalasHapus
  8. kalo untuk menggunakan sumber dari luar kenapa jadi pat pet gitu ya mas ?? tapi kalo dari power bank lancar

    BalasHapus
  9. Mau tanya mas, kalo perintah utk membaca besarnya file .mp3 pakai apa mas ?

    BalasHapus
  10. Bang,share code dfplayer+lcd i2c

    BalasHapus
  11. gan pin busy untuk program software serial juga di jumper ke pin 3, tapi di gambar tidak di jumper. mohon penjelasannya gan,

    BalasHapus
  12. gan, 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?

    BalasHapus
  13. Gimana ya kalo tekan tombol satu trus suara satu... Gimana caranya ya pak...

    BalasHapus
  14. Kalo kita bikin project tombol tekan satu trus audio Sura satu gimana ya pak

    BalasHapus
  15. semua command dari library nya bekerja semua...
    jika 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..

    BalasHapus
    Balasan
    1. bagusan mana output suaranya antara dac out ke ampli dengan speaker out ke ampli ??

      Hapus
  16. saya 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

    BalasHapus
  17. Kalau komunikasi serial apa pakek library #softwareserial gan.. soalnya kalau ane satuin ke ultrasonik dan servo.. ketika objek terdetek, servonya jadi gak stabil

    BalasHapus
  18. Gan klo mau pakai tombol matrix gimana??

    BalasHapus
  19. Kalau pake pin rx tx Arduino gimana scriptnya gan

    BalasHapus
  20. Bang ko ga ada source code program yang jelas gitu

    BalasHapus
  21. Perasaan wiring simple source code nya juga gak banyak,tapi kok susah gak ada suara apa prodak gagal ni barang?

    BalasHapus
  22. Bang kode dfplayer + servo gimana kak ?

    BalasHapus
  23. adminnya cuma bisa copy paste artikel orang

    BalasHapus

Copyright © 2014 Belajar Arduino | Designed With By Blogger Templates | Distributed By Gooyaabi Templates
Scroll To Top