Arduino If Else Kullanımı

Arduino If Else Kullanımı arduino if else

Bu rehberimizde arduino if else kullanımını inceliyoruz. Gömülü C/C++ programlamada if-else koşullu ifadelerinin çalışma prensiplerini, karşılaştırma ve mantıksal operatörlerini, iç içe geçmiş (nested) koşul yapılarını ve Arduino üzerinde bir potansiyometre ile eşik değer algılama uygulamasını tüm detaylarıyla ele alacağız.

Algoritma tasarımının ve programlama mantığının temel taşı, kararlara göre yön alan dinamik kontrol yapılarıdır. Gömülü sistemlerde ve yazılım dünyasında bu karar mekanizmalarını yönetmek için en çok başvurduğumuz temel yapı if-else (eğer-değilse) kontrol bloğudur. Mikrodenetleyicimizin ortamdan gelen sensör verilerini, kullanıcı etkileşimlerini veya donanımsal durum değişikliklerini yorumlayıp bunlara uygun kararlar vermesi bu yapıyla sağlanır.

Arduino If Else Kullanımı: Karar Yapısı ve Mantığı

C++ programlama dilinde if ifadesi, parantez içerisindeki mantıksal koşul ifadesini test eder. Eğer bu koşulun sonucu mantıksal olarak doğru (true / 1) ise süslü parantezler { } arasında kalan kod bloğu işlemci tarafından yürütülür. Eğer koşul yanlış (false / 0) ise işlemci bu kod bloğunu tamamen atlayarak bir sonraki satıra geçer.

Temel Yazım Kuralları:

if (kosul) {
  // Yalnızca kosul dogru oldugunda calisacak olan kodlar
}

Karşılaştırma ve Mantıksal Operatörler

Koşul bloklarında değişkenleri birbiriyle kıyaslamak veya birden fazla mantıksal sorguyu tek bir if ifadesinde birleştirmek amacıyla karşılaştırma ve mantıksal işleçler kullanılır. Gömülü C programlamada en yaygın kullanılan operatörler şunlardır:

OperatörİşlevAçıklama ve Örnek Kullanım
==Eşittirİki değer birbirine eşitse doğrudur. if (buton == HIGH)
!=Eşit Değildirİki değer birbirine eşit değilse doğrudur. if (sicaklik != 25)
< , >Küçüktür , BüyüktürSol değerin sağdakinden küçük/büyük olmasını sorgular. if (isik > 500)
&&Mantıksal VE (AND)Bağlanan tüm koşullar doğru olmalıdır. if (isik < 100 && buton == HIGH)
||Mantıksal VEYA (OR)Koşullardan en az birinin doğru olması yeterlidir. if (sicaklik > 40 || acilDurum == true)
!Mantıksal DEĞİL (NOT)Koşulun mantıksal tersini alır. if (!butonBasili)

Seçenekleri Çoğaltmak: Else ve Else If Yapıları

Gerçek hayattaki mühendislik problemlerinde kararlar sadece tek bir doğru/yanlış ihtimalinden ibaret değildir. Çoklu olasılıkları yönetebilmek için else if ve else deyimlerinden yararlanılır:

  • else: “Yukarıda belirtilen koşulların hiçbiri doğru değilse, varsayılan olarak bu bloğu çalıştır” anlamına gelir.
  • else if: “İlk koşul yanlışsa, bir de şu mantıksal koşulu test et” anlamına gelen ardışık karar basamağıdır.

Gömülü Sistemlerde Koşullu İfadelerin Kritik Önemi

  • Sensör ve Çevre Birimi Kontrolü: Fiziksel dünyadan analog veya dijital olarak okunan sıcaklık, basınç veya mesafe gibi verilerin sınır değerlere göre işlenmesini sağlar.
  • Sistem Güvenliği ve Acil Kapatma (Failsafe): Kritik sınır değerleri (örneğin motor aşırı akım çektiğinde veya batarya gerilimi aşırı düştüğünde) anında algılanarak sistemlerin güvenli moda geçmesini veya elektriği kesmesini sağlar.
  • Otonom Akış ve Otomasyon: Karar verme algoritmaları sayesinde akıllı cihazların ve otonom robotların çevreyle etkileşime girmesini sağlar.
  • Basit bir if kontrolü şu şekildedir:

    Koşulun sağlanmadığı alternatif durumu yönetmek için if-else yapısı kullanılır:

    Çoklu koşul durumlarını zincirleme kontrol etmek için else if basamakları kurulur:

    Arduino if else için Gerekli Malzemeler

    • Arduino UNO: Projenin kontrol merkezi.
    • Potansiyometre (10\text{ k}\Omega): Analog gerilim üretmek için kullanacağımız ayarlı direnç (Potansiyometrelerin iç yapısı ve çalışma teorisi hakkında detaylı bilgi edinmek için potansiyometre nedir ve nasıl çalışır rehberimizden yararlanabilirsiniz).
    • Breadboard ve Jumper Kablolar

    Devre Şeması ve Kablolama

    Potansiyometrenin kenardaki iki bacağı sırasıyla Arduino’nun 5\text{ V} ve GND pinlerine bağlanır. Potansiyometrenin ortadaki hareketli bacağı (ortak uç) ise Arduino’nun A0 analog giriş pinine doğrudan bağlanır. Bu bağlantı, potansiyometre çevrildikçe Arduino A0 pinine 0\text{ V} ile 5\text{ V} arasında kesintisiz olarak değişen bir analog gerilim iletilmesini sağlar.

    Arduino If Else Kullanımı
    Arduino If Else Kullanımı

    Potansiyometre ile Eşik Değer Kontrol Arduino Kodu

    Aşağıdaki program kodu, A0 analog girişinden potansiyometre değerini okur (0 - 1023 arası). Okunan bu değer önceden tanımlanmış bir threshold (eşik değeri olan 400) ile kıyaslanır. Değer eşiğin üzerine çıktığında Arduino üzerindeki yerleşik test LED’i (Pin 13) yakılır, eşiğin altındayken ise kapatılır:

    Algoritma tasarımının ve programlama mantığının temel taşı, kararlara göre yön alan dinamik kontrol yapılarıdır. Gömülü sistemlerde ve yazılım dünyasında bu karar mekanizmalarını yönetmek için en çok başvurduğumuz temel yapı if-else (eğer-değilse) kontrol bloğudur. Mikrodenetleyicimizin ortamdan gelen sensör verilerini, kullanıcı etkileşimlerini veya donanımsal durum değişikliklerini yorumlayıp bunlara uygun kararlar vermesi bu yapıyla sağlanır.

    Arduino UNO veri sayfasına buradan ulaşabilirsiniz.

    Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.