MP3 Player : DFplayer Mini dengan Arduino

Indobot Academy

MP3 Player
MP3 Player

DFplayer mini adalah modul mp3 dengan output audio sederhana yang dapat di hubungkan langsung ke speaker atau jack earphone. Kemudian modul dapat di gunakan dalam kombinasi dengan Arduino, yang memungkinkan untuk komunikasi RX / TX (Serial), sehingga melalui perintah serial sederhana kita dapat memutar musik dan menjalankan fungsi lain seperti memutar lagu berikutnya dan sebelumnya, mengacak, menghentikan sementara lagu yang sedang di putar, dll.

Lalu modul ini di lengkapi dengan slot SDcard dan mendukung sistem file FAT16, FAT32.
[membership level=”0,1,2,4″]

1. Skema Rangkaian

Gambar rangkaian MP3 Player

Keterangan Sabungan :

Pin pada Arduino :

  • Pin 2 – Button Next
  • Pin 3 – Button Start/Pause
  • Pin 4 – Button Previous
  • Pin 10 – Pin TX DFPlayer
  • Pin 11 – Res 1k – Pin RX DFPlayer
2. Alat / Bahan
  • Pertama Arduino              : 1 buah
  • Kedua Breadboard        : 1 buah
  • Ketiga DFPlayer Mini    : 1 buah
  • Speaker             : 1 buah
  • Pushbutton         : 3 buah
  • Resistor 1kΩ      : 1 buah
3. Sketch Program

Dapatkan puluhan ebook gratis dengan registrasi melalui tombol di bawah!

 

/*
    Program MP3Player
    di buat oleh Indobot
*/
#include "SoftwareSerial.h"  //Pendeklarasian Library
SoftwareSerial mySerial(10, 11);

# define Start_Byte 0x7E  //Pendeklarasian variabel
# define Version_Byte 0xFF
# define Command_Length 0x06
# define End_Byte 0xEF
# define Acknowledge 0x00
# define ACTIVATED LOW

int buttonNext = 2;  // Pemilihan Pin
int buttonPause = 3;
int buttonPrevious = 4;
boolean isPlaying = false;

void setup () {  //Pengaturan Pin dan Variabel
  pinMode(buttonPause, INPUT);
  digitalWrite(buttonPause, HIGH);
  pinMode(buttonNext, INPUT);
  digitalWrite(buttonNext, HIGH);
  pinMode(buttonPrevious, INPUT);
  digitalWrite(buttonPrevious, HIGH);
  mySerial.begin (9600);
  delay(1000);
  playFirst();
  isPlaying = true;
}

void loop () {  //Perulangan Program
  if (digitalRead(buttonPause) == ACTIVATED) {
    if (isPlaying) {
      pause();
      isPlaying = false;
    }
    else {
      isPlaying = true;
      play();
    }
  }


  if (digitalRead(buttonNext) == ACTIVATED) {
    if (isPlaying) {
      playNext();
    }
  }

  if (digitalRead(buttonPrevious) == ACTIVATED) {
    if (isPlaying) {
      playPrevious();
    }
  }
}

void playFirst() { //Deklarasi Musik Pertama
  execute_CMD(0x3F, 0, 0);
  delay(500);
  setVolume(20);
  delay(500);
  execute_CMD(0x11, 0, 1);
  delay(500);
}

void pause() {  //Deklarasi Pause
  execute_CMD(0x0E, 0, 0);
  delay(500);
}

void play() {  //Deklarasi Play
  execute_CMD(0x0D, 0, 1);
  delay(500);
}

void playNext() {  //Deklarasi Next
  execute_CMD(0x01, 0, 1);
  delay(500);
}

void playPrevious() {  //Deklarasi Previous
  execute_CMD(0x02, 0, 1);
  delay(500);
}

void setVolume(int volume) {  //Deklarasi Volume
  execute_CMD(0x06, 0, volume); // Seting volume antara (0x00~0x30)
  delay(2000);
}

void execute_CMD(byte CMD, byte Par1, byte Par2) {
  word checksum = -(Version_Byte + Command_Length + CMD + Acknowledge + Par1 + Par2);
  byte Command_line[10] = { Start_Byte, Version_Byte, Command_Length, CMD, Acknowledge,
                            Par1, Par2, highByte(checksum), lowByte(checksum), End_Byte
                          };
  for (byte k = 0; k < 10; k++)  {
    mySerial.write( Command_line[k]);
  }
}

Baca Juga : Mengapa Harus Ikut Bootcamp IoT di Indobot Academy

Kesimpulan :

Pada project ini DFPlayer di fungsikan sebagai modul untuk dijadikan sebuah mp3 player. Button pertama dari kanan digunakan sebagai tombol Next, kemudian button tengah berfungsi sebagai tombol play/pause dan button ketiga digunakan sebagai tombol Previous.[/membership]

Jangan lupa tetap upgrade skill kamu di Indobot Academy. Kamu bisa mendapatkan berbagai tutorial project. Selanjutnya tutorial bisa kamu terapkan di dalam kehidupan sehari-hari. Tak hanya itu, Indobot sudah menyediakan semua source coding yang dibutuhkan. Sehingga kamu hanya cukup membuka satu website saja. Oleh karena itu penting untuk mempelajari hal itu.

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 whatsapp