ARDUİNO İLE BUZZER KULLANIMI – KARAYİP KORSANLARI

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.

Facebook Yorumları

Bir cevap yazın

E-Posta adresiniz yayınlanmayacaktır.