Projelerimize LED'ler ile görsel uyarılar eklemeyi öğrendik. Şimdi ise sıra projelerimize ses katmakta! Bu rehberde, projelerimizde bip sesi, alarm tonu veya küçük melodiler üretmek için en sık kullanılan bileşen olan Buzzer (Ses Çıkış Modülü) kullanımını öğreneceğiz. Hem sabit tonlu basit bir bip sesi çıkarma uygulamasını hem de profesyonel tonlar üretmeyi adım adım inceleyeceğiz.
Buzzer tıpkı bir LED gibi yönlü bir elemandır. Genellikle üzerinde bir artı (+) işareti bulunur ya da bacaklarından biri daha uzundur. Uzun (artı) bacağı Arduino'nun dijital pinine, kısa (eksi) bacağı ise GND hattına bağlanır.
| Buzzer Pini | Arduino Uno Pini |
|---|---|
| Artı (+) Uzun Bacak | Pin 8 (Direnç ile bağlanması önerilir) |
| Eksi (-) Kısa Bacak | GND |

Arduino'da buzzer kontrolü yaparken iki farklı yöntem kullanabiliriz. İlk yöntem tıpkı LED yakar gibi digitalWrite kullanmaktır. İkinci ve daha profesyonel yöntem ise farklı frekanslarda (notalarda) ses üretmemizi sağlayan dahili tone() fonksiyonudur. Aşağıdaki kodda her iki yöntemi de görebilirsiniz:
// Buzzer'ın bağlı olduğu pin numarasını tanımlıyoruz
const int buzzerPin = 8;
void setup() {
// Buzzer pinini çıkış olarak ayarlıyoruz
pinMode(buzzerPin, OUTPUT);
}
void loop() {
// ---- YÖNTEM 1: Basit Bip Sesi (Dijital Aç/Kapat) ----
/*
digitalWrite(buzzerPin, HIGH); // Sesi aç
delay(500); // Yarım saniye çal
digitalWrite(buzzerPin, LOW); // Sesi kapat
delay(500); // Yarım saniye bekle
*/
// ---- YÖNTEM 2: Gelişmiş Ton Kontrolü (tone Fonksiyonu) ----
// tone(pin, frekans, süre) şeklinde kullanılır.
// 440 Hz frekansı 'La' notasına denk gelir.
tone(buzzerPin, 440); // 440Hz frekansında ses üret
delay(300); // 300 milisaniye çal
tone(buzzerPin, 880); // Daha ince bir frekansta ses üret (880Hz)
delay(300); // 300 milisaniye çal
noTone(buzzerPin); // Sesi tamamen sustur
delay(1000); // 1 saniye sessizlikten sonra tekrar başa dön
}
Piyasada görünüşleri birbirine çok benzeyen iki tür buzzer bulunur. Projenizin çalışmasını doğrudan etkilediği için aralarındaki farkı bilmek önemlidir:
digitalWrite(pin, HIGH) komutuyla çalıştırmak için mükemmeldir.tone() fonksiyonunu tercih etmelisiniz.Çözüm: Buzzer'ın artı (+) ve eksi (-) bacaklarını ters bağlamış olabilirsiniz. Uzun bacağın 8. pine, kısa bacağın ise GND'ye takıldığından emin olun. Eğer aktif buzzer kullanıyorsanız, üzerinde bulunan koruyucu beyaz/şeffaf etiketi sökmeyi unutmayın.
Çözüm: Buzzer'ın artı bacağına seri olarak bağladığınız direncin değerini yükseltebilirsiniz. Örneğin 220 Ohm yerine 1k Ohm (1000 Ohm) bir direnç bağlarsanız, buzzer üzerinden geçen akım azalacağı için ses seviyesi de duyulabilir oranda düşecektir.
Henüz yorum yapılmamış. İlk yorumu siz yapın!