Bu projede, Arduino kullanarak bir buzzer modülü ile “Daha Dün Annemizin Melodisi” şarkısını çalacağız. Projede kullanacağımız malzemeler ve kodu aşağıda bulabilirsiniz.
İçindekiler
Proje İçin Gerekli Malzemeler:
- 1x Arduino
- 1x Buzzer modülü
- Jumper kablolar
Bağlantı Şeması:
- Buzzer Modülü:
- VCC → Arduino 5V pinine
- GND → Arduino GND pinine
- DATA → Arduino dijital 2 numaralı pine
Kod:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | //-----------------------------------------------------// //----------------------KODKAMPUSU---------------------// //--Arduino | Buzzer ile Daha Dün Annemizin Melodisi--// //-----------------------------------------------------// // Buzzer modülünün bağlı olduğu pini tanımlıyoruz int buzzerPin = 2; // Buzzer modülünden gelen ses verilerini inceleyip, kalınlık durumuna göre notalarına ayırarak belirtiyoruz int kdo = 262; // Do notası int re = 294; // Re notası int mi = 330; // Mi notası int fa = 349; // Fa notası int sol = 392; // Sol notası int la = 440; // La notası int si = 494; // Si notası int ido = 523; // Do üstü notası void setup() { // Melodiyi oluşturan her notayı sırayla çaldırıyoruz // "Do" notasını çal tone(buzzerPin, kdo); // Buzzer'dan "Do" sesi çıkar delay(400); // 400 ms bekle noTone(buzzerPin); // Sesi durdur delay(10); // Kısa bir ara ver // Yine "Do" notasını tekrar çal tone(buzzerPin, kdo); delay(400); noTone(buzzerPin); delay(10); // "Sol" notasını çal tone(buzzerPin, sol); delay(400); noTone(buzzerPin); delay(10); // Yine "Sol" notasını çal tone(buzzerPin, sol); delay(400); noTone(buzzerPin); delay(10); // "La" notasını çal tone(buzzerPin, la); delay(400); noTone(buzzerPin); delay(10); // "La" notasını tekrar çal tone(buzzerPin, la); delay(400); noTone(buzzerPin); delay(10); // "Sol" notasını çal tone(buzzerPin, sol); delay(400); noTone(buzzerPin); delay(10); // "Fa" notasını çal tone(buzzerPin, fa); delay(400); noTone(buzzerPin); delay(10); // "Fa" notasını tekrar çal tone(buzzerPin, fa); delay(400); noTone(buzzerPin); delay(10); // "Mi" notasını çal tone(buzzerPin, mi); delay(400); noTone(buzzerPin); delay(10); // "Mi" notasını tekrar çal tone(buzzerPin, mi); delay(400); noTone(buzzerPin); delay(10); // "Re" notasını çal tone(buzzerPin, re); delay(400); noTone(buzzerPin); delay(10); // "Re" notasını tekrar çal tone(buzzerPin, re); delay(400); noTone(buzzerPin); delay(10); // "Do" notasını tekrar çal tone(buzzerPin, kdo); delay(400); noTone(buzzerPin); delay(10); // Yukarıdaki mantıkla diğer notaları sırasıyla çaldırabilirsiniz } void loop() { // Loop kısmı boş çünkü melodiyi tek seferde çalıyoruz } |
Açıklamalar ve Dikkat Edilmesi Gereken Noktalar:
buzzerPin
değişkeni, buzzer modülünün bağlı olduğu dijital pini temsil eder.tone()
fonksiyonu ile buzzer’a farklı frekanslar gönderilerek melodinin notaları çalınır.delay()
fonksiyonu ile her nota arasında bir süre beklenir.noTone()
fonksiyonu ise, mevcut notayı durdurur.setup()
fonksiyonu sadece bir kez çalışır ve şarkı çalındıktan sonra biter.loop()
fonksiyonu boş bırakılmıştır çünkü şarkıyı sadece bir kez çalmamız yeterlidir.playTone(note, duration)
Bu fonksiyon, belirli bir notayı belirtilen süreyle çalar. Kodu tekrar etmektense bu fonksiyon, kodu daha temiz ve düzenli tutar
Bağlantı ve kodlama sırasında karşılaştığınız hataları; aşağıda ki yorum bölümünden belirtebilirsiniz 🙂