Butonla LED Aç/Kapa
Başlangıç20 dkBir butonla kırmızı LED'i aç kapa: her basışta LED'in durumu değişir, kaçıncı basış olduğu ve LED'in durumu Seri Monitöre yazılır. digitalRead ile buton okumayı, Arduino'nun iç pull-up direncini (INPUT_PULLUP), butona basıldığı anı yakalamayı ve kontak sıçramasını (debounce) öğretir. Buton için ek direnç ve ek kütüphane gerekmez.
Uygulamada adım adım yapGerekli malzemeler
1 × Arduino Uno R3
1 × Breadboard 830 Pin (MB-102)
1 × 12x12 mm Push Buton
1 × LED - Kırmızı (5mm)
1 × Direnç 220 Ω (1/4W)
4 × 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. LED'in direnci de butonun toprak kablosu da bu sıraya bağlanacak.
- Arduino GND → üstteki mavi çizgili (−) sıra (siyah kablo)
- 2
LED'i ve direncini tak

Kırmızı LED'in uzun bacağını (+) breadboard'un üst yarısında 10. sütuna, kısa bacağını (−) 11. sütuna tak. 220 Ω direncin bir ucunu 11. sütuna, öbür ucunu üstteki (−) güç sırasına tak. Sonra turuncu jumper kabloyla Arduino'nun 8 numaralı pinini 10. sütuna bağla (LED_PIN 8). Direnç LED'den geçen akımı sınırlar; o olmadan hem LED hem Arduino'nun pini zarar görebilir.
- kırmızı LED uzun bacak (+) → 10. sütun, üst yarı
- kırmızı LED kısa bacak (−) → 11. sütun, üst yarı
- 220 Ω direnç (1. bacak) → 11. sütun, üst yarı
- 220 Ω direnç (2. bacak) → üstteki mavi çizgili (−) sıra
- Arduino pin 8 → 10. sütun, üst yarı (turuncu kablo)
- 3
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. Butona dirençle değil, Arduino'nun kendi iç direnciyle (INPUT_PULLUP) bakıyoruz: bırakılan buton HIGH, basılan buton LOW okunur.
- 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)
Arduino kodu
// Buton ve LED'in pinleri
const int BUTTON_PIN = 2;
const int LED_PIN = 8;
// Kontak sıçramasını bekleme süresi (ms)
const unsigned long BOUNCE_TIME = 50;
bool ledOn = false;
int lastReading = HIGH;
int presses = 0;
void setup() {
// İç direnç: bırakılan buton HIGH okur
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
Serial.println("Butona bas: LED yanar ya da söner");
}
void loop() {
int reading = digitalRead(BUTTON_PIN);
// Yalnızca buton değişince bir şey yap
if (reading != lastReading) {
// LOW: butona şimdi basıldı
if (reading == LOW) {
ledOn = !ledOn;
digitalWrite(LED_PIN, ledOn ? HIGH : LOW);
presses++;
Serial.print("Basış ");
Serial.print(presses);
Serial.println(ledOn ? ": LED açık" : ": LED kapalı");
}
lastReading = reading;
// Kontaklar sıçrarken bekle
delay(BOUNCE_TIME);
}
}
Seri Monitörde göreceğin
Butona bas: LED yanar ya da söner Basış 1: LED açık Basış 2: LED kapalı Basış 3: LED açık
Sonuç
Butona her basışta LED'in durumu değişir: ilk basışta yanar, ikincide söner, üçüncüde yine yanar. Butonu basılı tutmak bir şey değiştirmez; sayılan, basıldığı andı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. LED hiç yanmıyorsa uzun bacağının 10. sütunda (pin 8'in kablosuyla aynı sütunda) olduğunu kontrol et.
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