Malzeme Listesi


  • Arduino
  • Breadboard
  • 1 Adet Buzzer
  • 1 Adet 10k Potansiyometre
  • 1 Adet 10k Ohm Direnç ( Kahverengi-Kırmızı-Turuncu)
  • 1 Adet Button
  • 8 Adet Erkek Erkek Jumper Kablo



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.


HTML-Kodu:
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);    d
elay(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);    d
elay(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.