Yang perlu kamu siapkan adalah;
1x Arduino
1x Breadboard
1x Speaker
1x Resistor 220 ohm
2x Kabel Jumper
Lalu buat rangkain seperti Gambar dibawah ini:
NOTES:
- Hubungkan GND arduino ke Breadboard.
- Hubungkan GND breadboard ke kabel kiri Speaker.
- Hubungkan pin 9 Arduino ke kabel kanan Speaker.
- Speaker sebenarnya tidak memiliki polaritas. Jadi mau dipasang seperti apapun antara positif dan - -- negatif, Speaker masih tetap akan menyala.
Pemograman Speaker kamu bisa ketik atau salin sketch dibawah ini:
int speaker= 9; // membuat variabel Speaker untuk pin 9 Arduino
void setup() {
// void setup dikosongkan
}
void loop() {
tone(speaker, 262); delay(500); // membuat nada DO dengan waktu 500 milidetik
tone(speaker, 294); delay(550); // membuat nada RE dengan waktu 550 milidetik
tone(speaker, 330); delay(590); // membuat nada MI dengan waktu 590 milidetik
tone(speaker, 349); delay(600); // membuat nada FA dengan waktu 600 milidetik
tone(speaker, 395); delay(610); // membuat nada SOL dengan waktu 610 milidetik
tone(speaker, 440); delay(620); // membuat nada LA dengan waktu 620 milidetik
tone(speaker, 494); delay(630); // membuat nada SI dengan waktu 630 milidetik
tone(speaker, 523); delay(700); // membuat nada DO” dengan waktu 700 milidetik
}
NOTES:
- int speaker= 9; membuat variabel Speaker dimana variabel ini akan menyimpan nilai 9, yang berarti pin 9 arduino akan digunakan untuk Speaker.
- void setup sengaja dikosongkan, karena tidak perlu perintah pinMode(speaker, OUTPUT); , karena pada perintah tone yang ada di void loop, sudah satu paket bahwa Speaker ini adalah OUTPUT.
- tone(speaker, 262); digunakan untuk membuat nada DO, nilai 262 adalah frekuensi suara untuk nada DO. delay(500); menentukan bahwa nada DO ini akan berbunyi selama 500 milidetik.
Dari program yang pertama, kamu belajar bahwa setiap nada yang di bunyikan oleh Speaker memiliki frekuensi seperti tabel dibawah ini:
Untuk mempermudah pembuatan NADA kamu bisa membuat Fungsi Variabel, untuk setiap nada, seperti;
void DO() { tone(speaker, 262); }
Lalu nantinya kamu tinggal masukan DO(); kedalam void loop ditambah delay.
Dibawah ini adalah program yang isinya nada lagu Kebunku, saya ambil dari note angka yang ada di internet, dengan menambahkan delay yang saya sesuaikan dengan lagunya.
int speaker= 9; // membuat variabel Speaker untuk pin 9 digital
void setup(){ // void setup sengaja dikosongkan
}
void DO() { tone(speaker, 262); } // fungsi variabel untuk nada DO
void RE() { tone(speaker, 294); } // fungsi variabel untuk nada RE
void MI() { tone(speaker, 330); } // fungsi variabel untuk nada MI
void FA() { tone(speaker, 349); } // fungsi variabel untuk nada FA
void SOL() { tone(speaker, 395); } // fungsi variabel untuk nada SOL
void LA() { tone(speaker, 440); } // fungsi variabel untuk nada LA
void SI() { tone(speaker, 494); } // fungsi variabel untuk nada SI
void DOO() { tone(speaker, 523); } // fungsi variabel untuk nada DOO
void DIAM() { noTone(speaker); } // fungsi variabel untuk nada DIAM
void loop() {
SOL(); delay(500); MI(); delay(1000); SOL(); delay(1000); // lihat kebunku
DOO(); delay(1000); DIAM(); delay(500);
SOL(); delay(500); DOO(); delay(500); SOL(); delay(500); // penuh dengan bunga
FA() ; delay(500); MI(); delay(500); RE(); delay(1000);
DIAM(); delay(500);
FA(); delay(500); RE(); delay(1000); FA(); delay(1000); // ada yang merah
LA(); delay(1000); SOL(); delay(500); DO(); delay(500); // dan ada yang putih
MI(); delay(500); RE(); delay(500); DO(); delay(1000);
DIAM(); delay(500);
SOL(); delay(500); MI(); delay(1000); SOL(); delay(1000); // setiap hari
DIAM(); delay(500);
SOL(); delay(500); DOO(); delay(500); SOL(); delay(500); // kusiram semua
FA(); delay(500); MI(); delay(500); RE(); delay(1000);
DIAM(); delay(500);
FA(); delay(500); RE(); delay(1000); FA(); delay(1000); // mawar melati
LA(); delay(1000); SOL(); delay(500); DO(); delay(500); // semuanya indah
MI(); delay(500); RE(); delay(500); DO(); delay(1000);
DIAM(); delay(1000);
}
NOTES:
- Sebelumnya maaf Nada lagu Kebunkunya agak fals, saya kurang begitu ahli dalam nada
- int speaker= 9; digunakan untuk membuat variabel Speaker untuk pin digital 9 Arduino.
- void setup sengaja dikosongkan karena untuk program tone tidak memerlukan pinMode(speaker, OUTPUT);
- void DO() { tone(speaker, 262); } membuat fungsi variabel untuk mempersingkat saat pembuatan nada pada void loop, jadi cukup memasukan kode DO(); saja, dan ditambah delay.
- SOL(); delay(500); menambahkan nada DO dengan delay 500 milidetik.
MARI LEBIH KREATIF!!!
- Buatlah sebuah nada lagu dengan mencari not angkanya di Google, atau lihat dari buku. Selanjutnya kamu bisa konversi sendiri, misal: not angka 1 jadi DO();, not angka 2 jadi RE(); dan seterusnya!
- Tambahkan rangkaian 8 LED pada rangkain Speaker seperti Gambar diatas, dengan 1 LED mewakili 1 Nada. Dan masukan program LED pada setiap fungsi variabel, sehingga setiap nada yang berbunyi akan di ikuti dengan setiap nyala lampu LED.