MP3 Player Menggunakan DFPlayer Mini dan Arduino
Halo sahabat Indobot.
Sedang mengerjakan project apa hari ini?
Sudah bisa bikin MP3Player belum nih? Nah kali ini kita akan belajar untuk membuat MP3 Player dengan menggunakan Arduino.
Modul yang akan kita gunakan adalah DFPlayer mini. DFPlayer mini adalah salah satu modul MP3 kecil yang mudah digunakan dengan langsung menghubungkannya ke speaker. DFPlayer mini dapat diisi dengan micro SD sebagai tempat penimpanan lagu yang akan kita putar nantinya.
Selanjutnya, seperti MP3Player pada umumnya, kita juga akan membuat tombol-tombol yang dapat digunakan untuk mematikan, menyalakan, next dan previous lagu yang akan kita putar.
Yuk langsung aja kita praktikkan.
Siapkan Alat dan Bahan
Alat dan bahan yang digunakan untuk project kita kali ini adalah sebagai berikut. Jangan sampai ada yang kelewat ya.
- laptop/PC yang terinstall Arduino IDE
- Library DFPlayer mini Download
- Arduino UNO 1
- DF Player module 1
- Speaker 1
- Micro SD (berisi beberapa lagu) 1
- Push button 3
- Resistor 4
- Breadboard 1
- Kabel jumper secukupnya
Belajar elektronika step by step dengan bantuan tangga belajar? Regitrasi dulu dan dapatkan konsultasi dari kami!
Susun Skema Rangkaian
Susunlah rangkaian seperti berikut ini.
Tulislah Program pada Aplikasi Arduino IDE
Tulislah program arduino seperti berikut. Jangan sampai ada yang terlewat ya. Baca keterangan-keterangan yang dituliskan dalam bentuk comment agar teman-teman juga memahami program yang teman-teman buat.
//DF Player dengan arduino oleh indobot.co.id #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" SoftwareSerial mySoftwareSerial(10, 11); // pin RX TX untuk DFPlayer DFRobotDFPlayerMini myDFPlayer; int buttonNext = 5; //tombol selanjutnya int buttonPause = 6; //tombol berhenti int buttonPrevious = 7; //tombol kembali boolean isPlaying = false; void setup() { pinMode(buttonPause, INPUT); pinMode(buttonNext, INPUT); pinMode(buttonPrevious, INPUT); mySoftwareSerial.begin(9600); Serial.begin(9600); delay(1000); Serial.println(); Serial.println("DFPlayer Mini Demo"); Serial.println("Initializing DFPlayer..."); if (!myDFPlayer.begin(mySoftwareSerial)) { Serial.println("Unable to begin:"); Serial.println("1.Please recheck the connection!"); Serial.println("2.Please insert the SD card!"); while (true); } Serial.println(F("DFPlayer Mini online.")); myDFPlayer.setTimeOut(500); //----Set volume---- myDFPlayer.volume(10); //Set volume value (0~30). //myDFPlayer.volumeUp(); //Volume Up //myDFPlayer.volumeDown(); //Volume Down //----Set different EQ---- myDFPlayer.EQ(DFPLAYER_EQ_NORMAL); // myDFPlayer.EQ(DFPLAYER_EQ_POP); // myDFPlayer.EQ(DFPLAYER_EQ_ROCK); // myDFPlayer.EQ(DFPLAYER_EQ_JAZZ); // myDFPlayer.EQ(DFPLAYER_EQ_CLASSIC); // myDFPlayer.EQ(DFPLAYER_EQ_BASS); myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD); myDFPlayer.play(1); //Play the first song isPlaying = true; Serial.println("Playing.."); } void loop() { if (digitalRead(buttonPause) == HIGH) { if (isPlaying) { myDFPlayer.pause(); isPlaying = false; Serial.println("Paused.."); } else { isPlaying = true; myDFPlayer.start(); Serial.println("Playing.."); } delay(500); } if (digitalRead(buttonNext) == HIGH) { if (isPlaying) { myDFPlayer.next(); Serial.println("Next Song.."); } delay(500); } if (digitalRead(buttonPrevious) == HIGH) { if (isPlaying) { myDFPlayer.previous(); Serial.println("Previous Song.."); } delay(500); } } |
Program di atas menggunakan 3 button untuk pause/play, lanjut ke lagu selanjutnya dan kembali ke lagu sebelumnya.
Jika kita ingin menambahkan program untuk menaikkan dan menurunkan volume, kita dapat mengganti nilai pada program myDFPlayer.volume(10);. Ganti angka 10 menjadi variabel dan buatlah persamaan if else untuk menaik turunkan volume. Contohnya adalah sebagai berikut.
//Tambahan untuk volume int buttonVolumeUp = 2; //letakkan di antara variabel button lainnya int buttonVolumeDown = 3; //sama seperti di atas int volume = 0; //sama seperti di atas pinMode(buttonVolumeUp, INPUT); //letakkan di void setup() pinMode(buttonVolumeDown, INPUT); //letakkan di void setup() if(digitalRead(buttonVolumeUp) == HIGH){ //letakkan persamaan if di void loop() if (isPlaying) { myDFPlayer.volumeUp(); //Volume Up Serial.println("Volume Up.."); } delay(500); } if(digitalRead(buttonVolumeDown) == HIGH){ //letakkan persamaan if di void loop() if (isPlaying) { myDFPlayer.volumeDown(); //Volume Up Serial.println("Volume Down.."); } delay(500); } } |
baca juga: Membuat nada Mario dengan Buzzer
Program di atas dapat teman-teman masukkan ke program sebelumnya untuk dapat merubah volume suara MP3Player.
Oh ya. Teman-teman juga bisa membuat MP3 Player sebagai alarm atau hal lainnya yang akan berbunyi di waktu-waktu tertentu. Program dasar untuk menyalakan dan mematikan MP3 Player adalah sebagai berikut.
//DF Player dengan arduino oleh indobot.co.id #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" SoftwareSerial mySoftwareSerial(10, 11); // pin RX TX untuk DFPlayer DFRobotDFPlayerMini myDFPlayer; int buttonPause = 6; //tombol berhenti boolean isPlaying = false; void setup() { pinMode(buttonPause, INPUT); mySoftwareSerial.begin(9600); Serial.begin(9600); delay(1000); Serial.println(); Serial.println("DFPlayer Mini Demo"); Serial.println("Initializing DFPlayer..."); if (!myDFPlayer.begin(mySoftwareSerial)) { Serial.println("Unable to begin:"); Serial.println("1.Please recheck the connection!"); Serial.println("2.Please insert the SD card!"); while (true); } Serial.println(F("DFPlayer Mini online.")); myDFPlayer.setTimeOut(500); myDFPlayer.volume(10); //Set volume value (0~30). myDFPlayer.EQ(DFPLAYER_EQ_NORMAL); myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD); isPlaying = true; Serial.println("Playing.."); } void loop() { myDFPlayer.play(1); //Play the first song if (digitalRead(buttonPause) == HIGH) { myDFPlayer.start(); isPlaying = true; Serial.println("Playing.."); } else { isPlaying = false; myDFPlayer.pause(); Serial.println("Pause.."); } delay(500); } |
baca juga: Cara Menggabungkan Dua atau Lebih Program Arduino
Jika teman-teman ingin menggunakan sensor, silakan ubah digitalRead menjadi sensor yang teman-teman gunakan. program di atas akan menjalankan MP3 ketika button ditekan, namun akan langsung mati ketika sudah tidak ditekan.
Teman-teman bisa lo bikin yang lebih kompleks. Yuk berinovasi.
Selamat mencoba.
Kamu pemula dan ingin belajar/bikin project elektronika dari nol? Ikuti program dari Indobot!