Arduino ile Kara Şimsek Uygulaması (FOR Döngüsü)

Güncelleme tarihi: 2 May 2020

Bu uygulamamızda kara şimşek uygulamasını yapacağız uygulamayı yaparken içerisinde for döngüsünü kullanmayı öğreneceğiz. Kara Şimşek devresi bağlı olan ledlerin belirli sırayla bir yöne doğru yanıp/sönme işlemi yapan son lede geldiğinde ise ters yönde yanmaya devam eder. Bu uygulamada kullanacağımız malzemelerimiz;

  • Arduino UNO

  • 5mm LED

  • 220R veya 330R Direnç

  • Jumper Kablolar (E-E)

  • Breadboard



Devremizi bu şemaya göre kurup bağlantılarımızı yapıyoruz.


Kodumuza geçmeden önce FOR döngüsünün nasıl çalıştığına bakalım. FOR döngüsü belirli komutların istenen sayıda tekrar ettirilmesini sağlar. FOR döngüsü içerisinde başlangıç,bitiş değerlerini ve değerler arasındaki artış veya azalış miktarını kontrol edebiliriz. Kısaca FOR döngüsü bir değerden başka bir değere kadar artıp veya azalarak son değerden sonra döngüyü bitiren operatördür.

FOR döngüsünün kullanımı şu şekildedir ;


for(başlangıç değeri ; döngünün devam etme koşulu ; değerdeki değişim)

{

Döngüde yapılacak işlemler…

}


for(deger = 0 ; deger < 100 ; deger++)
{
Serial.println(değer);
delay(100);
}

Şimdi uygulama kodumuzun tamamına bakalım.


void setup() {
  for (int pinler = 2; pinler < 8; pinler++) { //For döngüsünün 6 kez tekrarlanmasını sağlıyoruz.
    //Başlangıç değeri 2 ; bitiş değeri 8'den küçük olana kadar değeri 1'er 1'er arttırır.
    // 2,3,4,5,6,7 --> Ledleri bağladığımız Arduino Pinleri
    pinMode(pinler, OUTPUT);//pinler değişkenini OUTPUT olarak ayarlıyoruz. LED'lerin bağlı olduğu pinleri tek bir satırda çıkış olarak tanımladık
  }
}

void loop() {
  for (int ledler = 2; ledler < 8; ledler++)
  { //İlk Led den son lede kadar sırasıyla yanıp söner, yani 2.Pine bağlı olan led yanıp/söndü,3.Pine bağlı olan led yanıp söndü.
    //Son led in bağlı olduğu pine kadar döngü devam edecek.
    digitalWrite(ledler, HIGH);
    delay(200);
    digitalWrite(ledler, LOW);
  }
  for (int ledler = 7; ledler > 1; ledler--)
  { //Bu sefer ters döngü yapıyoruz yani ilk olarak 7.Pine bağlı olan led yanıp/söndü,6.Pine bağlı olan led yanıp söndü.
    //İlk led in bağlı olduğu pine kadar döngü devam edecek.
    digitalWrite(ledler, HIGH);
    delay(200);
    digitalWrite(ledler, LOW);
  }
  //Bu oluşturduğumuz iki for döngüsü birbirinin tersidir. Bu şekilde ledler sırasıyla ileri/geri olarak yanıp söner.
}


Projenizi yaparken karşılaştığınız problemleri yorumlar kısmında belirtirseniz ekibimiz en kısa sürede size yardımcı olacaktır

Son Paylaşımlar