Arduino ile Buton Kullanımı

Arduino ile buton kullanımı

Uygulamalarımızda çeşitli görevler için butonlar kullanacağız. İlk olarak butonun çalışma mantığını inceleyelim. Kullanıcı butona tıkladığında butonun iki ucu kısa devre olur ve böylece akım akmaya başlar. Kullanıcı butondan elini çektiğinde devrenin önceki durumuna dönmesi için pull-up/pull-down direnç sistemi kullanılır. Kullanılan bu dirençler ile buton elektriksel olarak basılı kalmaktan kurtarılır.

Pull-Down Direnç
Butona basıldığında 5 Volt arduinonun input ayağına ulaşır. Fakat butondan elimizi kaldırdığımızda arduinoun pininde 5 volt gerilimi kalmaktadır. Bu durumdan kurtulmak için genellikle 10K ohm değerinde bir direnç arduinoun input ayağından toprağa bağlanır.

Pull-up Direnç
Butona basılmadığı durumlarda arduinonun input ayağı 5 volttadır. Butona basıldığında akım arduinonun input ayağı yerine toprağa ulaşmaktadır. Pull-Down direnç sisteminin tam tersi şeklinde çalışmaktadır. Direncin konulma nedeni butona basıldığında 5 Voltun doğrudan toprağa (- uça) ulaşmasını engellemektir. Genellikle 10K değerinde direnç kullanılmaktadır.

Bu kadar teorik bilginin yeterli olduğunu düşünüyorum. Butona bastığımızda lambanın yanmasını ve elimizi çektiğimizde sönmesini sağlayan bir program yazalım.

const int buttonPin = 2;   // Butonun pin numarası
const int ledPin = 13;   // Ledin bağlandığı pin numarası
int buttonState = 0;   // Butonun durumu
void setup() {
pinMode(ledPin, OUTPUT);   // Ledin bağlı olduğu pini çıkış olarak ayarlıyoruz.
pinMode(buttonPin, INPUT);  // Butonun bağlı olduğu pini çıkış olarak ayarlıyoruz.
}
void loop(){
buttonState = digitalRead(buttonPin); // butonun basılı olup olmadığını kontrol ediyoruz.
// Buton basılı ise bize HIGH değil ise LOW olarak geri dönmektedir (1 veya 0)
if (buttonState == HIGH) {  //buton basılı mı?
digitalWrite(ledPin, HIGH);  // ledi yak
}
else {
digitalWrite(ledPin, LOW);  // buton basılı değil ledi söndür
}
}


Ark olaylarını engellemek için digitalWrite kodlarından sonra az bir bekleme verilebilir, delay(100) şeklinde.
Buton kontrol etmeyi öğrendiğimize göre bir adım daha ileriye gidelim ve sayaç yapalım.
Fakat bunun için öncelikle bilgisayar ile arduinomuzu nasıl haberleştireceğimize bakalım.

İlgili Mesajlar

Abone ol
Bildir
guest
0 Yorum
Inline Feedbacks
View all comments