Arduino #4 – Buton 1 – (LED)

Her ne kadar günümüzde elektronik cihazlar dokunmatik teknolojilerle donatılmış olsada -iPhone X ile yeni bir nesle geçildi diyebiliriz tabi ki :)- fiziksel olarak kullanılan buton hala kullanılmaktadır.

Projelerimizde kullanıcıyla etkileşimli uygulamalar yaparken sık sık kullanırız. Butonlar bir olayı başlatmak, duraklatmak, durdurmak veya daha farklı amaçlar için kullanılabilir. Farklı çeşitleri bulunmaktadır.

https://learn.sparkfun.com/tutorials/switch-basics/momentary-switches

Devre şemalarında genelde  şöyle gösterilir;

https://upload.wikimedia.org/wikipedia/commons/4/46/SPST-Switch.svg

Butonların devreye bağlantısı iki şekilde olur.

  1. Devre butona basılınca çalışsın (Pull-Down Direnci)
  2. Devre butona basılmayınca çalışsın (Pull-Up Direnci)

Pull-Down ve Pull-Up direnci diye bahsettiğim direnç ismi değil, bağlanma şeklidir. Bağladığımız yere göre butondan aldığımız sinyal değişir. Genellikle 10K ohm’luk dirençler kullanılır.

1.PULL-DOWN

Butonun bir ayağını direkt olarak Arduino UNO üzerindeki +5V’a bağlarız. Butona basıldığı an Arduino’ya enerji gider. Butona basılmadığı zaman dışarıdan gelebilecek (örn. vücumuzdaki elektrik enerjisi) veya hat üzerinde kalan enerjinin yok edilmesi için butonun diğer ucuda bir direnç (~10K ohm) ile toprağa bağlanır.

2.PULL-UP

Pull-Down’ın tam tersidir. Butona basılmadığında Arduino UNO’ya +5V gider. Butona basıldığı zaman akım doğrudan GND’ye gider. Bu sefer direnci (~10K ohm) +5V ile Arduino UNO arasına bağlıyoruz. 1

İPUCU: Pull-Down devreyi Pull-Up’a çevirmek için +5V ve GND’ye gelen kabloların yerini değiştirmeniz yeterlidir.

Buton bağlantı şekillerini gördük. Şimdide basit bir uygulama yapalım. Bu sefer LED lamba butona bastığımızda yansın. Devremizi kuralım;

  • Arduino UNO
  • Breadboard
  • Push Button
  • LED
  • 10K (Buton) ve 250 ohm (LED) direnç
  • Jumper Kablolar

1- mBlock

Dijital giriş çıkış pinlerine bağlanmış, sinyal aldığımız elemanlar (buton, çeşitli sensörler vb.) için kullandığımız blok. Belirtilen pindeki değeri (YÜKSEK-1 veya DÜŞÜK-0 gibi) okur.


2- ARDUINO IDE

void setup(){
  pinMode(3,INPUT); //Buton'dan sinyal aldığımız için INPUT
  pinMode(8,OUTPUT); //LED'e sinyal gönderdiğimiz için OUTPUT
}
void loop(){
    digitalWrite(8,digitalRead(3));
}

digitalRead(X) – Fonksiyonu ile X ile belirtilen dijital giriş çıkış pinindeki değeri okuruz. HIGH (1) veya LOW(0) değeri elde edilir.

Daha önce digitalWrite(8,HIGH) yaparak LED’i yakmıştık. Fakat bu uygulamada butona basıldığında LED’in yanması için HIGH yerine digitalRead(3) yazarak butondan gelen sinyale göre davranmasını sağladık.


3- TINKERCAD


Devremiz ise bu şekilde çalışıyor.

Buton 1 – (LED)

Bu uygulama veya diğer uygulamar için değerli görüşlerinizi ve sorularınızı yorum olarak iletiniz.

KAYNAKLAR

1.https://gelecegiyazanlar.turkcell.com.tr/konu/arduino/egitim/arduino-101/dugme-kullanimi

You may also like...

Bir cevap yazın

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.