Bu yazıda bir button basıldığında yanan ledi söndüren örnek için gerekli olan devre şemasını, kodlarını ve açıklamalarını bulacaksınız. İlk olarak şağıdaki malzemeleri hazır edip devreyi tasarlayınız.
Malzemeler:
- 1 tane Breadbord
- 1 tane Arduino Uno
- 1 tane 470Ω
- 1 tane 10kΩ
- 1 tane Kırmızı LED
- 1 tane 4 ayaklı buton
- Devre tasarımı için gerekli kablolar
Devre:
Kod:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | //buton durum kontrol değişkeni int buttonState = 0; void setup() { //pin 2 giriş, pin 3 çıkış yapıldı pinMode(2, INPUT); pinMode(13, OUTPUT); } void loop() { buttonState = digitalRead(2); // buttonState HIGH durumu if (buttonState == HIGH) { // ledi söndür digitalWrite(13, LOW); } else { // ledi yak digitalWrite(13, HIGH); } delay(10); } |
Açıklama:
Yukarıdkaki devrede 4 bacaklı bir buton kullanılmıştır. Butonun bir bacağı (siyah kablo) kararsız durumları kontrol etmek için 10kΩ değerinde bir dirençle GND pinine bağlanmıştır. Buton açık durumdayken 2 numaralı pine GND pininden gelen eksi değer(LOW) gönderilecektir.
Eğer butona basılırsa akım 5V’den(kırmızı kablo) gelen enerjiyi 10kΩluk zorlu yolu takip etmeyip 2 numaralı pine gönderecektir. Buton bu durumda HIGH olacaktır.
Bir önceki devre şemasında ve kodlarında butonla led yakma uygulamasını görmüştük. O uygulama kodlarında yapılan ufak bir değişiklikle LEDin if içinde buton değeri LOW durumunda yanmasını, HIGH durumunda sönmesini sağlıyoruz.
Devrede odaklanılması gereken asıl nokta if else bloklarının çalışma mantığıdır. if else ile birden fazla(LOW,HIGH) durumları kontrol edilmektedir.
Add Comment