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
Comments