MP3 Player Menggunakan DFPlayer Mini dan Arduino

Indobot Update

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.

  1. laptop/PC yang terinstall Arduino IDE
  2. Library DFPlayer mini Download 
  3. Arduino UNO    1
  4. DF Player module 1
  5. Speaker 1
  6. Micro SD (berisi beberapa lagu) 1
  7. Push button 3
  8. Resistor 4
  9. Breadboard 1
  10. 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);
    }
}

baca juga: Menyimpan dan Membaca Data Arduino dengan SDCard

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!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tinggalkan komentar

whatsapp