14 Mayıs 2017

Arduino Kontrol Yapıları (if else – switch case)

Kontrol yapıları bir şartın doğru olup olmadığını kontrol ederek doğru olduğu sürece bir takım işlemler, doğru olmadığı sürece ise başka işlemler yapmamıza yardımcı olur.

İki adet kontrol yapısı vardır. Bunlar;

  1. if – else yapısı
  2. switch – case yapısıdır.

1- if – else Yapısı : if – else yapısı bir karşılaştırma sonucunda dönen değerin doğru olması durumunda if (eğer) parantezi içerisindeki değerin, yanlış olması durumunda else (değilse) parantezi içerisindeki değerin çalışmasını sağlar.

Örnek;

else yapısı isteğe bağlı olarak kullanılabilir. Yani else kısmını kullanmadan da kontrol sağlayabiliriz.

Bu kontrol yapımızda birde else if yapımız var ki aynı yapı üzerinde birden fazla sorgu yaparak çalışabiliriz.

Örnek;

 

switch – case Yapısı : switch – case yapısı switch alanında belirtilen değişken değerini her bir case yapısındaki değerle karşılaştırır. karşılaştırma sonucunda eşitlik sağlanan case alanındaki kod çalıştırılır ve karşılaştırma break komutuyla sona erer. Eğer case değerlerinde eşitlik sağlanmamışsa, default kapsamındaki kodlar çalıştırılır.

Örnek;

 

switch – case yapısında default kısmı isteğe bağlı olarak kullanılmayabilir.

Şimdi bir buton kullanarak led yakma uygulamamızı yapalım. Biz butona bastığımız sürece ledimiz yansın, butondan elimizi çekince ledimiz sönsün. Buton uygulaması için digitalRead() fonksiyonunu kullanacağız, parantezler içerisine durumunu okuyacağımız  dijital giriş pininin pin numarasını yazacağız. Ve sonuç olarak bu fonksiyon bize butona basılı iken true, butona basılı değil iken false değeri verecek.

Program kodları aşağıdaki gibi olacaktır.

 

Yukarıdaki kodları arduinomuza yükleyip aşağıdaki devreyi kurduğumuzda, butona bastığımız sürece led yanacak, butondan elimiz çektiğimizde ise led sönecektir.

Yukarıdaki devrede 330 ohm direnç ile led seri bağlanmıştır. Bunun sebebi ise bizim ledimiz 2V ile çalışıyor olmasıdır. Butona ise 1K değerindeki direnç Pull-Down şeklinde bağlanmıştır. Bunun sebebi ise elimizi butondan çekince pinimizin GND değerini görmesidir. Bazı mikrodenetleyiciler boş olan pini +5V değerinde algılamaktadır. Pull-Down bağlantı şeklinde butona basmadığımız sürece giriş 0V olacaktır.

 

Samet Karaca

Hakkımda

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir