Bugün sizlerle sizlere for döngüsünden bahsedeceğiz ve sonrasında da for döngüsünü kullanarak birlikte kara şimşek uygulaması yapacağız.
Önce For Döngüsünün Mantığına Bakalım
For döngüsü, programlama dillerinde en sık kullanılan döngülerden biridir. Arduino programlamada da sıkça kullanılır ve uygulamaları daha pratik bir yapıda kodlamamızı sağlar. For döngüsü uygulanması istenen işlemin kaç kez tekrar edileceğinin belli olduğu durumlarda kullanılır. Daha net bir ifade ile for döngüsü sayesinde işlemin kaç kez tekrar edileceğini, başlangıç/bitiş değerlerini ve değerler arasındaki artış/azalış miktarını kontrol edebiliriz. Aşağıdaki kod parçacığındaki gibi özetleyebiliriz.
for (başlangıç değeri; döngünün devam etme koşulu; değerdeki değişim)
{
işlemler...
}
Arduino İle Kara Şimşek Uygulaması Yapalım
Kara şimşek devresini kurmadan önce for döngüsünün buradaki işleyişinden bahsetmek istiyorum. Yazının başında da bahsettiğim gibi for döngüsü sayesinde işlemin başlangıç ve bitişini, döngü koşulunu ve değişimini kontrol edebiliyoruz. Kara şimşek devresi: sırayla bir yöne doğru yanma/sönme işlemi yapan, son LED’e geldiğinde ise bu işlemi ters yönde gerçekleştiren bir LED dizisinden oluşmaktadır. Hadi şimdi bu devre için neler gerektiğinden ve devreyi nasıl kuracağımızdan bahsedeyim.
Gerekli malzemeler:

Şimdi de devreyi çalıştırabilmek için gerekli Arduino kodunu yazalım.
//nedrinbarkinoren.com
int ledler[] = {
2,
3,
4,
5,
6,
7
}; //Değişkenleri belirttiğimiz bir dizi tanımlıyoruz.
void setup() {
for (int i = 0; i < 6; i++) { //For döngüsünün 6 kez tekrarlanmasını istiyoruz.
pinMode(ledler[i], OUTPUT); //i değişkenlerini "çıkış" olarak tanımlıyoruz.
}
}
void loop() {
for (int i = 0; i < 6; i++) {
digitalWrite(ledler[i], HIGH);
delay(20);
digitalWrite(ledler[i], LOW);
} //İlk ledden beşinci lede kadar ledler sırasıyla yanıyor. Yani döngüde ilk led yanar, söner ve ikinci led yanar. İkinci led söndüğünde ise üçüncü led yanar ve döngü bu şekilde devam eder.
for (int i = 5; i > -1; i--) {
digitalWrite(ledler[i], HIGH);
delay(20);
digitalWrite(ledler[i], LOW);
} //Bu kez ters döngü yapıyoruz. Yani dizinin 5.elemanı olan 7 pinine bağlı led yanar, söner ve bu kez bir önceki led yanar. İşlem bu şekilde devam eder.
} //Bu iki döngü sırası birbirinin tersidir. Bu şekilde ledler sırasıyla ileri ve geri yanıp sönerler.
Kodumuzu yaptıktan sonra yazdığımız kodu Arduinomuza aktaralım ve kara şimşek görüntüsüyle kendimizi başbaşa bırakalım…