Arduino – KaraŞimşek Projesi, For Döngüsü!

Bu kara şimşek projesini yapmak için sizlerle birlikte for döngüsüne ve ne işe yaradığına bakacağız.

Neden mi kara şimşek projesi dedik, çünkü hepinizin belki bildiği kara şimşek filmindeki arabada ledlerin sırası ile yandığını gözlemlemişsinizdir o yüzden bu projenin adı oldu 🙂

Bu projeyi 2 farklı kod ile yapabilirsiniz önce for döngüsü olmadan kodumuza bakalım sonrasında for döngüsünü kullanalım ve karşılaştıralım. Şimdi devre şemasına bir bakalım.

int led1= 8; //led1’i 8. pin olarak atadık

int led2= 9; //led2’yi 9. pin olarak atadık

int led3= 10; //led3’ü 10. pin olarak atadık

void setup() {

pinMode(led1, OUTPUT); //led1’i yani 8.pini çıkış pini olarak ayarladık

pinMode(led2, OUTPUT); //led2’yi yani 9.pini çıkış pini olarak ayarladık

pinMode(led3, OUTPUT); //led3’ü yani 10.pini çıkış pini olarak ayarladık

}

void loop() {

digitalWrite(led1, HIGH); //led1 5v ver

delay(100); //100ms bekle

digitalWrite(led1, LOW); //led1 0v ver

delay(100); //100ms bekle

digitalWrite(led2, HIGH); //led2 5v ver

delay(100); //100ms bekle

digitalWrite(led2, LOW); //led2 0v ver

delay(100); //100ms bekle

digitalWrite(led3, HIGH); //led3 5v ver

delay(100); //100ms bekle

digitalWrite(led3, LOW); //led3 0v ver

delay(100); //100ms bekle

}//Loop içinde olduğu için tekrarlanacaktır

Gördüğünüz gibi bu kod ile 3 ledi 100ms ara ile ve sırasıyla açıp kapattık bu olayı tekrarlattık. Fakat kod gerçekten oldukça uzun böyle basit bir şey için bu kadar kod yazmaya değmez işte burada for bizi karşılıyor. For bir döngüdür nasıl kullanıldığına bir bakalım aynı işi yapması için kodlayalım.

int led1= 8;

int led2= 9;

int led3= 10;

void setup() {

pinMode(led1, OUTPUT); //led1’i yani 8.pini çıkış pini olarak ayarladık

pinMode(led2, OUTPUT); //led2’yi yani 9.pini çıkış pini olarak ayarladık

pinMode(led3, OUTPUT); //led3’ü yani 10.pini çıkış pini olarak ayarladık

}

void loop() {

for ( int i=7 ; i < 11 ; i++){ //i=7 olarak başlat 11 den küçükse 1 arttır aşağı indir döngü bitince i=8 11den küçük 1 arttır aşağı indir i=9…

digitalWrite(i,1);//i ye 5V ver

delay(50);//50 milisaniye bekle

digitalWrite(i,0);//i ye 0V ver

delay(50);//50 milisaniye bekle

}//i 11 olduğu zaman döngünün dışına çıkacak herhangi bir şey olmayınca loop içerisinde olduğu için tekrar i=7 olarak döngüye girecek

}

Bu kod for döngüsü ile aynı projeyi yapması için kodlandı. Gördüğünüz gibi daha basit, yorum satırları üzerinden nasıl kullanıldığına değindim bu şekilde daha etkili olacağını düşünüyorum. Sizlerin de deneyerek, uygulamalı olarak gözlemlemeniz doğrultusunda daha da etkili öğrenim sağlayacaksınızdır.

For döngüsünü bilmeniz önem arz ediyor, ilerideki projelerimizde kullanacağız. Bu şekilde Arduino öğrenimine devam ederseniz başarıya ulaşacağına inanıyorum tabii ki öğrendiklerinizi uygulamalı, denemeler ile vazgeçmeden, yılmadan tekrar etmeniz doğrultusunda başarıya ulaşırsınız. İyi günler, bugsız kodlamalar.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s