Bu yazımızda Arduino projelerinde sıkça kullanılan Buzzer‘dan bir nota ve bir şarkı sesinin nasıl çıkartılacağını öğreneceksiniz.
Buzzer’ın nasıl çalıştığını öğrenmek istiyorsanız bu yazımızı okumanızı öneririm.
*Gerekli Malzemelerden Başlayalım.
- Breadboard (Devre Tahtası)
- Jumper Kablo
- Arduino
- Pasif Buzzer
Arduino ile Buzzer’dan Melodi Çalma Devresi ve Programı

Öncelikle neden pasif buzzer kullandığımı belirtmeliyim. Aktif buzzer ile melodi oluşturulamaz. Doğrudan elektrik akımı uygulandığında hep aynı sesi çıkartır. Pasif buzzer ile melodi oluşturulabilir. Bu nedenle pasif buzzer kullandım.
#define Buzzer 8
int Melodi[] = {100, 150, 200, 250, 300, 350, 400, 450, 500};
void setup()
{
}
void loop()
{
for (int i = 0; i < 9; i++)
{
tone(Buzzer, Melodi[i]);
delay(600);
}
noTone(Buzzer);
}PROGRAM ADIMLARI
ADIM 1:
Bu örnekte Arduino’nun 8. dijital pinini Buzzer’dan ses çıkartmak için seçtim.
#define Buzzer 8
int Melodi[] = {100, 150, 200, 250, 300, 350, 400, 450, 500};
void setup()
{
}#define Buzzer 8 Burada 8 numaralı pine Buzzer ismini veriyorum. Bu işlemden sonra 8 numaralı pin artık Buzzer ismiyle kullanılacak.
int Melodi[] = {100, 150, 200, 250, 300, 350, 400, 450, 500}; komutu ile Melodi isminde bir dizi tanımlıyoruz. Bu dizi içerisinde ise çalmak istediğimiz seslerin frekansları var. Hangi frekansın hangi sesi çıkardığını merak ediyorsanız Buzzer konumuzu inceleyebilirsiniz.
void setup() Arduino çalışmaya başladığında ilk olarak bu fonksiyonunu okur ve ön ayarları yapar. Bu programda Setup fonksiyonunda yazmamız gereken herhangi bir komut olmadığından burayı boş bırakıyoruz.
ADIM 2:
void loop()
{
for (int i = 0; i < 9; i++)
{
tone(Buzzer, Melodi[i]);
delay(600);
}
noTone(Buzzer);
}Loop() fonksiyonu Arduino çalıştığı sürece, içerisindeki komutları sürekli olarak tekrar eder.
for (int i = 0; i < 9; i++) Burada yazılan komutlar bir döngüyü ifade eder. Döngüler bir işlemin birden çok kez yapılması gerektiği durumlarda kullanılır. Bu döngü 0’dan başlar ve 1,2,3,4,5,6,7,8 sayılarını döndürür. Bu işlemi yaparken de içerisindeki komutları 9 defa yapmış olur.(0’dan başladığı için 8’e kadar 9 sayı var). Burada 9 sayısının seçilme nedeni, Melodi isimli dizinin 9 elemanlı olmasıdır.
tone(Buzzer, Melodi[i]); tone() komutu buzzer’dan ses çıkartmak için kullanılır. İçerisinde 2 adet parametre olması gereklidir. tone(Pin no, Ses Frekansı) şeklinde kullanılır. Melodi[i], for döngüsü her döndüğünde dizideki frekans değerlerini sırasıyla çalabilmek için kullanılmıştır. i=0 olduğu durumda Melodi[0] değeri yani 100 değeri gelecek. i değeri döngü koşulu sağlandığı sürece 1 artarak devam edecek. i=8 olduğu durumda ise Melodi[8] yani 500 değeri gelecek ve ardından koşul sağlanmadığı için döngü bitecek. Böylece Melodi dizisindeki tüm frekans değerleri buzzer’da çalınmış olacak.
delay(600); komutuyla buzzer her frekans değerini çalarken 600ms bekleme yapacak.
noTone(Buzzer); komutuyla buzzer ses çıkarmayı durdurur. noTone(Pin no) şeklinde kullanılır. Bu komut satırı döngünün dışında yazılmıştır. Çünkü döngü Melodi dizisindeki tüm ses frekanslarını çalacak ve ardından duracaktır.
Buzzer’dan Melodi Çalma Programını Buradan İndirebilirsiniz.
Arduino ile Buzzer’dan Şarkı Çalma Programı
Yukarıdaki devreyi aynı şekilde bağlayarak bu programı da kullanabilirsiniz. Mutlu ol yeter şarkısının melodisini içeren program aşağıdadır.
int buzzerPini=8;
int kalin_do = 262;
int RE = 294;
int MI = 330;
int FA = 349;
int SOL = 392;
int LA = 440;
int SI = 494;
int ince_do = 523;
void setup()
{
}
void loop()
{
tone(buzzerPini, MI);
delay(1000);
noTone(buzzerPini);
delay(140);
tone(buzzerPini, MI);
delay(233);
noTone(buzzerPini);
delay(140);
tone(buzzerPini, SOL);
delay(248);
noTone(buzzerPini);
delay(140);
tone(buzzerPini, SI);
delay(270);
noTone(buzzerPini);
delay(120);
tone(buzzerPini, SOL);
delay(250);
noTone(buzzerPini);
delay(180);
tone(buzzerPini, LA);
delay(690);
noTone(buzzerPini);
delay(30);
tone(buzzerPini, SI);
delay(200);
noTone(buzzerPini);
delay(500);
tone(buzzerPini, MI);
delay(230);
noTone(buzzerPini);
delay(190);
tone(buzzerPini, SOL);
delay(130);
noTone(buzzerPini);
delay(220);
tone(buzzerPini, SI);
delay(230);
noTone(buzzerPini);
delay(135);
tone(buzzerPini, SOL);
delay(238);
noTone(buzzerPini);
delay(125);
tone(buzzerPini, LA);
delay(340);
noTone(buzzerPini);
delay(10);
tone(buzzerPini, SI);
delay(396);
noTone(buzzerPini);
delay(10);
tone(buzzerPini, SOL);
delay(144);
noTone(buzzerPini);
delay(34);
tone(buzzerPini, FA);
delay(146);
noTone(buzzerPini);
delay(20);
tone(buzzerPini, MI);
delay(225);
noTone(buzzerPini);
delay(145);
tone(buzzerPini, MI);
delay(233);
noTone(buzzerPini);
delay(140);
tone(buzzerPini, SOL);
delay(248);
noTone(buzzerPini);
delay(140);
tone(buzzerPini, SI);
delay(270);
noTone(buzzerPini);
delay(120);
tone(buzzerPini, SOL);
delay(250);
noTone(buzzerPini);
delay(180);
tone(buzzerPini, LA);
delay(690);
noTone(buzzerPini);
delay(30);
tone(buzzerPini, SI);
delay(200);
noTone(buzzerPini);
delay(500);
tone(buzzerPini, MI);
delay(230);
noTone(buzzerPini);
delay(190);
tone(buzzerPini, SOL);
delay(130);
noTone(buzzerPini);
delay(220);
tone(buzzerPini, SI);
delay(230);
noTone(buzzerPini);
delay(135);
tone(buzzerPini, SOL);
delay(238);
noTone(buzzerPini);
delay(125);
tone(buzzerPini, LA);
delay(340);
noTone(buzzerPini);
delay(10);
tone(buzzerPini, SI);
delay(396);
noTone(buzzerPini);
delay(10);
tone(buzzerPini, SOL);
delay(144);
noTone(buzzerPini);
delay(34);
tone(buzzerPini, FA);
delay(146);
noTone(buzzerPini);
delay(20);
tone(buzzerPini, MI);
delay(225);
noTone(buzzerPini);
delay(420);
tone(buzzerPini, MI);
delay(670);
noTone(buzzerPini);
delay(15);
tone(buzzerPini, LA);
delay(460);
noTone(buzzerPini);
delay(25);
tone(buzzerPini, SOL);
delay(636);
noTone(buzzerPini);
delay(50);
tone(buzzerPini, FA);
delay(573);
noTone(buzzerPini);
delay(158);
tone(buzzerPini, FA);
delay(1080);
noTone(buzzerPini);
delay(20);
tone(buzzerPini, SI);
delay(410);
noTone(buzzerPini);
delay(60);
tone(buzzerPini, LA);
delay(563);
noTone(buzzerPini);
delay(40);
tone(buzzerPini, SOL);
delay(385);
noTone(buzzerPini);
delay(336);
tone(buzzerPini, SI);
delay(896);
noTone(buzzerPini);
delay(50);
tone(buzzerPini, SI);
delay(147);
noTone(buzzerPini);
delay(55);
tone(buzzerPini, LA);
delay(112);
noTone(buzzerPini);
delay(75);
tone(buzzerPini, LA);
delay(934);
noTone(buzzerPini);
delay(87);
tone(buzzerPini, LA);
delay(169);
noTone(buzzerPini);
delay(66);
tone(buzzerPini, SOL);
delay(164);
noTone(buzzerPini);
delay(60);
tone(buzzerPini, SI);
delay(724);
noTone(buzzerPini);
delay(82);
tone(buzzerPini, SI);
delay(156);
noTone(buzzerPini);
delay(49);
tone(buzzerPini, LA);
delay(126);
noTone(buzzerPini);
delay(60);
tone(buzzerPini, LA);
delay(705);
noTone(buzzerPini);
delay(257);
tone(buzzerPini, LA);
delay(142);
noTone(buzzerPini);
delay(68);
tone(buzzerPini, SOL);
delay(106);
noTone(buzzerPini);
delay(79);
tone(buzzerPini, SOL);
delay(874);
noTone(buzzerPini);
delay(25);
tone(buzzerPini, LA);
delay(309);
noTone(buzzerPini);
delay(46);
tone(buzzerPini, FA);
delay(642);
noTone(buzzerPini);
delay(25);
tone(buzzerPini, MI);
delay(285);
noTone(buzzerPini);
delay(431);
tone(buzzerPini, MI);
delay(670);
noTone(buzzerPini);
delay(15);
tone(buzzerPini, LA);
delay(460);
noTone(buzzerPini);
delay(25);
tone(buzzerPini, SOL);
delay(636);
noTone(buzzerPini);
delay(50);
tone(buzzerPini, FA);
delay(573);
noTone(buzzerPini);
delay(158);
tone(buzzerPini, FA);
delay(1080);
noTone(buzzerPini);
delay(20);
tone(buzzerPini, SI);
delay(410);
noTone(buzzerPini);
delay(60);
tone(buzzerPini, LA);
delay(563);
noTone(buzzerPini);
delay(40);
tone(buzzerPini, SOL);
delay(385);
noTone(buzzerPini);
delay(336);
tone(buzzerPini, SI);
delay(896);
noTone(buzzerPini);
delay(50);
tone(buzzerPini, SI);
delay(147);
noTone(buzzerPini);
delay(55);
tone(buzzerPini, LA);
delay(112);
noTone(buzzerPini);
delay(75);
tone(buzzerPini, LA);
delay(934);
noTone(buzzerPini);
delay(87);
tone(buzzerPini, LA);
delay(169);
noTone(buzzerPini);
delay(66);
tone(buzzerPini, SOL);
delay(164);
noTone(buzzerPini);
delay(60);
tone(buzzerPini, SI);
delay(724);
noTone(buzzerPini);
delay(82);
tone(buzzerPini, SI);
delay(156);
noTone(buzzerPini);
delay(49);
tone(buzzerPini, LA);
delay(126);
noTone(buzzerPini);
delay(60);
tone(buzzerPini, LA);
delay(705);
noTone(buzzerPini);
delay(257);
tone(buzzerPini, LA);
delay(142);
noTone(buzzerPini);
delay(68);
tone(buzzerPini, SOL);
delay(106);
noTone(buzzerPini);
delay(79);
tone(buzzerPini, SOL);
delay(874);
noTone(buzzerPini);
delay(25);
tone(buzzerPini, LA);
delay(309);
noTone(buzzerPini);
delay(46);
tone(buzzerPini, FA);
delay(642);
noTone(buzzerPini);
delay(25);
tone(buzzerPini, MI);
delay(285);
noTone(buzzerPini);
delay(340);
tone(buzzerPini, MI);
delay(126);
noTone(buzzerPini);
delay(20);
tone(buzzerPini, FA);
delay(100);
noTone(buzzerPini);
delay(30);
tone(buzzerPini, SOL);
delay(75);
noTone(buzzerPini);
delay(20);
tone(buzzerPini, FA);
delay(68);
noTone(buzzerPini);
delay(25);
tone(buzzerPini, MI);
delay(994);
noTone(buzzerPini);
delay(377);
tone(buzzerPini, RE);
delay(317);
noTone(buzzerPini);
delay(87);
tone(buzzerPini, MI);
delay(284);
noTone(buzzerPini);
delay(49);
tone(buzzerPini, FA);
delay(328);
noTone(buzzerPini);
delay(150);
tone(buzzerPini, SOL);
delay(1480);
noTone(buzzerPini);
delay(2000);
}Buzzer’dan Şarkı Çalma Programını Buradan İndirebilirsiniz.


Reply