Arduino ile Diziler (Array) ve For Döngüsü Kullanarak Yürüyen Işık (Kara Şimşek) Yapımı

👤 Yazar: ozcan 📅 Tarih: 10.07.2026 05:30 👁️ Görüntüleme: 35

Arduino ile Diziler (Array) ve For Döngüsü Kullanarak Yürüyen Işık (Kara Şimşek) Yapımı

Arduino öğrenirken yaptığımız ilk uygulama genellikle tek bir LED'i yakıp söndürmektir. Ancak projemizde çok sayıda LED kullanmak istediğimizde, her bir pini tek tek tanımlamak kodumuzu çok uzatır ve karmaşık hale getirir. Bu rehberde, diziler (array) ve for döngüsü mantığını öğrenerek sadece birkaç satır kodla 6 adet LED'i sırayla nasıl yakıp söndüreceğimizi (yürüyen ışık uygulamasını) öğreneceğiz.

Gerekli Malzemeler

  • Arduino Uno
  • 6 Adet LED (İstediğiniz renklerde)
  • 6 Adet 220 Ohm veya 330 Ohm Direnç
  • Breadboard ve Jumper Kablolar

1. Yürüyen Işık Bağlantı Şeması

LED'lerinizin zarar görmemesi için mutlaka direnç kullanmalısınız. Tüm LED'lerin kısa (eksi) bacaklarını breadboard üzerindeki mavi (GND) hatta bağlayın. Uzun (artı) bacaklarını ise dirençler üzerinden sırasıyla Arduino pinlerine takın:

Bileşen (LED) Arduino Pini
1. LED (Artı Ucu) Pin 2
2. LED (Artı Ucu) Pin 3
3. LED (Artı Ucu) Pin 4
4. LED (Artı Ucu) Pin 5
5. LED (Artı Ucu) Pin 6
6. LED (Artı Ucu) Pin 7
Tüm LED'lerin Eksi (-) Uçları

GND (Ortak Hat


arduino yürüyen ışık devre bağlantısı

2. Arduino Kod Blokları

Aşağıdaki kodu doğrudan kopyalayıp Arduino IDE programınıza yapıştırabilirsiniz. Kodun içerisinde yer alan açıklamalar, dizilerin ve döngülerin nasıl çalıştığını anlamanıza yardımcı olacaktır.

// 6 adet LED'in bağlı olduğu pin numaralarını bir liste (dizi) halinde tanımlıyoruz.
int Ledler[] = {2, 3, 4, 5, 6, 7};

void setup() {
  // for döngüsü kullanarak listenin 0'dan 5'e kadar olan tüm elemanlarını 
  // tek tek geziyor ve hepsini OUTPUT (çıkış) olarak ayarlıyoruz.
  for(int i = 0; i < 6; i++){
    pinMode(Ledler[i], OUTPUT); 
  }
}

void loop() {
  // Döngü içinde sırayla her bir LED'i yakıp, 150 milisaniye bekletip söndürüyoruz.
  // Bu işlem sırayla yapıldığı için ışık yürüyor gibi görünecektir.
  for(int i = 0; i < 6; i++){
    digitalWrite(Ledler[i], HIGH); // LED'i yak
    delay(150);                    // 150 milisaniye bekle
    digitalWrite(Ledler[i], LOW);  // LED'i söndür
  }
}

Kodun Mantığı: Dizi (Array) ve For Döngüsü Nedir?

Eğer bu projede dizi kullanmasaydık, void setup() içinde tam 6 satır pinMode yazmamız gerekecekti. int Ledler[] ifadesiyle bir değişken içinde birden fazla pin numarasını saklamış olduk. for(int i=0; i<6; i++) döngüsü ise bilgisayara şunu söyler: "i değerini 0'dan başlat, 6'dan küçük olduğu sürece her adımda 1 artır ve süslü parantez içindeki işlemi yap." Böylece kodumuz hem çok daha profesyonel hem de kısa kalmış oldu.


Sık Yaşanan Sorunlar ve Çözümleri

1. LED'lerden Biri Veya Birkaçı Hiç Yanmıyor

Çözüm: LED'lerin yönü bu tarz projelerde çok önemlidir. Yanmayan LED'lerin yönünü ters çevirip (uzun bacağı artıya, kısa bacağı eksiye gelecek şekilde) tekrar takmayı deneyin. Ayrıca kablonun Arduino'da tam olarak doğru pin numarasına (2,3,4,5,6,7) takıldığından emin olun.

2. Işık Çok Hızlı Veya Çok Yavaş Yürüyor

Çözüm: Kodun içerisindeki delay(150); komutu ışığın geçiş hızını belirler. Eğer daha yavaş, nostaljik bir yürüyen ışık isterseniz bu değeri delay(300); yapabilir; daha hızlı bir akış isterseniz delay(70); olarak güncelleyebilirsiniz.

💬 Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın

Güvenlik Kontrolü:

Yenidir.com
↑ Sayfa Başı
📞 İletişim ✉ E-Posta Gönder 🟥 YouTube
© 2026 Yenidir.com
Yenidir CMS V0.1