30 Mart 2017 Perşembe

Arduino'da Döngüler

Merhaba Webkolog takipçileri,

Önceki makalelerimde Arduino'nun temel yapı taşları olan veri tipleri, değişkenler ve koşullu ifadelerden bahsetmiştim. Bugün ise programlarımızın en önemli ve en çok kullanılan özelliklerinden biri olan döngülere odaklanacağız. Döngüler, belirli bir kod bloğunu tekrar tekrar çalıştırmamızı sağlar. Bu sayede, aynı işlemi defalarca yazmak yerine, çok daha kısa ve verimli kodlar oluşturabiliriz. Gelin, Arduino'da kullandığımız farklı döngü türlerini birlikte inceleyelim.


for Döngüsü: Belirli Sayıda Tekrarlar İçin

for döngüsü, bir kod bloğunu önceden belirlenmiş sayıda tekrarlamak için idealdir. Genellikle belirli bir aralıkta sayma, bir dizinin elemanlarını gezme veya bir işlemi belli bir sayıda tekrar etme gibi durumlarda kullanılır. Bir for döngüsü üç ana bölümden oluşur: başlangıç ifadesi, koşul ve artırma/azaltma ifadesi.

for (int i = 0; i <= 10; i++) {
  // Bu döngü, i değişkeni 0'dan 10'a kadar artırılarak toplam 11 kez çalışır.
  Serial.print("Döngü sayısı: ");
  Serial.println(i);
  delay(500);
}

Bu örnekte, i değişkeni 0'dan başlayıp 10'a kadar birer birer artarak her seferinde seri monitöre bir metin yazdırıyor.


while Döngüsü: Bir Koşul Doğru Olduğu Sürece

while döngüsü, parantez içindeki koşul doğru (true) olduğu sürece çalışmaya devam eder. Koşul yanlış (false) olduğunda döngü durur ve program bir sonraki satıra geçer. Bu döngü, genellikle bir sensörden beklenen değere ulaşılana kadar veya bir buton basılı olduğu sürece gibi durumlarda kullanılır.

int isikSeviyesi = 0;
// isikSeviyesi 400'den küçük olduğu sürece döngü devam eder.
while (isikSeviyesi < 400) {
  isikSeviyesi = analogRead(A0);
  Serial.print("Işık seviyesi: ");
  Serial.println(isikSeviyesi);
  delay(500);
}
Serial.println("Yeterli ışık seviyesine ulaşıldı.");

Burada, ışık sensöründen okunan değer 400'ün üzerine çıkana kadar program sürekli olarak sensörü okumaya devam ediyor.


do-while Döngüsü: En Az Bir Kez Çalışma Garantisi

do-while döngüsü, while döngüsüne benzer, ancak tek bir önemli farkı vardır: Döngü bloğundaki kod en az bir kez çalışır, çünkü koşul kontrolü döngünün sonunda yapılır. Eğer koşul doğruysa döngü devam eder, yanlışsa sonlanır.

int sayi = 5;
do {
  Serial.println(sayi);
  sayi--;
} while (sayi > 0);

Bu örnekte, koşul (sayi > 0) kontrol edilmeden önce Serial.println(sayi) kodu bir kez çalışır, ardından koşul kontrol edilir. Bu sayede, sayi değişkeninin değeri 5 olduğu için çıktı olarak 5, 4, 3, 2, 1 değerlerini görürüz.


Döngü Kontrolü: break ve continue

Döngülerin akışını kontrol etmek için iki özel anahtar kelime kullanabiliriz:

  • break: İçinde bulunduğu döngüden hemen çıkmayı sağlar.
  • continue: Döngünün o anki iterasyonunu (tekrarlama) sonlandırır ve bir sonraki iterasyona geçer.
for (int i = 0; i < 10; i++) {
  if (i == 5) {
    break; // i 5 olduğunda döngüden çık
  }
  Serial.println(i);
}
// Çıktı: 0, 1, 2, 3, 4

for (int j = 0; j < 5; j++) {
  if (j == 2) {
    continue; // j 2 olduğunda bu iterasyonu atla
  }
  Serial.println(j);
}
// Çıktı: 0, 1, 3, 4

Döngüler, Arduino projelerimizde tekrar eden işler için harika birer araçtır. Bir LED'i yakıp söndürmekten karmaşık sensör verilerini işlemeye kadar her alanda karşınıza çıkacaklardır. Döngüleri ustaca kullanmak, kodunuzu daha temiz, daha verimli ve daha profesyonel hale getirir.

Umarım bu makale, döngüler konusundaki kafanızdaki soru işaretlerini gidermiştir. Artık daha dinamik ve akıllı projeler geliştirmek için bir adım daha öndesiniz!

Webkolog'u takipte kalın!

Hepinize bol kodlu ve keyifli öğrenme süreçleri dilerim!

0 yorum:

Yorum Gönder