Arduino programlamasında döngüler, belirli kod bloklarını tekrar tekrar çalıştıran yapılar olarak kullanılır. Arduino’da üç temel döngü türü bulunur:

For Döngüsü:

    • For döngüsünde döngü deyimi, değişken tanımlama, şart ve artırma/azaltma operatörü aynı satırda tanımlanır.
    • Döngü esnasında çalışacak kodlar döngü parantezi içine yazılır.
    • Örneğin, Arduino’daki 0, 1, 2, 3, 4 ve 5 numaralı dijital pinlere bağlı LED’leri sırayla 1 saniye aralıklarla yakalım:
void setup() {
    for (int pin = 0; pin <= 5; pin++) {
        pinMode(pin, OUTPUT);
    }
}

void loop() {
    for (int i = 0; i <= 5; i++) {
        digitalWrite(i, HIGH);
        delay(1000);
    }
}

Bu örnekte, for döngüsüyle pinleri tek bir satırda ayarladık ve ardından LED’leri sırayla yakıp söndürdük.

While Döngüsü:

    • While döngüsü, belirli bir şart sağlandığı sürece çalışır.
    • Şart doğru olduğu sürece döngü içindeki kodlar tekrar eder.
    • Örneğin, bir butona basıldığında bir LED’i yakalım:
void setup() {
    pinMode(4, INPUT);
    pinMode(5, OUTPUT);
}

void loop() {
    bool butonDurumu = digitalRead(4);
    if (butonDurumu == HIGH) {
        digitalWrite(5, HIGH);
    } else {
        digitalWrite(5, LOW);
    }
}

Bu örnekte, while döngüsüyle buton durumunu kontrol edip LED’i yakıp söndürdük.

Do-While Döngüsü:

    • Do-while döngüsü, şartları kontrol etmeden bir defaya mahsus çalışır ve ardından şartları kontrol eder.
    • En az bir kez çalışması gereken durumlar için kullanılır.
    • Örneğin, bir sensörden veri okuyup ekrana yazdıralım:
void setup() {
    Serial.begin(9600);
}

void loop() {
    int sensorDegeri = analogRead(A0);
    Serial.println(sensorDegeri);
} 

Bu örnekte, do-while döngüsüyle sensörden veri okuyup seri monitöre yazdırdık.

Döngüler, Arduino projelerinizde işlemleri tekrarlayarak programınızı daha esnek ve verimli hale getirir. Başarılar dilerim! 😊

Mustafa KESKİN

By Mustafa KESKİN

Ölümün olduğu bu dünyada, hiçbir şey çok da ciddi değildir aslında

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.