for döngüsü süslü parantezler içine yazılan kodları tekrar tekrar çalıştırmak için kullanılır. Genellikle artan bir sayaç döngünün çalışmasını kontrol eder.
for (initialization; condition; increment) {
// kod(lar)
}
initialization: ilk seferinde sadece bir defa çalışır
condition: döngü çalışırken her seferinde koşulun doğruluğu kontrol edilir koşul true ise kod(lar) ve increment çalışır. Koşul yanlış ise döngü sonlanır.
increment: artış miktarı koşul doğru ise çalışır
// PWM pini kullanılarak LED’in parlaklığı kontrol ediliyor
int PWMpin = 10; // LED 10 numaralı pine seri bir dirençle bağlanıyor
void setup() {
// setup’a yazılacak bir şey yok
}
void loop() {
// 0’dan başlayarak LED’in parlaklığı 255 değerine kadar arttırılıyor.
// Gecikme süresi 10ms olduğundan işlem toplamda 2550ms sürüyor.
// loop fonksiyonu gereği döngü bitince başa dönüp tekrar 0’dan başlar
for (int i = 0; i <= 255; i++) {
analogWrite(PWMpin, i);
delay(10);
}
}
Notlar ve Uyarılar
C++ dilindeki for döngüsü diğer dillerdeki for döngülerinden daha esnek bir yapıya sahiptir. Tanımlama, koşul ve artış deyimleri C++ dilinde geçerli herhangi bir ifade olabilir.
Örneğin artış için bir çarpma işlemi kullanılarak logaritmik bir artış sağlanabilir:
for (int x = 2; x < 100; x = x * 1.5) {
println(x);
}
Sonuç: 2,3,4,6,9,13,19,28,42,63,94
Bir başka örnekte ise bir LED’in parlaklığı tek bir for döngüsü ile maksimum ve minimum değerler arasında değişiyor:
void loop() {
int x = 1;
for (int i = 0; i > -1; i = i + x) {
analogWrite(PWMpin, i);
if (i == 255) {
x = -1; // 255 değerine ulaşılınca i azalmaya başlayacak
}
delay(10);
}
}