Bu projede iki buton ile devre içerisinde bulunan ledleri butonlarla kontrol ederek yanmalarını sağladık. İki butona aynı anda basıldığında ledler yanacak mı?
Bir butona asıldığında, devre tamamlanır ve çalışır hale gelir. Düğme bırakıldığında, devre çalışmasını sona erdirir. Bilgisayar klavyelerinde bulunan tuşlarda buradaki buton mantığı ile çalışırlar.
Bu projede kullandığımız butonun dört pini vardır, ancak bağlantı için bir defada yalnızca iki tane kullanmamız yeterli olacaktır. Alttaki iki kullanılmayan pin aynı işi yapmasına rağmen, bu projedeki üst bağlantıları kullanacaksınız. Yandaki şekilde gösterildiği gibi, A - C, B - D pinleri her zaman birbirine bağlıdır. Düğmeye basıldığında, devre tamamlanır.
Butonların ve ledlerin kullanılacağı pinler tanımlandı ve butonların durumları basılmamış yani 0 olarak belirtildi. Butonlar INPUT, ledler ise OUTPUT olarak ayarlandı. digitalRead ile basılan butonun değeri okunarak bağlı olduğu led'e HIGH değeri gönderilerek yanacak. Her iki butona aynı anda basıldığında ise iki ledede HIGH değeri göndererek yanmasını sağladık. Yukardaki durumlar gerçekleşmediğinde ise ledlere LOW değeri gönderilerek sönük kalmasını sağladık.
const int dugme1 = 2; const int dugme2 = 3; const int led1 = 12; const int led2 = 13; int butonDurum1 = 0; int butonDurum2 = 0; void setup() { pinMode(dugme1,INPUT); pinMode(dugme2,INPUT); pinMode(led1,OUTPUT); pinMode(led2,OUTPUT); } void loop() { butonDurum1 = digitalRead(dugme1); butonDurum2 = digitalRead(dugme2); if(butonDurum1 == HIGH && butonDurum2 == LOW) { digitalWrite(led1,HIGH); } else if(butonDurum1 == LOW && butonDurum2 == HIGH) { digitalWrite(led2,HIGH); } else if(butonDurum1 == HIGH && butonDurum2 == HIGH){ digitalWrite(led1,HIGH); digitalWrite(led2,HIGH); } else { digitalWrite(led1,LOW); digitalWrite(led2,LOW); } }