tarihinde yayınlandı Yorum yapın

Arduino UNO ile Karaşimşek LED Projesi

Elektroniğe yeni başlayanların klasik olarak yaptığı ilk projelerden biri LED’leri yakıp söndürmektir. Fakat bu işe biraz eğlence katmak istersek, neden efsanevi “Karaşimşek” efektini yapmayalım?

Bu projede Arduino UNO kullanarak LED’leri sırayla yakıp söndüreceğiz. LED’ler soldan sağa ve sağdan sola yanarak, meşhur karaşimşek animasyonunu oluşturacak. Yeni başlayanlar için hem eğlenceli hem de öğretici bir proje olacak!

Arduino ile LED Karaşimşek Devresi ve Simülasyonu
Arduino ile Karaşimşek LED Devresi

Proje İçin Gerekli Malzemeler

  • Arduino UNO + USB Kablo
  • 8x 5mm LED (Kırmızı, Sarı, Yeşil, Beyaz veya Mavi)
  • 8x 330Ω Direnç
  • 1x Breadboard
  • Jumper Kablolar

💡 Not: Malzemeleriniz yoksa, Wokwi, Tinkercad veya Proteus gibi simülasyon araçlarını kullanabilirsiniz. Ancak gerçek devreyi kurmak, her zaman çok daha keyifli ve öğreticidir.

💡LED (Light Emitting Diode) İçin Direnç Hesaplama

Malzemeler hazır olduktan sonra biraz teknik bir şeyler öğrenelim. LED, belirli bir ileri yön voltajında (forward voltage) çalışır ve bu değer LED’in tipine göre değişir.

  • Mavi/Beyaz LED: Yaklaşık 3V – 3.4V
  • Kırmızı LED: Yaklaşık 1.8V – 2.2V
  • Yeşil LED: Yaklaşık 2V – 2.4V

LED gerilimi belirtilen üst değerden daha yüksek olması durumunda LED’in aşırı ısınmasına, anında bozulmasına veya ömrünün çok kısalmasına neden olur. Bu yüzden LED’in güvenle çalışabilmesi için seri direnç kullanılır. Direnç, üzerinden geçen akımı Ohm Kanunu’na göre sınırlar:

R =​ \frac{V_{besleme}​−V_{LED}}{I_{LED}}

Burada:

  • V_{besleme}​ → Güç kaynağı voltajı
  • V_{LED}​ → LED’in ileri yön voltajı
  • I_{LED}​ → LED için önerilen akım (genellikle 10–20 mA arası)

Örnek: 5V ile çalışan bir devrede kırmızı LED kullanmak istiyoruz.

R =​ \frac{V_{besleme}​−V_{LED}}{I_{LED}} = \frac{5V - 2V}{0.015A} = 200Ω

Yani yaklaşık 220Ω standart direnç bu gerilim ve led için uygundur. Biz bu projede LED’in çok parlak olmasını istemediğimiz için 330Ω direnç kullanacağız.

Özet:

  • LED mutlaka seri direnç ile kullanılmalıdır.
  • Direnç, LED’i aşırı akımdan korur.
  • Doğru direnç değeri Ohm Kanunu ile hesaplanır.
  • Kullanılacak LED’in rengine göre ileri voltaj değeri değiştiği için direnç hesabı da değişir.

Breadboard Devresi

Breadboard devresini kurmak için aşağıdaki linke tıklayabilir veya görselden yardım alabilirsin.

Arduino ile LED Karaşimşek Devresi ve Simülasyonu
Arduino ile Karaşimşek LED Devresi

Aşağıdaki adımları takip ederek devre bağlantılarını tamamlayalım. Breadboard devrelerinde en çok karşılaşılan sorunlardan birisi kabloların yanlış bağlanmasıdır. O yüzden kablo bağlantılarını mutlaka en az 2 kez kontrol edelim.

  1. Arduino’nun 2-9 numaralı dijital pinlerine LED’leri bağlayın.
  2. Her LED’in kısa bacağına (katot) 330Ω direnç ekleyin ve GND’ye bağlayın.
  3. Uzun bacakları (anot) doğrudan Arduino dijital pinlerine bağlayın.
  4. USB kabloyu takarak devreyi çalıştırın.

Arduino Karaşimşek Kodu

Bağlantıları tamamladıktan sonra aşağıdaki kodu Arduino UNO’ya yükleyerek karaşimşek animasyonunu elde edebilirsin. Bu aşamada öncelikle kodu inceleyip daha sonra kendi kendine yazmayı deneyebilirsin. Bu şekilde kendin yaparak çok daha hızlı öğrenebilirsin.

int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; 
int ledCount = 8; 

void setup() {
  for (int i = 0; i < ledCount; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
}

void loop() {
  // Soldan sağa
  for (int i = 0; i < ledCount; i++) {
    digitalWrite(ledPins[i], HIGH);
    delay(200);
    digitalWrite(ledPins[i], LOW);
  }

  // Sağdan sola
  for (int i = ledCount - 1; i >= 0; i--) {
    digitalWrite(ledPins[i], HIGH);
    delay(200);
    digitalWrite(ledPins[i], LOW);
  }
}

Kodun Mantığı

  • delay() Fonksiyonu: delay(ms) komutu programı belirlenen süre (ms cinsinden) duraklatır. Bu projede LED’ler arasında 200 ms bekleme süresi vardır. Daha kısa süre, daha hızlı; daha uzun süre, daha yavaş bir efekt oluşturur.
  • LED Kontrolü: digitalWrite(pin, HIGH) komutu LED’i yakar, LOW komutu söndürür.
  • for Döngüsü: for döngüsü LED’lerin pinlerini tek tek dolaşarak sırayla yanıp sönmelerini sağlar. Böylece tekrar tekrar elle komut yazmaya gerek kalmaz.

Bu Proje ile Öğrendiklerimiz

  • Arduino ile LED kontrolünün temelleri
  • for döngüsü ve dizi kullanımı
  • delay() ile zamanlama yapma
  • Breadboard üzerinde pratik bağlantılar kurma

Bir Yorum Yazın