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 | İşlev | Açı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ür | Sol 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
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 (
): 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
ve
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
ile
arasında kesintisiz olarak değişen bir analog gerilim iletilmesini sağlar.

Potansiyometre ile Eşik Değer Kontrol Arduino Kodu
Aşağıdaki program kodu, A0 analog girişinden potansiyometre değerini okur (
arası). Okunan bu değer önceden tanımlanmış bir threshold (eşik değeri olan
) 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.

