MP3 Player Arduino Uno

Indobot Academy

MP3 Player Arduino
Membuat MP3 Player Arduino Uno

DFplayer mini adalah modul mp3 dengan output audio sederhana yang dapat terhubung langsung ke speaker atau jack earphone. Modul dapat berfungsi 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 juga sebelumnya, mengacak, menghentikan lagu, dll. Modul ini lengkap dengan slot SDcard dan juga mendukung sistem file FAT16, FAT32.

Arduino Uno, papan pengembangan mikrokontroler yang terkenal, menggunakan mikrokontroler ATmega328P dan menawarkan beragam fitur, termasuk 14 pin digital I/O yang dapat dikonfigurasi sebagai output PWM, 6 pin input analog, dan koneksi USB untuk pemrograman dan transfer data. Dengan kecepatan clock 16MHz, Arduino Uno menjadi pilihan populer bagi para penghobi, pembuat, dan pengembang proyek elektronika yang ingin membuat robotika, sistem kendali, atau bahkan proyek DIY lainnya. Sifatnya yang open source juga memungkinkan pengguna untuk memodifikasi perangkat keras dan juga perangkat lunaknya sesuai kebutuhan, menjadikannya alat yang ideal untuk pembelajaran dan prototyping.

MP3 Player Arduino Uno

1. Skema Rangkaian arduino

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

  • Arduino              : 1 buah
  • Breadboard        : 1 buah
  • DFPlayer Mini    : 1 buah
  • Speaker             : 1 buah
  • Pushbutton         : 3 buah
  • Resistor 1kΩ      : 1 buah

Belajar Elektronika, Arduino, dan juga IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO

 

3. Sketch Program Arduino

/*
    Program MP3Player
    dibuat 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]);
  }
}

Kesimpulan :

Pada project ini DFPlayer difungsikan 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.

Baca juga :Telah Dibuka! Studi Independen IoT Engineer Camp MSIB 6 Indobot Academy

Mau belajar elektronika dasar? Arduino? atau bahkan Internet of Things? Ikuti kursus online Indobot Academy!

Ingin Tahu Program Kami Lebih Lanjut?

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

Baca Juga

Bagikan:

Tags

2 pemikiran pada “MP3 Player Arduino Uno”

  1. Saya sudah mencoba rangkaian dan program seperti di rangkaian atas tapi dfplayer tidak berkedip atau nyala biru sehingga tidak mengeluarkan suara.
    Apakah ada saran untuk kondisi itu?

    Balas

Tinggalkan komentar

whatsapp