Hot Posts

6/recent/ticker-posts

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:

  1. Arduino (Uno, Nano, Mega)
  2. 100 Ohm Direnç
  3. 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ı:

 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;
 github-abraxelx

Soru ve sorunlarınızı yorumlarda bildirebilirsiniz. 

Post a Comment

67 Comments

  1. merhaba kolay gelsin,çalışma için emeğinize sağlık. Çanakkale türküsüne ait kodlar elinizde varsa paylaşabilir misiniz?

    ReplyDelete
    Replies
    1. helal lan dayioğlu

      Delete
    2. sen kimsin laağğğhhhn

      Delete
    3. ne bakun lan

      Delete
    4. dayı ogli seni bi s\|_eriim

      Delete
    5. aaaa hemşeri laaağğğnnn

      Delete
    6. as gardaş

      Delete
    7. hacı sen kimsin la

      Delete
    8. ananın amıyım

      Delete
    9. kelini siktiğim

      Delete
    10. la bi susun laa

      Delete
    11. This comment has been removed by a blog administrator.

      Delete
    12. konuşmayın len

      Delete
  2. merhaba kolay gelsin,çalışma için emeğinize sağlık. Çanakkale türküsüne ait kodlar elinizde varsa paylaşabilir misiniz?

    ReplyDelete
    Replies
    1. Merhaba Selen hanım, bu kodları kendim yazmıştım. Yukarıda tekniğinden bahsettim aslında birazcık uğraşsanız zannediyorum ki Çanakkale türküsünün notalarını tutturabilirsiniz.

      Delete
    2. HELAL OLSUN DAYI OĞLİ

      Delete
    3. en büyük gs

      Delete
    4. rerererere rararaararrara galatasaray galatasaray cimbom bom

      Delete
    5. yarraklı ilteriş

      Delete
    6. galata saray = galeta unu

      Delete
  3. Merhabalar hocam ben bunu megafona bağlayıp herhangi bir muzigin sesini alabilirmiyim

    ReplyDelete
  4. Muzik ile bir korna yapmayi istiyorum konu çok karışık lutfen yardimci olurmusunuz

    ReplyDelete
  5. Replies
    1. sak noel kodlarını yapabilir misiniz

      Delete
    2. fccfdhfdfrfrjfrk dzsuj35aq4juu
      547y

      5s
      4ı7yj5a7

      Delete
    3. yujyujhujhjh

      Delete
  6. [Nota] tanımlanmadı diye hata veriyo orayı bir düzenleyelim

    ReplyDelete
  7. acaba tempo tam olarak ne ifade ediyor hız değişkeni demişsinizde o ne demek tam olarak :)

    ReplyDelete
  8. birde bekleme süresi ne cinsinden acaba

    ReplyDelete
  9. mehter marşının kodlarını da yazabilirmisisniz

    ReplyDelete
    Replies
    1. CEDDİN DEDEEEEEN NESLİN BABAN

      Delete
    2. ceddin deden neslin baban hep kahraman türk miletti orduları pek çok zaman

      Delete
  10. nota sürelerini nasıl bulcaz başka şarkılar için

    ReplyDelete
  11. 100 ohm direnç bulamadım sorun olurmu?

    ReplyDelete
  12. süre kısmındaki 6 , 2 , 9, 8 gibi rakamlar kaç saniye yi ifade etmektedir ?


    ReplyDelete
    Replies
    1. Saniye değil, beat tipinde vuruş ve duruş değerleridir.

      Delete
  13. şemşettin bin arabaya

    ReplyDelete
    Replies
    1. sen hayırdır laaağğğnnn ya000000rra0000m

      Delete
    2. once sevdiler sonra dovduler once sevdiler sonra dovduler boğürüme vurdular böğürüm ağrıyıo boğürüme vurdular böğürüm ağrıyıo semsettin bin arabaya semsettin

      Delete
  14. Replies
    1. benim adım cafer boyum bir on göz rengimi bilmiyorum

      Delete
  15. HELOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO???????????_:_

    ReplyDelete
  16. Irmakla arası birleştir

    ReplyDelete
  17. messi lezzetin sesi

    ReplyDelete

Konuyla ilgili yorum giriniz.