Arduino Buzzer için Örnek Müzik Kodları
Bugün ki yazımda programlaması tamamıyla bana ait olan bazı buzzer kodlarını yazımın devamında paylaşıyor olacağım. Öncelikle bağlantı şemasıyla başlayalım; Malzemeler: Arduino (Uno, Nano, Mega) 100…
İçindekiler 0%
Öncelikle bağlantı şemasıyla başlayalım;
Malzemeler:
- Arduino (Uno, Nano, Mega)
- 100 Ohm Direnç
- Breadboard
Bağlama Tarifi:
Buzzer'da iki bacak bulunur. Buzzer'ın üstüne baktığınızda bacaklardan birisinin hizasında (+) yazar. Bu bacağı 8 No.lu pine bağlayabilirsiniz. veya istediğiniz herhangi başka bir digital bacak da olabilir. Kodunuzu da ona göre düzenlemeniz gerekir. İkinci bacağı da direnç üzerinden GND (-) Toprak hattına bağlamak gerekir.
Bağlantı Şeması:
Yukarıdaki şemada siyah (-), kırmızı (+) ucu temsil etmektedir.
Ben kodlara ilgili notaların frekanslarını ekledim. Örnek olarak da 2 adet müziği buraya ekleyeceğim. sizler diğer müziklerin notalarını öğrendikten sonra duraksamaları deneme yanılma yoluyla bulabilirsiniz. Takıldığınız yerde aşağıya yorum bırakırsanız seve seve yardımcı da olabilirim.
Notalar:
1 2 3 4 5 6 7 8 | #define doo 1000// do komutu ile karismasin diye doo yazdim (kalin do) #define re 1122 #define mi 1260 #define fa 1335 #define sol 1498 #define la 1681 #define si 1887 #define dom 2000// do komutu ile karismasin diye dom yazdim (ince do) |
Yukarıdaki kodu projemizin en başına eklersek artık notaları çağırıken sadece yanındaki isimleri ile çağırabiliriz. Örnek: re gibi.
Örnek Kod -1 Süt İçtim Dilim Yandı:
Türkünün Orjinali:
Arduino kodları:
Arduino kodları:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #define doo 1000// do komutu ile karismasin diye doo yazdim (kalin do) #define re 1122 #define mi 1260 #define fa 1335 #define sol 1498 #define la 1681 #define si 1887 #define dom 2000// do komutu ile karismasin diye dom yazdim (ince do) int melodi[] = {re,mi,fa,sol,fa,sol,sol,sol, fa, sol,sol,sol ,fa, mi, re,mi,fa,sol,fa,sol,sol,sol, fa, sol,sol,sol ,fa, mi, re, mi ,fa,sol,mi,fa,re,mi,doo,doo,fa,mi,re,re,re, mi ,fa,sol,mi,fa,re,mi,doo,doo,fa,mi,re,re }; int notasuresi[] = {4, 4, 4, 4, 4, 4,4, 3 ,4,4,4,4,4,2,4, 4, 4, 4, 4, 4,4, 3 ,4,4,4,4,4,2 ,4,4,4,4,4,4,4,4,4,4,4,4,2,2, 4,4,4,4,4,4,4,4,4,4,4,4,2,2};// her notanin süresini array yaptim int tempo = 1200; void setup() { for (int Nota = 0; Nota <56; Nota++) { int sure = tempo/notasuresi[Nota]; tone(8, melodi[Nota],sure);// 8 numarali bacaktan notalarin frekanslarini nota uzunluklarina göre gönder delay(sure*1.2);// notalar arasinda biraz beklesin. Eger 1 ile çarparsaniz notalar birbirine bitisik olur } } void loop() { } |
Sizler öncelikle int melodi[] yanına notalarınızı sıralayınız. Daha sonra notasuresi[] kısmından her nota için ayrı süreleri belirleyin. Her bir sayı yukarıda bir notayı temsil eder. Tempo ise hız değişkenidir. alttaki for döngüsünü de nota sayısına götürmelisiniz. tone() içine yazdığınız ilk değişken de buzzer'i bağladığınız bacak pin numarasadır.
Örnek Kod -2 Hangimiz Sevmedik:
Şarkının Orjinali:
Arduino Kodları:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #define doo 1000// do komutu ile karismasin diye doo yazdim (kalin do) #define re 1122 #define mi 1260 #define fa 1335 #define sol 1498 #define la 1681 #define si 1887 #define dom 2000// do komutu ile karismasin diye dom yazdim (ince do) int melodi[] = {doo,re,dom ,si,doo,si,doo,re,dom ,si,doo,si,doo,re,dom ,si,doo,si, la,si,la,sol,fa,la }; int notasuresi[] = {6, 6, 2, 6, 6, 2,6, 6, 2, 6 , 6, 2,6, 6, 2, 6, 6, 2, 6,9,8,5,5,2 };// her notanin süresini array yaptim int tempo = 1200; void setup() { for (int Nota = 0; Nota <24; Nota++) { int sure = tempo/notasuresi[Nota]; tone(8, melodi[Nota],sure);// 8 numarali bacaktan notalarin frekanslarini nota uzunluklarina göre gönder delay(sure*1.2);// notalar arasinda biraz beklesin. Eger 1 ile çarparsaniz notalar birbirine bitisik olur } } void loop() { } |
Süt içtim için olan aynı talimatlar geçerlidir.
İlgili GitHub repository'si için;
Soru ve sorunlarınızı yorumlarda bildirebilirsiniz.



Tartışma
Yorumlar
Bu yazıya ilk yorumu siz bırakın.
Yorum bırakın