Merhabalar, uzun bir aradan sonra yeni bir yazı ile karşınızdayız. Arduino kullanmaya başlayanların genellikle led yaktıktan sonra yapmış olduğu ilk şey buzzer kullanmaktır. Bizler de kısacık bir buzzer nedir ve nerelerde kullanılır una değinerek, sonrasında gençlerin çok sevdiği bir müzik olan Karayip Korsanları film müziğini Arduino ile çalacağız.
Öncelikle buzzerı minik bir hoparlör olarak düşünebiliriz. Ancak bu hoparlörden tabiki mp3 formatında şarkılar dinleyemiyoruz. Hani o Nokia 3310 telefonlar var ya monofonik olarak adlandırılan, işte bu o telefonlarda zil sesinin çıkmasını sağlayan minik hoparlörler gibi “bip” sesi çıkarmaktadır. 🙂
Buzzer kullanırken yine aynı ledlerde olduğu gibi 2 bacak bulunmakta ve bunlardan birisi (-), diğeri ise (+) olmaktadır. (+) olan bacak genellikle uzun olmakta veya buzzer üzerinde hangi bacağın artı olduğu yazmaktadır. Kısa olan veya üzerinde herhangi bir ifade bulunmayan bacak ise (-) bacak olmaktadır. Bizler bağlantımızı yaparken (-) bacağı GND, (+) bacağı ise Arduino üzerindeki dijital pinlerden birisine(kodumuzda hangi pini belirlemişsek) bağlayacağız. Şimdi aşağıdaki şemaya göz atıp kuralım ve sonrasında kodumuzu yükleyerek Karayip ,Korsanları film müziğimizi dinleyelim 🙂
yandaki resimde buzzer’ın Arduinomuz üzerine bağlantısınız nasıl olacağını görüyorsunuz. Şemadaki direnç kullanımı dikkatinizi çekmiştir ama benim sizlere tavsiyem direnç olmadan direkt olarak bağlantıyı kurmanız. Çünkü direnç kullanıldığında buzzerdan çıkan ses miktarı oldukça düşmektedir 🙂
/* ARDUİNO İLE KARAYİP KORSANLARI MAKER PROJELERİ www.makerprojeleri.com */ const int buzzer = 8; const int songspeed = 1.5;// Şarkının hızını yavaşlatmak için 2, hızlandırmak için 1 yapabilirsiniz :) //***************************************** #define NOTE_C4 262 //Nota Frekansları #define NOTE_D4 294 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_G4 392 #define NOTE_A4 440 #define NOTE_B4 494 #define NOTE_C5 523 #define NOTE_D5 587 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_G5 784 #define NOTE_A5 880 #define NOTE_B5 988 //***************************************** int notes[] = { NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, NOTE_A4, NOTE_G4, NOTE_A4, 0, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, NOTE_A4, NOTE_G4, NOTE_A4, 0, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, NOTE_A4, NOTE_C5, NOTE_D5, NOTE_D5, 0, NOTE_D5, NOTE_E5, NOTE_F5, NOTE_F5, 0, NOTE_E5, NOTE_D5, NOTE_E5, NOTE_A4, 0, NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, NOTE_D5, NOTE_E5, NOTE_A4, 0, NOTE_A4, NOTE_C5, NOTE_B4, NOTE_B4, 0, NOTE_C5, NOTE_A4, NOTE_B4, 0, NOTE_A4, NOTE_A4, //Repeat of first part NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, NOTE_A4, NOTE_G4, NOTE_A4, 0, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, NOTE_A4, NOTE_G4, NOTE_A4, 0, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, NOTE_A4, NOTE_C5, NOTE_D5, NOTE_D5, 0, NOTE_D5, NOTE_E5, NOTE_F5, NOTE_F5, 0, NOTE_E5, NOTE_D5, NOTE_E5, NOTE_A4, 0, NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, NOTE_D5, NOTE_E5, NOTE_A4, 0, NOTE_A4, NOTE_C5, NOTE_B4, NOTE_B4, 0, NOTE_C5, NOTE_A4, NOTE_B4, 0, //End of Repeat NOTE_E5, 0, 0, NOTE_F5, 0, 0, NOTE_E5, NOTE_E5, 0, NOTE_G5, 0, NOTE_E5, NOTE_D5, 0, 0, NOTE_D5, 0, 0, NOTE_C5, 0, 0, NOTE_B4, NOTE_C5, 0, NOTE_B4, 0, NOTE_A4, NOTE_E5, 0, 0, NOTE_F5, 0, 0, NOTE_E5, NOTE_E5, 0, NOTE_G5, 0, NOTE_E5, NOTE_D5, 0, 0, NOTE_D5, 0, 0, NOTE_C5, 0, 0, NOTE_B4, NOTE_C5, 0, NOTE_B4, 0, NOTE_A4 }; //***************************************** int duration[] = { //duration of each note (in ms) Quarter Note is set to 250 ms 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 125, 250, 125, 125, 125, 250, 125, 125, 250, 125, 250, 125, 125, 125, 250, 125, 125, 125, 125, 375, 375, 250, 125, //Rpeat of First Part 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 125, 250, 125, 125, 125, 250, 125, 125, 250, 125, 250, 125, 125, 125, 250, 125, 125, 125, 125, 375, 375, //End of Repeat 250, 125, 375, 250, 125, 375, 125, 125, 125, 125, 125, 125, 125, 125, 375, 250, 125, 375, 250, 125, 375, 125, 125, 125, 125, 125, 500, 250, 125, 375, 250, 125, 375, 125, 125, 125, 125, 125, 125, 125, 125, 375, 250, 125, 375, 250, 125, 375, 125, 125, 125, 125, 125, 500 }; void setup() { for (int i=0;i<203;i++){ //203 is the total number of music notes in the song int wait = duration[i] * songspeed; tone(buzzer,notes[i],wait); //tone(pin,frequency,duration) delay(wait);} //delay is used so it doesn't go to the next loop before tone is finished playing //You can click reset on Arduino to replay the song } void loop() { }
Bir sonraki yazımızda, Pithes.h kütüphanesinin kurulumunu ve bu kütüphanenin kullanıldığı bir müzik örneğine bakacağız.
Son yorumlar