Skip to Content

Buzzer Nedir?

Buzzer, elektrik sinyalini sese çeviren küçük bir ses üretecidir. Alarm, uyarı, geri bildirim ve basit melodiler için kullanılır. Bir projeye “kullanıcıya bir şey söyleme” yeteneği katmanın en ucuz yoludur.

Robotik projelerde tuş sesi vermek, mesafe sensörünün yakınlık uyarısını duyurmak, sıcaklık eşiği aşıldığında alarm çalmak gibi işleri buzzer yapar.

Aktif ve Pasif Buzzer Farkı

Bu ayrım, buzzer kullanırken bilinmesi gereken en önemli konudur. İki tip dıştan neredeyse aynı görünür ama tamamen farklı çalışırlar.

ÖzellikAktif buzzerPasif buzzer
İçinde osilatörVarYok
Nasıl çalışırDC gerilim verilmesi yeterliKare dalga sinyali gerekir
Ses frekansıSabit, değiştirilemezİstenen frekansta üretilebilir
Melodi çalabilir mi
Arduino komutudigitalWrite()tone()
Ses tonuTek tip bipDeğişken

Nasıl ayırt edilir?

  • Alt yüzüne bakın. Aktif buzzerların altı genellikle siyah bir dolguyla kapalıdır; pasif buzzerlarda yeşil bir devre kartı ve bobin görünür.
  • Yükseklik. Aktif buzzerlar genellikle biraz daha yüksektir.
  • Pil testi. 3V’luk bir pilin uçlarına değdirin. Sürekli bir bip sesi çıkıyorsa aktiftir; sadece “tık” sesi geliyorsa pasiftir.
  • Direnç ölçümü. Multimetre ile ölçtüğünüzde pasif buzzer genellikle 8 Ω veya 16 Ω civarı değer gösterir; aktif buzzer çok daha yüksek okur.

Melodi çalmak istiyorsanız pasif buzzer almanız gerekir. Sadece uyarı sesi yeterliyse aktif buzzer daha kolaydır.

Aktif Buzzer Kullanımı

Bağlantı son derece basittir:

  • Buzzer (+) ucu → Arduino dijital pini (örn. D8)
  • Buzzer (−) ucu → GND
const int BUZZER_PIN = 8; void setup() { pinMode(BUZZER_PIN, OUTPUT); } void loop() { digitalWrite(BUZZER_PIN, HIGH); // ses acik delay(200); digitalWrite(BUZZER_PIN, LOW); // ses kapali delay(800); }

Pasif Buzzer ve tone() Fonksiyonu

Pasif buzzer, kendisine verilen kare dalganın frekansında titreşir. Arduino’nun tone() fonksiyonu bu dalgayı üretir.

tone(pin, frekans); // surekli calar tone(pin, frekans, sure); // belirtilen ms kadar calar noTone(pin); // sesi durdurur

Basit siren

const int BUZZER_PIN = 8; void setup() { pinMode(BUZZER_PIN, OUTPUT); } void loop() { for (int f = 400; f <= 1200; f += 10) { tone(BUZZER_PIN, f); delay(5); } for (int f = 1200; f >= 400; f -= 10) { tone(BUZZER_PIN, f); delay(5); } }

Nota frekansları

NotaFrekans (Hz)NotaFrekans (Hz)
Do (C4)262Sol (G4)392
Re (D4)294La (A4)440
Mi (E4)330Si (B4)494
Fa (F4)349Do (C5)523

Melodi çalma

const int BUZZER_PIN = 8; int notalar[] = { 262, 294, 330, 349, 392, 440, 494, 523 }; int sureler[] = { 300, 300, 300, 300, 300, 300, 300, 600 }; void setup() { pinMode(BUZZER_PIN, OUTPUT); for (int i = 0; i < 8; i++) { tone(BUZZER_PIN, notalar[i], sureler[i]); delay(sureler[i] * 1.3); // notalar arasi kisa bosluk } noTone(BUZZER_PIN); } void loop() { }

delay() süresini nota süresinden biraz uzun tutmak notaların birbirine karışmasını engeller.

tone() Fonksiyonunun Sınırları

tone() fonksiyonu Arduino’nun Timer2 donanımını kullanır. Bunun iki önemli sonucu vardır:

  • Aynı anda yalnızca bir pinde ses çalınabilir. İkinci bir pinde tone() çağırmak ilkini durdurur.
  • Pin 3 ve 11’de analogWrite() bozulur. Bu iki PWM pini de Timer2’ye bağlıdır. Buzzer çalarken bu pinlerdeki PWM çıkışı düzgün çalışmaz. LED parlaklığı veya motor hızı için 5, 6, 9 veya 10 numaralı pinleri tercih edin.

Ayrıca tone(pin, f, sure) çağrısı bloke etmez; süre dolmasını beklemek isterseniz ayrıca delay() koymanız gerekir.

Buzzer Doğrudan Pine Bağlanabilir mi?

Küçük buzzerlar genellikle 20–30 mA çeker. Arduino pininin sınırı 20 mA’dir; bu yüzden sınırda kalınır.

Daha güvenli yaklaşımlar:

  • Seri direnç. Buzzer ile pin arasına 100 Ω direnç koymak akımı düşürür ve sesi biraz kısar. Aşırı yüksek ses rahatsız ediyorsa bu yöntem ayrıca işe yarar.
  • Transistör ile sürme. Yüksek sesli veya büyük buzzerlarda NPN transistör (BC547) ile sürmek doğrudur. Devre, Transistör Nedir? yazısındaki anahtarlama devresiyle aynıdır.
  • Ses seviyesini PWM ile kısma. Aktif buzzerda analogWrite() kullanarak sesi kısabilirsiniz.

Buzzer ve Hoparlör Farkı

BuzzerHoparlör
AmaçUyarı, bip, basit melodiMüzik, konuşma, gerçek ses
Frekans aralığıDar (genelde 2–4 kHz civarında en verimli)Geniş
SürmeDoğrudan dijital pinYükselteç gerekir
Ses kalitesiDüşükYüksek

Bir projede konuşma veya müzik çalmak istiyorsanız buzzer yetmez; DFPlayer Mini gibi bir MP3 modülü ve küçük bir hoparlör kullanmanız gerekir.

Pratik Kullanım: Mesafe Uyarısı

Ultrasonik sensörle birleştirilen klasik park sensörü mantığı: mesafe azaldıkça bip aralığı kısalır.

const int BUZZER_PIN = 8; void mesafeUyarisi(int mesafeCm) { if (mesafeCm > 100) { noTone(BUZZER_PIN); return; } // Mesafe azaldikca bekleme suresi kisalir int bekleme = map(mesafeCm, 5, 100, 50, 800); bekleme = constrain(bekleme, 50, 800); tone(BUZZER_PIN, 2000, 40); delay(bekleme); }

Özet

Buzzer, elektrik sinyalini sese çeviren küçük bir ses üretecidir. Aktif buzzer sadece gerilim ister ve tek tip bip verir; pasif buzzer ise kare dalga ile sürülür ve istenen frekansta çalabilir.

Bu derste şunları öğrendik:

  • Aktif ve pasif buzzer farkını ve nasıl ayırt edileceğini
  • digitalWrite() ile aktif buzzer sürmeyi
  • tone() ve noTone() ile pasif buzzer çalmayı
  • Nota frekanslarını ve melodi çalmayı
  • tone() fonksiyonunun Timer2 kısıtını ve pin 3–11 etkisini
  • Buzzer’ı transistörle sürmenin ne zaman gerektiğini