arduino music tone - sekolahrobot.comsekolahrobot.com/download/materi arduino 9 - arduino...
TRANSCRIPT
www.sekolahrobot.co.id
ARDUINO MUSIC TONE
Arduino mampu menghasilkan nada/suara sesuai dengan nada-nada yang ada. Suara adalah
fenomena analog, bagaimana caranya Arduino menanganinya? Sekali lagi kita akan meniru
perilaku analog menggunakan Arduino dengan kecepatannya yang luar biasa.
Untuk itu dibutuhkan buzzer/piezo elements,
yang nantinya akan di buhubungkan ke salah
satu pin digital Arduino. Sebuah buzzer akan
menghasilkan suara ketukan setiap kali dialiri
gelombang (pulse) arus listrik. Jika kita
menggunakan gelombang arus listrik dengan
frekuensi yang tepat (misalnya 440 kali per
detik untuk menghasilkan nada A) maka suara
ketukan secara bersama-sama ini akan
menghasil nada musik.
Gambar dibawah ini adalah bentuk contoh
piezo.
Komponen yang diperlukan:
1 buah buzzer
Kabel jumper
Breadboard
Arduino
+
BAHAN YANG DIBUTUHKAN
Breadboard
Arduino UNO
Jumper M to M Buzzer
Skema rangkaian dapat dilihat pada
gambar berikut:
Berikut ini adalah gambar simulasi penempatan komponen pada breadboard dan board Arduino.
Pada saat menempatkan buzzer, perhatikan polaritas-nya (tanda +) jangan terbalik. Kaki dengan tanda + dihubungkan dengan pin 9 Arduino.
PEMROGRAMAN BUZZER
Biar langsung mencoba, mari membuat project sederhana menggunakan buzzer
sketch
int speaker= 9;
void setup() {
}void loop() {
tone(speaker, 262); delay(500); tone(speaker, 294); delay(550);
tone(speaker, 330); delay(590); tone(speaker, 349); delay(600); tone(speaker, 395); delay(610);
tone(speaker, 440); delay(620);
tone(speaker, 494); delay(630);
tone(speaker, 523); delay(700);}
Ÿ 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, dapat disimpulkan bahwa setiap nada yang di bunyikan oleh Speaker memiliki frekuensi seperti tabel dibawah ini:
Untuk mempermudah pembuatan NADA bisa juga dibuat fungsi Variabel, untuk setiap nada, seperti berikut ini; void DO() { tone(speaker, 262); }
Lalu nantinya tinggal masukan DO(); kedalam void loop ditambah delay.
Dibawah ini adalah contoh program yang menggunakan variabel yang akan kita buat terlebih dahulu,
sketch
int speaker= 9; void setup(){ }
void DO() { tone(speaker, 262); //nada do}
void RE() { tone(speaker, 294); //nada re}
void DIAM() { noTone(speaker); }
void loop() {
DO();delaY(1000);RE();delay(500);DO();delaY(1000);RE();delay(500);}
PROJECT
Ÿ buatlah untuk void void selanjutnya sampai Do”
Ÿ bikin bunyi lagu ibu kita Kartini dengan nada seperti di bawah ini
Ÿ cari not lagu lainnya dan bikin bunyi di project yang sudah di buat
Setelah bisa membuat nada nada dengan menggunakan arduino dan buzzer, sekarang membuat project membuat alat musik.
Tombol push-on seprti ygambar diatas dapat kita modifikasi menjadi seperti alat musik, yaitu keyboard piano. Tentu saja tidak ‘secanggih’ keyboard beneran.
Dengan Arduino, kita cukup menambahkan beberapa buah tombol ‘push on’ dan 1 speaker/buzzer. Cukup menekan salah satu tombol maka speaker akan berbunyi dengan nada tertentu.
PEMROGRAMAN PIANO
Biar langsung mencoba, mari membuat project sederhana menggunakan buzzer
sketch
int speaker= 9;
void setup() {pinMode(2,INPUT);pinMode(3,INPUT);pinMode(4,INPUT);
digitalWrite(2,HIGH);digitalWrite(3,HIGH);digitalWrite(4,HIGH);}
void DO() { tone(speaker, 262); //nada do}
void RE() { tone(speaker, 294); //nada re}
void MI() { tone(speaker, 330 //nada mi}
void loop() {
if(digitalRead(2)==LOW) { DO(); //Do } else if(digitalRead(3)==LOW) { RE();//Re } else if(digitalRead(4)==LOW) { MI();//mi }}
PROJECT
Ÿ mari membuat arduino musik komplit menggunakan 8 push button dan disolder pada board yang sudah di siapkan