Merhaba arkadaşlar, bu uygulamamızda buzzer kullanarak İstiklal Marşı uygulaması yapacağız. 

Malzeme Listesi

Devre Şeması

Malzeme listesindeki malzemeleri kullanarak devremizi aşağıdaki şemaya uygun olarak kuralım. Devremiz butona basınca çalışacağı için buton koyduk. Butonun bağlantıları aşağıdaki şemadaki gibidir. Bir ucuna +5V diğer ucuna ise 7 numaralı pin ve 10k direç ile gnd ye bağlıyoruz. 8 numaralı pinden aldığımız kablo ile potansiyometrenin orta ucuna bağlıyoruz. Sağ veya sol ucundan ise bir çıkış alıp buzzer’ın anot(+) ucuna bağlıyoruz. Buzzer’ın katot(-) ucunu da gnd ye bağlıyor. Potansiyometre sayesinde buzzer’ın ses düzeyini ayarlayacağız. Daha anlaşılır ve net bir ses olmasını sağlayacağız.

Arduino Kodları

İlk önce buton ve buzzer için değişken tanımlayıp ve  bu değişkenlere pin numaralarını eşitiliyoruz. Daha sonra #define komutu ile sabit bir değişken, yani değeri değişmeyecek bir tanımlama yapıyoruz. Bu tanımlamalarda notanın kodu ve karşılık gerek frekans değerlerini yazıyoruz. Arduino programlama yaparken bu nota kodlarını ve değerlerini bilmenize gerek yok. Sadece bazı projelerde lazım olduğu zaman kaydettiğiniz yerden alarak kullanabilirsiniz.

Setup fonksiyonunda butonumuzu INPUT(giriş), buzzerı ise OUTPUT(çıkış) olarak tanımlamamız gerekiyor. 

Loop fonksiyonunda ilk butondan okuduğumuz değer HIGH mı diye kontrol ediyoruz. Yani butona basıldı mı olarak yorumlanabilir. Eğer okuduğumuz değer HIGH ise Oynat() isimli fonksiyonumuz çalışmaya başlıyor. Oynat isimli fonksiyonu direk if bloğunun içine de yazabilirdim ama daha anlaşılır olması için yeni bir fonksiyon tanımladım.

Oynat fonksiyonunda en başta tanımladığımız nota kodları ve frekanslarını kullanarak istiklal marşının notalarına karşılık gelen kodlar yazılmıştır. Tone fonksiyonu ile belirlediğimiz frekansı buzzera iletiyoruz ve bir süre bekleyip diğer frekansı buzzera iletiyoruz. Bu sayede İstiklal Marşımızın melodisi çalmaya başlıyor. Melodi bitince tekrar açmak istersek, tekrar butona basabiliriz.

Ufak bir bilgiden de bahsetmek istersem arduinoda kod yazarken // işareti yaparak, bu işaretten sonraki yazılar açıklama satırı olcaktır ve kodumuzun hata vermesini engelleyecektir. // bu işaretten sonra sadece o satır açıklama satırı olacaktır. Örnek olarak oynat fonksiyonunda görebilirsiniz.

int butonPin=7;
int buzzerPin = 8;
#define a   440
#define ad  466
#define b   494
#define c   523
#define cd  554
#define d   587
#define dd  622
#define e   659
#define f   698
#define fd  740
#define g   784
#define gd  830
#define a2  880
#define ad2 932
#define b2  988
#define c2  1046
#define cd2 1108
#define d2  1174
#define dd2 1244
#define e2  1318
#define f2  1396
#define fd2 1480
#define g2  1568
#define gd2 1660
#define a3  1760
void setup(){  
  pinMode(butonPin,INPUT);
  pinMode(buzzerPin, OUTPUT); 
}                       
void loop(){  
  if(digitalRead(butonPin)==HIGH)
    Oynat();
}
void Oynat(){
    //Korkma Sönmez Bu Şafak  
    tone( buzzerPin, c);             
    delay(800);                  
    tone( buzzerPin, f);          
    delay(800);
    tone( buzzerPin, g);
    delay(800);
    tone( buzzerPin, gd);
    delay(800);
    tone( buzzerPin, e);
    delay(400);
    tone( buzzerPin, g);
    delay(200);        
    tone( buzzerPin, f);
    delay(1600);        
    noTone( buzzerPin);
    delay(300);
    //Larda Yüzden Al Sancak
    tone( buzzerPin, f);
    delay(800);        
    tone( buzzerPin, ad2);
    delay(800);        
    tone( buzzerPin, c2);
    delay(800);        
    tone( buzzerPin, cd2);
    delay(800);
    tone( buzzerPin, a2);
    delay(400);
    tone( buzzerPin, c2);
    delay(200);
    tone( buzzerPin, ad2);
    delay(1600);        
    //Sönmeden Yurdumun Üstünde Tüten En Son Ocak O Be
    tone( buzzerPin, c2);
    delay(200);        
    tone( buzzerPin, ad2);
    delay(200);        
    tone( buzzerPin, c2);
    delay(200);        
    tone( buzzerPin, g);
    delay(400);        
    noTone( buzzerPin);
    delay(100);  
    tone( buzzerPin, g);
    delay(400);        
    tone( buzzerPin, ad);
    delay(200);
    tone( buzzerPin, gd);
    delay(400);   
    tone( buzzerPin, e);
    delay(200);
    tone( buzzerPin, f);
    delay(400);   
    tone( buzzerPin, g);
    delay(200);
    tone( buzzerPin, gd);
    delay(400);        
    tone( buzzerPin, ad);
    delay(200);        
    tone( buzzerPin, c2);
    delay(400);        
    tone( buzzerPin, cd2);
    delay(200);        
    tone( buzzerPin, dd2);
    delay(400);        
    tone( buzzerPin, f2);
    delay(200);        
    tone( buzzerPin, dd2);
    delay(400);     
    //Nim Milletimin
    tone( buzzerPin, dd);
    delay(200);
    tone( buzzerPin, d);
    delay(200);
    tone( buzzerPin, dd);
    delay(200);
    tone( buzzerPin, c2);
    delay(800);
    tone( buzzerPin, ad);
    delay(800);
    tone( buzzerPin, gd);
    delay(1600);
    // Yıldızıdır Parlayacak O benim
    tone( buzzerPin, c);
    delay(200);
    tone( buzzerPin, b);
    delay(200);
    tone( buzzerPin, c);
    delay(200);
    tone( buzzerPin, g);
    delay(800);
    tone( buzzerPin, c);
    delay(800);
    tone( buzzerPin, c2);
    delay(800);
    tone( buzzerPin, ad);
    delay(200);
    tone( buzzerPin, gd);
    delay(200);
    tone( buzzerPin, g);
    delay(400);
    tone( buzzerPin, gd);
    delay(200);
    tone( buzzerPin, f);
    delay(800);
    //Dir O Benim Milletimindir Ancak
    tone( buzzerPin, f2);
    delay(800);
    tone( buzzerPin, dd2);
    delay(200);
    tone( buzzerPin, cd2);
    delay(400);
    tone( buzzerPin, c2);
    delay(200);
    tone( buzzerPin, ad);
    delay(400);
    tone( buzzerPin, gd);
    delay(200);
    tone( buzzerPin, g);
    delay(400);
    tone( buzzerPin, f);
    delay(200);
    tone( buzzerPin, c2);
    delay(400);
    tone( buzzerPin, c);
    delay(800);
    tone( buzzerPin, f);
    delay(1600);
    //İKİNCİ KITA
    //Çatma Kurban Olayım
    tone( buzzerPin, c);
    delay(800);
    tone( buzzerPin, f);
    delay(800);
    tone( buzzerPin, g);
    delay(800);
    tone( buzzerPin, gd);
    delay(800);
    tone( buzzerPin, e);
    delay(400);
    tone( buzzerPin, g);
    delay(200);        
    tone( buzzerPin, f);
    delay(1600);        
    noTone( buzzerPin);
    delay(300);
    //Çehreni Ey Nazlı Hilal
    tone( buzzerPin, f);
    delay(800);        
    tone( buzzerPin, ad2);
    delay(800);        
    tone( buzzerPin, c2);
    delay(800);        
    tone( buzzerPin, cd2);
    delay(400);
    tone( buzzerPin, ad2);
    delay(400);
    tone( buzzerPin, a2);
    delay(400);
    tone( buzzerPin, c2);
    delay(400);
    tone( buzzerPin, ad2);
    delay(800);        
    //Kahraman Irkıma Bir Gül Ne Bu Şiddet Bu Celal Sana
    tone( buzzerPin, c2);
    delay(200);        
    tone( buzzerPin, ad2);
    delay(200);        
    tone( buzzerPin, c2);
    delay(200);        
    tone( buzzerPin, g);
    delay(400);        
    noTone( buzzerPin);
    delay(100);  
    tone( buzzerPin, g);
    delay(400);        
    tone( buzzerPin, ad);
    delay(200);
    tone( buzzerPin, gd);
    delay(400);   
    tone( buzzerPin, e);
    delay(200);
    tone( buzzerPin, f);
    delay(400);   
    tone( buzzerPin, g);
    delay(200);
    tone( buzzerPin, gd);
    delay(400);        
    tone( buzzerPin, ad);
    delay(200);        
    tone( buzzerPin, c2);
    delay(400);        
    tone( buzzerPin, cd2);
    delay(200);        
    tone( buzzerPin, dd2);
    delay(400);        
    tone( buzzerPin, f2);
    delay(200);        
    tone( buzzerPin, dd2);
    delay(400);     
    //Olmaz Dökülen
    tone( buzzerPin, dd);
    delay(200);
    tone( buzzerPin, d);
    delay(200);
    tone( buzzerPin, dd);
    delay(200);
    tone( buzzerPin, c2);
    delay(800);
    tone( buzzerPin, ad);
    delay(800);
    tone( buzzerPin, gd);
    delay(1600);
    //Kanlarımız Sonra Helal Hakkıdır
    tone( buzzerPin, c);
    delay(200);
    tone( buzzerPin, b);
    delay(200);
    tone( buzzerPin, c);
    delay(200);
    tone( buzzerPin, g);
    delay(800);
    tone( buzzerPin, c);
    delay(800);
    tone( buzzerPin, c2);
    delay(800);
    tone( buzzerPin, ad);
    delay(200);
    tone( buzzerPin, gd);
    delay(200);
    tone( buzzerPin, g);
    delay(400);
    tone( buzzerPin, gd);
    delay(200);
    tone( buzzerPin, f);
    delay(800);
    //Hakk'a Tapan Milletimin İstiklal
    tone( buzzerPin, f2);
    delay(800);
    tone( buzzerPin, dd2);
    delay(200);
    tone( buzzerPin, cd2);
    delay(400);
    tone( buzzerPin, c2);
    delay(200);
    tone( buzzerPin, ad);
    delay(400);
    tone( buzzerPin, gd);
    delay(200);
    tone( buzzerPin, g);
    delay(400);
    tone( buzzerPin, f);
    delay(200);
    tone( buzzerPin, c2);
    delay(400);
    tone( buzzerPin, c);
    delay(800);
    tone( buzzerPin, f);
    delay(1600);
    noTone( buzzerPin);
}

Kodları yazdıktan sonra arduinomuzu bilgisayara bağlayıp yükleme işlemini yapabiliriz. Bu sayede İstiklal Marşı uygulamamız gerçekleşmiş olacak.

4 YORUMLAR

  1. Merhaba, emeğiniz için teşekkürler yalnız kodlar şöyle hata veriyor:

    Compiling sketch…

    /tmp/639398897/sketch_jan28a/sketch_jan28a.ino:2:1: error: expected ‘,’ or ‘;’ before ‘int’

    int buzzerPin = 8;

    ^~~

    /tmp/639398897/sketch_jan28a/sketch_jan28a.ino: In function ‘void setup()’:

    /tmp/639398897/sketch_jan28a/sketch_jan28a.ino:30:11: error: ‘buzzerPin’ was not declared in this scope

    pinMode(buzzerPin, OUTPUT);

    ^~~~~~~~~

    /tmp/639398897/sketch_jan28a/sketch_jan28a.ino:30:11: note: suggested alternative: ‘butonPin’

    pinMode(buzzerPin, OUTPUT);

    ^~~~~~~~~

    butonPin

    /tmp/639398897/sketch_jan28a/sketch_jan28a.ino: In function ‘void Oynat()’:

    /tmp/639398897/sketch_jan28a/sketch_jan28a.ino:38:11: error: ‘buzzerPin’ was not declared in this scope

    tone( buzzerPin, c);

    ^~~~~~~~~

    /tmp/639398897/sketch_jan28a/sketch_jan28a.ino:38:11: note: suggested alternative: ‘butonPin’

    tone( buzzerPin, c);

    ^~~~~~~~~

    butonPin

    exit status 1

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz