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/