
6 LED'i ileri-geri sırayla yakarak Knight Rider tarzı karaşimşek efekti oluşturan proje. Çift yönlü döngü mantığını öğretir.
Video
Devre Şeması

Kaynak Kodu
Arduino (C++)
1int ledPins[] = {2, 3, 4, 5, 6, 7};
2
3void setup() {
4 for(int i = 0; i < 6; i++) {
5 pinMode(ledPins[i], OUTPUT);
6 }
7}
8
9void loop() {
10 for(int i = 0; i < 6; i++) {
11 digitalWrite(ledPins[i], HIGH);
12 delay(100);
13 digitalWrite(ledPins[i], LOW);
14 }
15
16 for(int i = 4; i > 0; i--) {
17 digitalWrite(ledPins[i], HIGH);
18 delay(100);
19 digitalWrite(ledPins[i], LOW);
20 }
21}Sıkça Sorulanlar
Karaşimşek (Knight Rider) efekti nasıl oluşuyor?▾
LED'ler önce soldan sağa, sonra sağdan sola sırayla yakılır. İki for döngüsü art arda çalışır; ikinci döngü ters yönde saydığı için ışık ileri-geri gidip gelir.
Uçlarda LED iki kez yanıyor gibi görünüyor, nasıl düzeltirim?▾
Dönüş döngüsü uçtaki LED'i tekrar yakıyorsa o LED iki adım boyunca yanık kalır. Dönüş döngüsünü bir eksik/fazla indeksten başlatarak (ör. 4'ten 1'e) uçlarda tekrarlamayı önleyebilirsin.
Hız nasıl ayarlanır?▾
Her adım arasındaki delay() değerini değiştir. 30–80 ms arası akıcı bir efekt verir. Hızı çalışırken değiştirmek istersen bir sonraki proje olan Hız Ayarlı Karaşimşek'teki gibi potansiyometre ekleyebilirsin.
Daha fazla LED ekleyebilir miyim?▾
Evet, pin dizisine yeni pinleri ekleyip döngü sınırlarını güncellemen yeterli. Uno'da 12 serbest dijital pin var; daha fazlası için 74HC595 kaydırma yazmacı ile 3 pinle 8+ LED sürebilirsin.
