Mp3 player atau alat pemutar file mp3 saat ini mungkin sudah merupakan sebuah gadget yang sangat lumrah di pasaran. Atau mungkin alat tersebut sudah mulai hilang dipasaran akibat banyak nya berkembang handphone canggih yang memiliki fitur mp3 bahkan player video di dalam nya.

Dulu, atau tahun lalu saya pernah membuat sebuah mp3 player unik yang dapat memutar mp3 serta dapat juga berfungsi sebagai remote tv. Kamu bisa cek di artikel ini. Mp3 player tersebut dapat menyala dengan sangat sangat lama karena saya lengkapi dengan batterai lippo sebesar 1 ampere di dalam nya. selain itu juga mp3 tersebut dapat membaca media flash dsik sebagai tempat penyimpanan file lagu tersebut.

Nah, kita semua tau harga mp3 di pasaran sudah mulai menjadi sangat murah. Harga mp3 player yang paling murah saya ketahui seharga Rp 21.000 sudah lengkap dengan headset nya pula. Wow. 😀 sangat murah untuk teknologi yang begitu rumit. Namun sesuai dengan judul artikel yang saya tulis diatas tentunya ada sedikit perasaan tidak nyaman masalah harga. Kenapa kita harus repot repot membeli mikrokontroller lagi dan merakitnya untuk dapat memutar file mp3 dengan mikrokontroller? Tentunya biaya akan menjadi sangat mahal bukan? Bahkan jauh lebih mahal dari pada harga mp3 player yang sudah jadi sekalipun.

Banyak orang awam bahkan mungkin akan berkata, kenapa buat mahal mahal? kan yang jadi sudah ada dan lebih murah. Nah disini lah letak kelemahan kita semua sebenarnya, kita sudah terbiasa dengan sifat yang konsumtif, hanya dapat menggunakan saja tanpa bisa memodifikasi menjadi hal yang baru ataupun membuat sesuatu yang benar benar baru walau itu bukan semua orang :). JIka kita dapat memutar file mp3 dengan mikrokontroller, dalam artian mengendalikan semua nya tentu kita dapat membuat sistem yang dapat berbicara.

Baca juga  Rangkaian Saklar SMS dan Android Baru

Bingung?

Coba misalkan hal yang lumrah lah, jam dgital dengan display seven segment. Mungkin itu banyak yang jual kan? tapi coba untuk sahabat kita yang (maaf) dikatakan buta atau tidak bisa melihat, tentunya mereka tidak bisa mengetahui sekarang jam brapa kecuali bertanya. Nah dengan digabungkan nya sebuah pengendali ataupembaca file mp3 dikendalikan mikrokontroller kamu dapat memanggil file kata kata yang menyebutkan waktu saat itu sesuai dengan digit yang ditampilkan. Contoh, saat itu jam satu siang mungkin jam digital nya akan bersuara ” sekarang puku, satu siang” tentunya orang yang tidak bisa melihat akan dapat mengetahui waktu saat itu tanpa harus mencari orang untuk ditanyakan.

Contoh lainnya adalah mesin antrian, kamu pernah antri di bank kan? nah coba inget pasti pernah dengar “Nomor antrian, seratus, dua puluh, lima, ke kounter, tujuh” Suara suara yang keluar tersebut juga sebenarnya adalah file mp3 yang pemilihal file untuk diputar nya dikendalikan oleh proses yang ada pada mikrokontroller. Berapa angka kounter yang ada pada mikrokontroller, segitulah angka yang akan disebut sama si mp3 playernya.

Dibawah ini adalah foto dari produk duwiarsana.com yang dapat digunakan untuk melakukan tugas tersebut. Namanya adalah MP3SHIELD, dikatakan shield karena board ini masih memerlukan sebuah mikrokontroller untuk dapat bekerja atau dikendalikan. Dalam contoh dibawah ini saya akan menggunakan sebuah panjerino untuk mengendalikan nya.

Contoh Coding Mp3 Player :

 

#include <SPI.h>
#include <Adafruit_VS1053.h>
#include <SD.h>

// define the pins used
//#define CLK 13 // SPI Clock, shared with SD card
//#define MISO 12 // Input data, from VS1053/SD card
//#define MOSI 11 // Output data, to VS1053/SD card
// Connect CLK, MISO and MOSI to hardware SPI pins.
// See http://arduino.cc/en/Reference/SPI "Connections"

// These are the pins used for the breakout example
#define BREAKOUT_RESET 9 // VS1053 reset pin (output)
#define BREAKOUT_CS 10 // VS1053 chip select pin (output)
#define BREAKOUT_DCS 8 // VS1053 Data/command select pin (output)
// These are the pins used for the music maker shield
#define SHIELD_CS 7 // VS1053 chip select pin (output)
#define SHIELD_DCS 6 // VS1053 Data/command select pin (output)

// These are common pins between breakout and shield
#define CARDCS 4 // Card chip select pin
// DREQ should be an Int pin, see http://arduino.cc/en/Reference/attachInterrupt
#define DREQ 3 // VS1053 Data request, ideally an Interrupt pin

Adafruit_VS1053_FilePlayer musicPlayer =
  // create breakout-example object!
  Adafruit_VS1053_FilePlayer(BREAKOUT_RESET, BREAKOUT_CS, BREAKOUT_DCS, DREQ, CARDCS);
  // create shield-example object!
  //Adafruit_VS1053_FilePlayer(SHIELD_CS, SHIELD_DCS, DREQ, CARDCS);
  
void setup() {
  Serial.begin(9600);
  Serial.println("Adafruit VS1053 Simple Test");

  if (! musicPlayer.begin()) { // initialise the music player
     Serial.println(F("Couldn't find VS1053, do you have the right pins defined?"));
     while (1);
  }
  Serial.println(F("VS1053 found"));
  
  SD.begin(CARDCS); // initialise the SD card
  
  // Set volume for left, right channels. lower numbers == louder volume!
  musicPlayer.setVolume(20,20);

  // Timer interrupts are not suggested, better to use DREQ interrupt!
  //musicPlayer.useInterrupt(VS1053_FILEPLAYER_TIMER0_INT); // timer int

  // If DREQ is on an interrupt pin (on uno, #2 or #3) we can do background
  // audio playing
  musicPlayer.useInterrupt(VS1053_FILEPLAYER_PIN_INT); // DREQ int
  
  // Play one file, don't return until complete
  Serial.println(F("Playing track 001"));
  musicPlayer.playFullFile("track001.mp3");
  // Play another file in the background, REQUIRES interrupts!
  Serial.println(F("Playing track 002"));
  musicPlayer.startPlayingFile("track002.mp3");
}

void loop() {
  // File is playing in the background
  if (musicPlayer.stopped()) {
    Serial.println("Done playing music");
    while (1);
  }
  if (Serial.available()) {
    char c = Serial.read();
    
    // if we get an 's' on the serial console, stop!
    if (c == 's') {
      musicPlayer.stopPlaying();
    }
    
    // if we get an 'p' on the serial console, pause/unpause!
    if (c == 'p') {
      if (! musicPlayer.paused()) {
        Serial.println("Paused");
        musicPlayer.pausePlaying(true);
      } else {
        Serial.println("Resumed");
        musicPlayer.pausePlaying(false);
      }
    }
  }

  delay(100);
}

Nah dibawah ini adalah video saat saya mencoba coding mp3 player sederhana diatas, untuk kamu yang ingin mencoba jangan lupa download library nya pada link dibawah ini :

Baca juga  Cara Copy program IC mikrokontroller

Download library mp3

 

Loading

Memutar File Mp3 Dengan Mikrokontroller

9 gagasan untuk “Memutar File Mp3 Dengan Mikrokontroller

  • 1 November 2015 pukul 15.23
    Permalink

    Senang membaca artikel 2…karya bli dwi arsana, menambah pengetahuan dan pemahaman saya yang awam…terus berkarya bli.

    Balas
    • 1 November 2015 pukul 22.56
      Permalink

      siap, jangan lupa juga ikutan nyoba karena ada beberapa project yang coding nya bisa di download gratis.

      Balas
  • 19 Juli 2016 pukul 15.05
    Permalink

    Bos di syntaxnya itu yg baris mana untuk inputan lagunya ya?
    Lalu lagu yg diinputkan itu berupa alamat lagu di memori atau bagaimana?
    Mohon di balas. Terimakasih 🙂

    Balas
    • 9 Agustus 2016 pukul 01.15
      Permalink

      musicPlayer.playFullFile(“track001.mp3”);
      itu mas artinya play lagu sampai habis file mp3 dengan nama track001

      Balas

Komentar anda

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.