Arduino Ders 4: Kara Şimşek Yapımı

Arduino Uygulaması

Arduino Kara Şimşek Uygulaması

Birden fazla LED kullanarak kara şimşek efekti oluşturmayı, bağlantı mantığını ve for döngüsü ile daha düzenli kod yazmayı öğreneceğiz.

Arduino Kara Şimşek Uygulaması

Bu uygulamada birden fazla LED kullanarak bir kara şimşek uygulaması yapacağız. Arduino kodlarını ve bağlantı şemasını da yazımızda bulabilirsiniz.

  • 1 adet Arduino Uno
  • 1 adet breadboard
  • 5 adet kırmızı LED
  • 5 adet direnç (220 Ω veya 330 Ω)
  • Jumper kablo

Her LED için ayrı bir seri direnç kullanılması doğru yaklaşımdır. 220 Ω veya 330 Ω dirençler, Arduino Uno gibi 5V kartlarda standart kırmızı LED’ler için yaygın ve güvenli değerlerdir.

LED ve dirençlerimizi breadboard üzerine yerleştirelim ve önceki derslerimizde anlattığımız Arduino LED yakmak konusunda gördüğümüz gibi bağlantıları yapalım. Bu projeyi 5 LED kullanarak yapacağız. Dilerseniz daha fazla LED kullanarak da yapabilirsiniz.

Devre şemasında gördüğünüz gibi LED ve dirençleri bağlayalım. LED’in uzun bacağı artı bacağıdır ve bu kısım Arduino’da dijital pinlerden birine bağlanır. LED’in kısa bacağı ise direnç üzerinden GND hattına bağlanır. Direnç, LED’in artı veya eksi tarafında olabilir; önemli olan LED ile seri bağlı olmasıdır. Bu uygulamada LED’lerin artı bacakları sırasıyla 3, 4, 5, 6 ve 7 numaralı dijital pinlere bağlanmıştır.

Arduino Kara Şimşek Devre Şeması

Devremizi oluşturduktan sonra kod kısmına geçebiliriz. Kodları uzun uzun yazmak da mümkündür, for döngüsü kullanarak daha kısa yazmak da mümkündür. Kodlamayla ilgili çok bilginiz yoksa önce uzun yolu inceleyebilirsiniz; ardından for döngüsü ile daha düzenli hale getirilmiş versiyona geçebilirsiniz.

void setup() {
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
}

void loop() {
  digitalWrite(3, HIGH);
  delay(100);
  digitalWrite(3, LOW);

  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  digitalWrite(5, HIGH);
  delay(100);
  digitalWrite(5, LOW);

  digitalWrite(6, HIGH);
  delay(100);
  digitalWrite(6, LOW);

  digitalWrite(7, HIGH);
  delay(100);
  digitalWrite(7, LOW);
}

Bu kod LED’leri 3 numaralı pinden 7 numaralı pine doğru sırayla yakıp söndürür. Yani etki tek yönde ilerler.

Aynı işlemi for döngüsü kullanarak daha kısa ve düzenli şekilde yazabiliriz. LED pinlerini bir diziye kaydedip, döngü içinde sırayla çalıştırmak gereksiz kod tekrarını azaltır.

int bekle = 100;
int ledler[] = {3, 4, 5, 6, 7};

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

void loop() {
  for (int i = 0; i < 5; i++) {
    digitalWrite(ledler[i], HIGH);
    delay(bekle);
    digitalWrite(ledler[i], LOW);
  }
}

Bu for döngülü kod da uzun kodla aynı şekilde tek yönde ilerleyen LED efekti oluşturur.

Kara şimşek efekti genellikle ışığın bir yöne gidip sonra geri dönmesi şeklinde düşünülür. Bu nedenle aşağıdaki kod, LED’leri önce 3’ten 7’ye doğru, ardından 6’dan 4’e doğru yakarak gidiş-dönüş efekti oluşturur.

int bekle = 100;
int ledler[] = {3, 4, 5, 6, 7};
int ledSayisi = 5;

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

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

  for (int i = ledSayisi - 2; i > 0; i--) {
    digitalWrite(ledler[i], HIGH);
    delay(bekle);
    digitalWrite(ledler[i], LOW);
  }
}

Yorum Gönder

Daha yeni Daha eski