...

Arduino LED Devresi #4 – 7 LED’in for Döngüsü ile Kontrolü

Proje Özeti: 7 LED’in Sırayla Yakılması (for Döngüsü ile)

Bu Arduino projesinde, 7 adet LED’i for döngüsü kullanarak sırayla yakıp söndüreceğiz. Bu yöntem, ışık sıralaması, LED animasyonları, kayan ışık efektleri gibi görsel projelerin temelidir.

Proje, temel seviyede Arduino kodlaması öğrenmek isteyenler için oldukça uygundur. Özellikle dizi kullanımı ve döngü kontrolü gibi kavramlar pekiştirilir.

Gerekli Malzemeler

Proje için İhtiyacınız Olanlar:

  • 1 adet Arduino UNO (veya uyumlu bir model)
  • 7 adet LED
  • 7 adet 220 ohm direnç
  • Breadboard
  • Jumper kablolar

Devre Şeması: LED’ler Nasıl Bağlanır?

LED Bağlantısı:

  • Her LED’in anotu (uzun bacak), Arduino’nun dijital pinlerine (pin 2 – pin 8 arası) bağlanır.
  • Katot (kısa bacak) ise 220Ω direnç üzerinden GND (toprak) hattına bağlanır.

Bağlantı Şeması:

Arduino Kodu (7 LED’in for Döngüsü ile Kontrolü)

// 7 adet LED'in bağlı olduğu dijital pinler bir dizi (array) olarak tanımlanır
int ledPinleri[] = {2, 3, 4, 5, 6, 7, 8};

// Dizi uzunluğu (kaç LED olduğunu belirtir)
int ledSayisi = 7;

void setup() {
  // setup() fonksiyonu, Arduino ilk çalıştığında bir kere çalışır

  // Tüm LED pinlerini OUTPUT (çıkış) olarak ayarlamak için for döngüsü kullanılır
  for (int i = 0; i < ledSayisi; i++) {
    pinMode(ledPinleri[i], OUTPUT);
    // Böylece Arduino, bu pinlerden elektrik sinyali (HIGH veya LOW) gönderebilir
  }
}

void loop() {
  // loop() fonksiyonu, Arduino çalıştığı sürece sürekli tekrar eder

  // --- 1. AŞAMA: LED’leri sırayla yakma ---
  for (int i = 0; i < ledSayisi; i++) {
    digitalWrite(ledPinleri[i], HIGH);  // i. sıradaki LED'i yak
    delay(500);                         // 500 milisaniye (yarım saniye) bekle
    digitalWrite(ledPinleri[i], LOW);   // Aynı LED'i söndür
  }

  // --- 2. AŞAMA: LED’leri ters sırayla yakma ---
  for (int i = ledSayisi - 1; i >= 0; i--) {
    digitalWrite(ledPinleri[i], HIGH);  // Ters sıradaki LED'i yak
    delay(500);                         // 500 milisaniye bekle
    digitalWrite(ledPinleri[i], LOW);   // LED'i söndür
  }

  // Bu iki for döngüsü sayesinde LED'ler önce ileri sonra geri sırayla yanar
  // loop() sürekli tekrar ettiği için bu döngü sonsuz şekilde devam eder
}

Kodun yorumsuz hali:

int ledPinleri[] = {2, 3, 4, 5, 6, 7, 8};
int ledSayisi = 7;

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

void loop() {
  for (int i = 0; i < ledSayisi; i++) {
    digitalWrite(ledPinleri[i], HIGH);
    delay(500);
    digitalWrite(ledPinleri[i], LOW);
  }

  for (int i = ledSayisi - 1; i >= 0; i--) {
    digitalWrite(ledPinleri[i], HIGH);
    delay(500);
    digitalWrite(ledPinleri[i], LOW);
  }
}

Serinin devamı için buradan devam edebilirsiniz:https://monoveri.com.tr/arduino-led-devresi-5-buton-ile-led-yakma-projesi/

Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.