Buzzer
Pada latihan ini kamu akan menggunakan Arduino bersama buzzer kecil untuk memainkan musik, dan kamu akan belajar bagaimana cara membuat program untuk musik kamu sendiri menggunakan variabel array.Buzzer: di dalamnya menggunakan sebuah lilitan magnet untuk mengetarkan piringan besi dibungkus dengan housing plastik. Dengan cara memberikan tegangan berupa pulsa listrik pada lilitan magnet dengan frekuensi yang berbeda-beda, maka akan menghasilkan suara dari buzzer tersebut.
Kebutuhan Komponen:
— 1 x Arduino UNO— 1 x Breadboard
— 1 x Buzzer
— 3 x Kabel JUmper
Perakitan:
Rangkaian:
Upload sketch:
Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.
Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.
/*
08 - Buzzer
Memainkan nada menggunakan sebuah buzzer yang terhubung ke pin 8
*/
int speakerPin = 8; //pin dimana buzzer dihubungkan
void setup() {
pinMode(speakerPin, OUTPUT); //set pin digital sebagai output untuk speaker
}
void loop() {
play('g', 2); //ha
play('g', 1); //ppy
play('a', 4); //birth
play('g', 4); //day
play('C', 4); //to
play('b', 4); //you
play(' ', 2); //jeda 2 beats
play('g', 2); //ha
play('g', 1); //ppy
play('a', 4); //birth
play('g', 4); //day
play('D', 4); //to
play('C', 4); //you
play(' ', 2); //jeda 2 beats
play('g', 2); //ha
play('g', 1); //ppy
play('G', 4); //birth
play('E', 4); //day
play('C', 4); //dear
play('b', 4); //your
play('a', 6); //name
play(' ', 2); //jeda 2 beats
play('F', 2); //ha
play('F', 1); //ppy
play('E', 4); //birth
play('C', 4); //day
play('D', 4); //to
play('C', 6); //you
while(true){} //membuaat program stak disini sehingga musik hanya dimainkan sekali
}
void play( char note, int beats) {
int numNotes = 14; //jumlah nada didalam array notes dan frekuensi (ada 15 nilai, tapi sebuah array dimulai dari 0 - 14)
//Catatan: nada-nada yang digunakan adalah C major
//array notes ini digunakan untuk menyimpan kumpulan nada-nada
char notes[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C', 'D', 'E', 'F', 'G', 'A', 'B', ' '};
//array frequencies dibawah berpasangan dengan tiap huruf (contoh urutan nada ke 4 adalah 'f', urutan frekuensi ke 4 adalah 175)
int frequencies[] = {131, 147, 165, 175, 196, 220, 247, 262, 294, 330, 349, 392, 440, 494, 0};
int currentFrequency = 0; //variabel ini digunakan untuk menyimpan frekuensi yang sedang dimainkan
int beatLength = 150; //waktu ketukan (merubah nilai ini akan mempercepat atau memperlambat tempo tempo dari lagu)
//mencari frekuensi yang berpasangan sesuai dengan nada
for (int i = 0; i < numNotes; i++) //cek setiap nilai didalam array notes dari 0 sampai 14
{
if (notes[i] == note) //memeriksa apakah huruf yang akan dimainkan ada yang cocok dengan huruf/nada yang berada didalam array notes?
{
currentFrequency = frequencies[i]; //jika Ya! Set nilai currentFrequency sama dengan frekuensi yang sepasang dengan huruf/nada
}
}
//memainkan frequency yang sepasang dengan huruf/nada dengan ketukan yang sesuai dengan nilai variabel beats pada pemanggilan fungsi play
tone(speakerPin, currentFrequency, beats * beatLength);
delay(beats* beatLength); //jeda sesuai dengan lama ketukan nada yang dimainkan
delay(50); //sedikit jeda antara tiap nada untuk membuat lagu menjadi lebih natural
}
0 comments:
Posting Komentar