Merhaba arkadaşlar, bu yazımızda for döngüsünü kullanarak arduino ile kara şimşek uygulaması yapacağız.
For Döngüsü:
Programlama dillerinde temel olarak bir kod blok’unu belirli bir sayıda ve üst üste çalıştırmak için kullanılan bir döngüdür.
Kara Şimşek Uygulaması:
Kara şimşek uygulaması yani sırayla yanıp sönen LED’ler serisidir. Kara şimşek uygulamamızı iki yöntem ile gerçekleştirebiliriz.
Birinci yöntem: Her LED için değişken tanımlayıp, LED’leri teker teker kontrol edebiliriz (Arduinoyla yaptığımız ilk uygulamamız olan LED yakma (Blink) uygulamasındaki mantığın aynısıyla gerçekleştirebiliriz.)
İkinci yöntem: For döngüsü kullanarak uygulamamızı gerçekleştirebiliriz.
Biz bu uygulamamızda ikinci yöntemimiz for döngüsünü kullanacağız.
Uygulamada kullanılacak malzeme listesi:
- Arduino uno
- Breadboard
- 6 adet LED
- 6 adet Direnç (330 ohm)
- Bağlantı kabloları
Devre Şeması:

Kodumuzda kullandığımız for döngüsünün çalışma mantığı:
for( int i=0; i<6; i++)
{
digitalWrite(LedDizisi[i], HIGH);
}
bu kod blok’unda
int i=0; Değeri 0 olan bir i değişkeni tanımlıyoruz.
İ<6; i++ i değişkeninin değeri 6 olana kadar birer birer arttır anlamına gelmektedir.
Yani kod blok’umuzda yaptığımız işlem dizimizdeki sıfırıncı karakterden (LedDizisindeki 8 numaralı pin) altıncı karaktere (LedDizisindeki 13 numaralı pin) kadar birer birer arttırarak pinlerimize HIGH çıkışı vermesidir.
Eğer bu işlemin tersini yapacak olursak, yani dizimizin son karakterinden ilk karakterine sırasıyla bir işlem yaptıracaksak aşağıdaki adımları takip etmeliyiz.
for( int j=6; j>1; j–)
{
digitalWrite(LedDizisi[j], HIGH);
}
int j=6: Değeri 6 olan bir j değişkeni tanımlıyoruz.
j>1; j– j değişkeninin değeri 1 olana kadar birer birer azalt anlamına gelmektedir.
Proje Kodu:
int LedDizisi[ ] = {8,9,10,11,12,13}; // LED’lerimizi bağladığımız pinleri bir dizi olarak tanımlıyoruz.
void setup()
{
for(int i=0; i<6; i++) // For döngüsü ile pinlerimize sırayla çıkış veriyoruz.
{
pinMode(LedDizisi[i], OUTPUT);
}
}
void loop()
{
for( int i=0; i<6; i++) // For dögüsü başatıyoruz.
{
digitalWrite(LedDizisi[i], HIGH); // LED’lerimizi sırasıyla HIGH seviyesine yükseltiyoruz.
delay(150); // 150 milisaniye bekletiyoruz.
digitalWrite(LedDizisi[i], LOW); // LED’lerimizi sırasıyla LOW seviyesine çekiyoruz.
}
for( int j=6; j>1; j–) // For dögüsü başatıyoruz.
{
digitalWrite(LedDizisi[j], HIGH); // LED’lerimizi sırasıyla HIGH seviyesine yükseltiyoruz.
delay(150); // 150 milisaniye bekletiyoruz.
digitalWrite(LedDizisi[j], LOW); // LED’lerimizi sırasıyla LOW seviyesine çekiyoruz.
}
}
C++ uygulamaları için tıklayınız.
Matlab uygulamaları için tıklayınız.
Arduino uygulamaları için tıklayınız.
Raspberry Pi uygulamaları için tıklayınız.