Cara Memprogram DF Player MP3-TF-16P Pada ESP32

Cara Memprogram DF Player MP3-TF-16P Pada ESP32

DF Player MP3-TF-16P, seringkali dikenal juga sebagai DFPlayer Mini MP3 Player, adalah modul pemutar MP3 yang ringkas dan berbiaya rendah.Berikut ini adalah code untuk memprogram nya :

#include <Arduino.h>

#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>

SoftwareSerial mySerial_dfplayer(10, 11); 




void setup()
{
Serial.begin(9600);
  mySerial_dfplayer.begin(9600);
  mp3_set_serial(mySerial_dfplayer);
  delay(1);
  mp3_set_volume(15); //0~30
  mp3_play(1); //play "mp3/0001.mp3" cd card harus format FAT32
  mp3_pause();
  mp3_stop();

}
void loop(){

}


Berikut ini adalah penjelasan dari kode di atas :

1. Inklusi Library dan Deklarasi Objek

C++

#<strong>include</strong> <Arduino.h>

#<strong>include</strong> <SoftwareSerial.h>
#<strong>include</strong> <DFPlayer_Mini_Mp3.h>

SoftwareSerial mySerial_dfplayer(10, 11);
  • #include <Arduino.h>: Ini adalah library standar yang wajib ada di setiap program Arduino.
  • #include <SoftwareSerial.h>: Library ini memungkinkan Anda untuk menggunakan pin digital mana pun pada Arduino sebagai pin serial (RX/TX). Ini sangat berguna karena Arduino Uno (dan beberapa mikrokontroler lain) hanya memiliki satu hardware serial (pin 0 dan 1), yang sering digunakan untuk komunikasi Serial Monitor. Dengan SoftwareSerial, kita bisa membuat port serial tambahan.
  • #include <DFPlayer_Mini_Mp3.h>: Ini adalah library khusus yang sangat memudahkan komunikasi dengan modul DFPlayer Mini. Library ini menyediakan fungsi-fungsi tingkat tinggi (seperti mp3_play(), mp3_set_volume()) yang menyembunyikan detail kompleks dari komunikasi serial ke DFPlayer.
  • SoftwareSerial mySerial_dfplayer(10, 11);: Baris ini membuat sebuah objek SoftwareSerial baru bernama mySerial_dfplayer.
    • Argumen pertama (10) adalah pin RX (Receive) dari Arduino yang akan dihubungkan ke pin TX (Transmit) dari DFPlayer Mini.
    • Argumen kedua (11) adalah pin TX (Transmit) dari Arduino yang akan dihubungkan ke pin RX (Receive) dari DFPlayer Mini.

2. Fungsi setup()

C++

void setup()
{
  Serial.begin(9600);
  mySerial_dfplayer.begin(9600);
  mp3_set_serial(mySerial_dfplayer);
  delay(1);
  mp3_set_volume(15); //0~30
  mp3_play(1); //play "mp3/0001.mp3" cd card harus format FAT32
  mp3_pause();
  mp3_stop();
}
  • Serial.begin(9600);: Menginisialisasi komunikasi serial standar pada baud rate 9600. Ini digunakan untuk mengirimkan pesan atau debug informasi ke Serial Monitor di komputer Anda.
  • mySerial_dfplayer.begin(9600);: Menginisialisasi komunikasi SoftwareSerial yang baru saja kita buat (mySerial_dfplayer) pada baud rate 9600. Baud rate ini harus sesuai dengan baud rate yang digunakan oleh DFPlayer Mini.
  • mp3_set_serial(mySerial_dfplayer);: Baris ini sangat penting! Ini memberi tahu library DFPlayer_Mini_Mp3 objek SoftwareSerial mana yang harus digunakannya untuk berkomunikasi dengan DFPlayer Mini.
  • delay(1);: Memberikan jeda singkat 1 milidetik. Terkadang, jeda kecil diperlukan setelah inisialisasi serial untuk memastikan semuanya siap.
  • mp3_set_volume(15); //0~30: Ini mengatur volume pemutaran audio pada DFPlayer Mini.
    • mp3_set_volume(): Fungsi dari library DFPlayer_Mini_Mp3 untuk mengatur volume.
    • Argumen 15 adalah tingkat volume. Modul DFPlayer Mini biasanya mendukung volume dari 0 (paling senyap) hingga 30 (paling keras). Nilai 15 adalah volume menengah.
  • mp3_play(1); //play "mp3/0001.mp3" cd card harus format FAT32: Ini adalah perintah untuk mulai memutar lagu.
    • mp3_play(1): Fungsi ini akan memutar lagu dengan indeks 1. Penting: Ini mengasumsikan Anda memiliki kartu microSD yang diformat FAT32 dan memiliki file audio bernama 0001.mp3 di dalam folder bernama mp3 (yaitu, jalur mp3/0001.mp3) di kartu microSD Anda. Struktur folder dan penamaan file sangat krusial agar DFPlayer dapat menemukannya.
  • mp3_pause();: Setelah lagu diputar sebentar (sesuai waktu eksekusi kode), perintah ini akan menjeda pemutaran lagu.
  • mp3_stop();: Segera setelah dihentikan, perintah ini akan menghentikan pemutaran sepenuhnya.

3. Fungsi loop()

C++

void loop(){

}
  • void loop(): Fungsi ini kosong. Ini berarti setelah semua perintah di setup() selesai dieksekusi, program tidak akan melakukan apa-apa lagi secara berulang.

Cara Kerja Keseluruhan

Secara keseluruhan, kode ini akan melakukan hal berikut:

  1. Inisialisasi Serial: Mengatur komunikasi serial standar untuk debug dan komunikasi SoftwareSerial untuk DFPlayer Mini.
  2. Konfigurasi DFPlayer: Memberi tahu library DFPlayer pin serial mana yang harus digunakan.
  3. Pengaturan Awal Audio: Mengatur volume ke tingkat menengah (15).
  4. Demonstrasi Pemutaran:
    • Memulai pemutaran lagu pertama (0001.mp3).
    • Segera setelah itu, lagu akan dijeda.
    • Dan kemudian, lagu akan dihentikan sepenuhnya.

Karena semua perintah pemutaran (mp3_play, mp3_pause, mp3_stop) dieksekusi secara berurutan di dalam setup(), Anda mungkin hanya akan mendengar suara yang sangat singkat atau bahkan tidak sama sekali, karena lagu langsung dijeda dan dihentikan. Kode ini lebih berfungsi sebagai contoh bagaimana cara memanggil fungsi-fungsi dasar dari library DFPlayer.

Catatan Penting:

  • Kartu MicroSD: Pastikan kartu microSD Anda diformat FAT32 dan memiliki folder mp3 dengan file audio (misalnya 0001.mp3) di dalamnya.
  • Koneksi: Ingat untuk menghubungkan pin TX Arduino (pin 11) ke pin RX DFPlayer Mini, dan pin RX Arduino (pin 10) ke pin TX DFPlayer Mini. Sangat disarankan untuk menambahkan resistor 1kΩ secara seri pada jalur TX Arduino (pin 11) yang menuju RX DFPlayer Mini untuk melindungi DFPlayer Mini, karena DFPlayer Mini beroperasi pada 3.3V sementara Arduino (misalnya Uno) beroperasi pada 5V. Jangan lupa hubungkan VCC dan GND.
  • Speaker: Hubungkan speaker kecil (4Ω 3W atau 8Ω 1W) ke pin SPK1 dan SPK2 DFPlayer Mini.

Untuk aplikasi yang lebih interaktif, Anda akan memindahkan perintah mp3_play(), mp3_pause(), atau mp3_stop() ke dalam fungsi loop() dan memicunya berdasarkan input sensor, tombol, atau logika program lainnya.

untuk diskusi bisa kontak dibawah ini :

Sosial media :

Apa itu ESP32?