Buzzer ile Kapı Zili
Başlangıç20 dkButona basınca pasif buzzer'dan dört notalı bir "ding-dong" melodisi çalan bir kapı zili; her çalış Seri Monitöre de yazılır. tone() ile ses çıkarmayı, notaları ve sürelerini dizilerde tutup bir for döngüsüyle çalmayı, işi kendi fonksiyonuna toplamayı ve butonu Arduino'nun iç direnciyle (INPUT_PULLUP) okumayı öğretir. Melodiyi koddaki notaları değiştirerek kendine göre yapabilirsin. Ek kütüphane gerekmez.
Uygulamada adım adım yapGerekli malzemeler
1 × Arduino Uno R3
1 × Breadboard 830 Pin (MB-102)
1 × Pasif Buzzer (Piezo)
1 × 12x12 mm Push Buton
5 × Jumper Kablo - Erkek/Erkek
Bağlantı adımları
- 1
Ortak toprağı (GND) bağla

Siyah jumper kabloyu Arduino'nun dijital başlığında, 13 numaralı pinin yanındaki GND pinine tak. Diğer ucunu breadboard'un üstteki mavi çizgili (−) güç sırasına bağla. Butonun ve buzzer'ın toprak kabloları da bu sıraya bağlanacak.
- Arduino GND → üstteki mavi çizgili (−) sıra (siyah kablo)
- 2
Butonu tak ve bağla

Butonu breadboard'un ortasındaki boşluğun üstüne oturt: iki bacağı üst yarıda, iki bacağı alt yarıda, 5. ve 7. sütunlarda olsun. Yeşil jumper kabloyla Arduino'nun 2 numaralı pinini alt yarıda 5. sütuna bağla (BUTTON_PIN 2). Kısa siyah bir kabloyla da üst yarıda 7. sütunu üstteki (−) güç sırasına bağla. Butonun çapraz iki bacağını kullandığın için buton hangi yöne takılırsa takılsın çalışır; ek direnç de gerekmez, Arduino'nun iç direnci (INPUT_PULLUP) yeter.
- buton → ortadaki boşluğun üstüne, 5. ve 7. sütunlar
- Arduino pin 2 → 5. sütun, alt yarı (yeşil kablo)
- 7. sütun, üst yarı → üstteki mavi çizgili (−) sıra (siyah kablo)
- 3
Buzzer'ı tak ve bağla

Pasif buzzer'ın + bacağını üst yarıda 15. sütuna, öbür bacağını 16. sütuna tak; + bacak genelde daha uzundur ve gövdesinde + işareti vardır. Turuncu jumper kabloyla Arduino'nun 8 numaralı pinini 15. sütuna bağla (BUZZER_PIN 8). Kısa siyah bir kabloyla da 16. sütunu üstteki (−) güç sırasına bağla. Pasif buzzer kendi başına ses çıkarmaz; tone() pine saniyede yüzlerce kez açılıp kapanan bir sinyal verir ve buzzer o sıklıkta, yani o notada titrer.
- buzzer + bacak → 15. sütun, üst yarı
- buzzer − bacak → 16. sütun, üst yarı
- Arduino pin 8 → 15. sütun, üst yarı (turuncu kablo)
- 16. sütun, üst yarı → üstteki mavi çizgili (−) sıra (siyah kablo)
Arduino kodu
// Buton ve buzzer'ın pinleri
const int BUTTON_PIN = 2;
const int BUZZER_PIN = 8;
// Zilin notaları (Hz): Mi, Do, Re, Sol
const int MELODY[] = {659, 523, 587, 392};
// Her notanın süresi (ms)
const int DURATIONS[] = {400, 400, 400, 800};
const int NOTE_COUNT = 4;
int rings = 0;
void setup() {
// İç direnç: basılan buton LOW okur
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(BUZZER_PIN, OUTPUT);
Serial.begin(9600);
Serial.println("Kapı zili hazır: butona bas");
}
// Notaları sırayla çalar
void playMelody() {
for (int i = 0; i < NOTE_COUNT; i++) {
tone(BUZZER_PIN, MELODY[i], DURATIONS[i]);
// Nota bitsin, sonra kısa sessizlik
delay(DURATIONS[i] + 50);
}
noTone(BUZZER_PIN);
}
void loop() {
if (digitalRead(BUTTON_PIN) == LOW) {
rings++;
Serial.print("Zil çaldı: ");
Serial.println(rings);
playMelody();
// Buton bırakılana kadar bekle
while (digitalRead(BUTTON_PIN) == LOW) {
delay(10);
}
// Bırakırken kontak sıçramasını bekle
delay(50);
}
}
Seri Monitörde göreceğin
Kapı zili hazır: butona bas Zil çaldı: 1 Zil çaldı: 2 Zil çaldı: 3
Sonuç
Butona her basışta buzzer "ding-dong" diye dört nota çalar (Mi, Do, Re, Sol) ve Seri Monitöre kaçıncı kez çaldığı yazılır. Butonu basılı tutmak zili tekrar çaldırmaz; bırakıp yeniden basman gerekir. Hiç ses yoksa buzzer'ın pasif olduğuna, + bacağının 15. sütunda (pin 8'in kablosuyla aynı sütunda) olduğuna bak. Seri Monitöre yazı geliyor ama ses yoksa sorun buzzer tarafındadır; butona basınca hiçbir şey olmuyorsa butonun ortadaki boşluğun üstüne oturduğuna, yeşil kablonun 5. sütunda, siyah kablonun 7. sütunda olduğuna bak.
Uygulamada her bağlantıyı tek tek işaretle, envanterindeki parçalarla eşleştir ve kaldığın yerden devam et.
Uygulamada adım adım yap