Arduino Kara Şimşek Devresi Yapımı

Arduino kara şimşek uygulaması ile for döngüsünü kolay bir şekilde öğrenebilir ayrıca ışıl ışıl bir proje gerçekleştirebilirsiniz. Genellikle bir diziyi yinelemek ve her birine bir şeyler yapmak istersiniz. Örneğin, bu örnek Arduino’ya bağlı 6 LED’i, 2-7 arasındaki dijital pinler arasında ileri ve geri geçiş yapmak için bir for() döngüsü kullanarak yanıp söner. LED’ler, hem digitalWrite() hem de delay() işlevleri kullanılarak sırayla açılır ve kapatılır.

Bu örneğe ayrıca 80’lerde David Hasselhoff’un KITT adlı bir yapay zeka makinesinin arabasını sürdüğü bir TV dizisinin anısına “Knight Rider” diyoruz. Araba, gösterişli efektler gerçekleştiren olası tüm boyutlarda bol miktarda LED ile güçlendirildi. Özellikle, KITT ve KARR arasındaki bu heyecan verici mücadelede gösterildiği gibi, bir çizgi boyunca ileri geri taranan bir ekrana sahipti.

Arduino Kara Şimşek Devresi Yapımı arduino kara şimşek,arduino kara şimşek kodu,arduino kara şimşek yapımı,arduino kara şimşek devresi,arduino kara şimşek kodları

Gerekli Malzemeler

  • Arduino Geliştirme Kartı
  • 200Ω direnç x 6
  • LED x 6
  • Bağlantı kabloları
  • Breadboard(devre tahtası)

Devre Şeması

Seri olarak 220 Ω dirençli altı LED’i Arduino’nuzdaki 2-7 dijital pinlere bağlayın.

Arduino Kara Şimşek Devresi Yapımı arduino kara şimşek,arduino kara şimşek kodu,arduino kara şimşek yapımı,arduino kara şimşek devresi,arduino kara şimşek kodları

Arduino Kodu

Aşağıdaki kod, kullanılan 6 LED için çıkış olarak 2-7 dijital pinlerini atamak için bir for() döngüsü kullanarak başlar.

Kodun ana döngüsünde, LED’ler arasında birer birer pin 2’den pin 7’ye adımlayarak aşamalı olarak döngü yapmak için iki for() döngüsü kullanılır. Pin 7 yandığında, işlem tersine döner ve her LED’den aşağı iner.

int sayac = 100;           // Sayı ne kadar yüksek olursa, zamanlama o kadar yavaş olur.

void setup() {

  // her pini çıkış olarak başlatmak için bir for döngüsü kullandık:

  for (int ledPin = 2; ledPin < 8; ledPin++) {

    pinMode(ledPin, OUTPUT);

  }
}

void loop() {

  // en düşük pinden en yükseğe döngü:

  for (int ledPin = 2; ledPin < 8; ledPin++) {

    // pini aç:

    digitalWrite(ledPin, HIGH);

    delay(sayac);

    // pini kapat:

    digitalWrite(ledPin, LOW);

  }

  // en yüksek pinden en düşüğe döngü:

  for (int ledPin = 7; ledPin >= 2; ledPin--) {

    // pini aç:

    digitalWrite(ledPin, HIGH);

    delay(sayac);

    // pini kapat:

    digitalWrite(ledPin, LOW);

  }
}