Arduino ile if, else if ve else komutları kullanılarak bir çok sorgulama yapılabilmektedir. Arduinoya birden fazla buton bağladığımız zaman if komutunu kullanarak hangi butona basıldığını sorgulayabilir ve arduino projelerinizde bu komutları sıklıkla kullanırsınız.
Arduino ya if komutunu yazdığımız satırda eğer, öyleyse gibi bir sorgu başlatırız ve bu sorgunun şartlarını yine hemen if komutundan sonra aynı satırda parantez içinde belirtiriz. Sorgunun durumuna göre yine arduinoya iş ve işlemler yaptırbiliriz.
Örneğin birden fazla buton bağlayarak hangi butona basıldığını ve basılan butona göre farklı farklı işlemler yaptırmak mümkündür. Yine if komutu sonunda else kullanarak eğer if ile sorduğumuz şart sağlanmamış ise başka bir işlem yaptırmak yine mümkündür.
Arduino içinde int komutu kullanarak arduino içinde hem pinlere hem değişkenlere tanımlama yapmam mümkündür. Bu sayede ilerleyen kod şeması içinde kendi belirlediğimiz takma isimleri kullanmak bize daha stabil bir ortam yaratır ve hata yapma oranımız bir o kadar azalır. Örneğin bir pine isim vererek onu artık o isimle çağırabilir ve kullanabiliriz. Yada bir değişken tanımlaması yaparak içerisine sayılar atayabilir yada buton gibi donanımların basılıp basılmadığını atayabiliriz.
Videoyu İzlemek İçin TıklayınızVideo içinde Kullandığımız devre şeması
//Görsel İşitsel Teknoloji Kanalı
//wwww.teknikerler.com
//Kerim Arı Youtube kanalı if Else İf kullanımı örnek Kodları
int kled = 2;
int yled = 3;
int bt1 = 8;
int bt2 = 9;
int bt3 = 10;
void setup() {
pinMode(kled, OUTPUT);
pinMode(yled, OUTPUT);
pinMode(bt1, INPUT);
pinMode(bt2, INPUT);
pinMode(bt3, INPUT);
}
void loop() {
int bt1_durum = digitalRead(bt1); // buton1 e basılmışsa bt1_durum = 1(HIGH) yok basılmamış ise bt1_durum = 0 (LOW)
int bt2_durum = digitalRead(bt2);
int bt3_durum = digitalRead(bt3);
if (bt1_durum == 1)
{
digitalWrite(kled, 1);
}
else if (bt2_durum == 1)
{
digitalWrite(yled, 1);
}
else if (bt3_durum == 1)
{
digitalWrite(kled, 1);
digitalWrite(yled, 1);
}
else
{
digitalWrite(kled, 0);
digitalWrite(yled, 0);
}
}