You are on page 1of 9

ARDUINO DRUM DIY (MEMBUAT SENDIRI ARDUINO DRUM)

kalau punya drum set di rumah alangkah asyiknya bisa hilangkan jenuh dengan menghajar drum dengan
stik. tapi selain harga,berisikin tetangga dan memakan tempat yg cukup besar.

so... saya akan berbagi pengetahuan kepada anda untuk membuat drum elektrik.
tak makan tempat tak berisik tetangga karena bisa pakai headset dan juga harga yg murah.
di mana cari alatnya.
semua ada di toko online.

Pertama tama siapkan peralatannya.


1. arduino uno MEGA 2560 (harga lihat di toko online)
2. arduino microsd/sd card modul
3. piezo elektrik sebagai sensor drum 8 biji
4. resistor 1 mega ohm 8 biji
5. kabel tentunya

saya harapkan anda sudah memahami dan sudah mempelajari drum elektrik sebelumnya karena saya
tidak begitu detail membahas struktur rangka hingga pembuatan drum pad.
saya hanya akan membahas mengenai kode pemrograman hingga koneksi drum itu sendiri.

di bawah ini adalah beberapa alat yg di perlukan


resistor 1 mega ohm
arduino mega 2560 dan arduino sd card modul
piezo elektrik

Rangkailah komponen di atas seperti gambar di bawah ini

rangkaian ini yang harus sama persis adalah untuk sD card kecuali 5v dan 3.3 v boleh memilih salah
satu.

speaker jelas harus pakai speaker aktif pin positif nya ke pin 46 dan negatifnya ke ground.
bisa juga di kembangkan dengan pin lainnya.

untuk sensor/piezo sengaja melompat hanya untuk mempermudah pemasangan. cuma kalau anda ingin
berurutan dari 0-7 atau berapapun yg penting di analog input programing juga harus ikut di rubah.
jangan sampai terbalik antara ground dengan positifnya.
untuk resistor gunakan 1 mega ohm atau bisa di kurangi apabila terlalu sensitif.
resistor ini di pasang secara paralel dengan sensor atau setiap pin arduino yg di gunakan harus di
pasang resistor ke ground. kalau 4 sensor ya 4 resistor kalau 8 atau lebih ya pasang juga sesuai jumlah
sensor.

di bawah ini adalah gambar yg sudah terangkai.


setelah terangkai semua kita beralih ke SD card atau micro sd.

AUDIO DRUM

konsep nya adalah sensor di ketuk memberi sinyal ke arduino dan arduino akan ambil suara dari micro
sd untuk di putar di speaker.

maka kita harus mengisi micro sd kita dengan suara drum nya.
kita bisa memasukan suara apapun ke micro sd asalkan perintahnya jelas nanti di programnya.

perlu diperhatikan arduino hanya bisa membaca audio bentuk wav.


kalau anda punya mp3 atau bentuk lain maka harus dikonversi terlebih dahulu menjadi wav.
anda bisa memanfaatkan online-audio converter.

carilah di google acoustic drum.wav /midi drum audio/audio drum for arduino.
mohon maaf saya belum upload milik saya jadi belum bisa memberikan link nya,lain waktu akan saya
upload dan beri link untuk di download.

setelah mendapatkan audionya pindahkan ke microsd tanpa folder sama persis seperti mengisi
lagu,tentu harus pakai card reader atau pakai handphone.
jangan lupa ini tak kalah penting
berilah nama file audio nya yg jelas dan mudah di ingat,bila perlu catat nama audionya karena salah
satu huruf saja tak akan bisa dipanggil oleh arduino.
supaya tak banyak merubah program namai audionya seperti di bawah ini.

bass/kick beri nama 1_kick


snare beri nama 1_snare
tom 1 beri nama 1_tom1
tom 2 beri nama 1_tom2
tom 3 beri nama 1_ft
crash beri nama 1_cy
close hat beri nama 1_chh
open hat beri nama 1_ohh

setelah itu masukan lagi microsd ke slot arduinonya.

PEMOGRAMAN

mungkin ini yg paling sulit dan memusingkan. tetapi tinggal copy paste saja setelah berhasil barulah di
utak atik untuk merubah sesuai keinginan.

sebelum itu download dulu programernya di arduino.com cari sesuai ios komputer anda.
https://www.arduino.cc/en/Main/Software
setelah itu instalah ke komputer.
kemudian colokan arduino pakai usb dan buka softwarenya.

Saat di buka akan tampak seperti di bawah ini

ini adalah program dasarnya. sebelum copy dan paste kode pemrograman, pastikan dulu klik
pengaturan di bawah ini.
sesuaikan board, proccesor serta port nya.

setelah itu copy dan pastekan kode program yg ada di paling bawah artikel ini ke kolom program.
jangan lupa hapus yang lama terlebih dahulu.
setelah itu pastikan "trpcm dan spi" teristal karena kalau belum akan error saat upload code.
caranya adalah

masuk ke sketch,include library dan manage library.

di kolom pencarian,ketik spi dan cari. kemudian install, lanjut ke trpcm apabila saat upload kode masih
error.

setelah terkopi paste dengan benar,klik tombol upload seperti di bawah ini. apabila berhasil lampu di
arduino akan berkedip dan ada keterangan uploading de di komputer. apabila masih ada error silahkan
cek ulang langkah di atas dan pastikan kode pemrograman tidak ada yg terlewat atau hilang.

normalnya apabila berhasil upload akan bunyi dentang crash di pukul pertanda arduino siap di gunakan.

oke di bawah ini adalah kode pemogramanya,pastikan sama persis supaya tak error nantinya.

#include <SD.h> // need to include the SD library


//#include <SDfatlib.h>

#define SD_ChipSelectPin 53 //example uses hardware SS pin 53 on Mega2560


//#define SD_ChipSelectPin 4 //using digital pin 4 on arduino nano 328, can use other pins

#include <TMRpcm.h> // also need to include this library...


#include <SPI.h>

TMRpcm tmrpcm; // create an object for use in this sketch

int knockSensor0 = 0;
int knockSensor1 = 2;
int knockSensor2 = 4;
int knockSensor3 = 6;
int knockSensor4 = 8;
int knockSensor5 = 10;
int knockSensor6 = 12;
int knockSensor7 = 14;

byte val0 = 0;
byte val1 = 0;
byte val2 = 0;
byte val3 = 0;
byte val4 = 0;
byte val5 = 0;
byte val6 = 0;
byte val7 = 0;

int THRESHOLD = 25;

void setup() {
// put your setup code here, to run once:

Serial.begin(9600);

tmrpcm.speakerPin = 46; //5,6,11 or 46 on Mega, 9 on Uno, Nano, etc


//Serial.begin(9600);
pinMode(46,OUTPUT);
//digitalWrite(46,HIGH);

if (!SD.begin(SD_ChipSelectPin)) { // see if the card is present and can be initialized:


Serial.println("SD fail");
return; // don't do anything more if not
}
else{
Serial.println("Done");
}
// tmrpcm.volume(50);
//tmrpcm.play("m.wav"); //the sound file "music" will play each time the arduino powers up, or is
reset
tmrpcm.play("1_cy.wav");

}
void loop() {
// put your main code here, to run repeatedly:
val0 = analogRead(knockSensor0);
val1 = analogRead(knockSensor1);
val2 = analogRead(knockSensor2);
val3 = analogRead(knockSensor3);
val4 = analogRead(knockSensor4);
val5 = analogRead(knockSensor5);
val6 = analogRead(knockSensor6);
val7 = analogRead(knockSensor7);

if (val0 >= 100) {

tmrpcm.play("1_kick.wav");
Serial.println("kick!");
delay(5);
}

if (val1 >= 150) {


tmrpcm.play("1_snare.wav");
Serial.println("snare");
delay(5);

}
if (val2 >= 150) {
tmrpcm.play("1_tom1.wav");
Serial.println("tom 1");
delay(5);
}
if (val3 >= 150) {
tmrpcm.play("1_tom2.wav");
Serial.println("tom 2");
delay(5);
}
if (val4 >= 100) {
tmrpcm.play("1_ft.wav");
Serial.println("tom 3");
delay(5);
}

if (val5 >= 150) {


tmrpcm.play("1_cy.wav");
Serial.println("crash");
delay(5);

}
if (val6 >= 150) {
tmrpcm.play("1_ohh.wav");
Serial.println("open hat");
delay(5);
}
if (val7 >= 150) {
tmrpcm.play("1_chh.wav");
Serial.println("close hat");
delay(5);
}

delay(1); // we have to make a delay to avoid overloading the serial port


}

You might also like