Arduino Uno ile Buton Kontrolü Uygulaması
Push buton devrede on/off (açık/kapalı) kontrolü için kullanılır. Butona basıldığında on (açık) durumuna geçerken buton bırakıldığında off (kapalı) durumuna geçer. Tactile (dokunsal) buton olarak da adlandırılır.
Butonun bağlandığı pin, pinMode(buton, INPUT) şeklinde giriş olarak yönlendirilir. Buton Arduino UNO geliştirme kartıyla birlikte kullanılırken iki şekilde bağlantı yapılır:
- Pull-down bağlantı
- Pull-up bağlantı
Görsel 1.1: Pull-up ve pull-down bağlantı
Pull-down veya pull-up direnci olarak 10kΩ değerinde direnç kullanımı uygundur. Pull-down veya pull-up direnci dijital pin giriş olarak kullanıldığında sinyalin bozulmamasını sağlar. Pull-down bağlantıda butona basılmadığında Arduino pini, direnç üzerinden LOW (0V) seviyesinde bulunur. Butona basıldığında Arduino pini, buton üzerinden HIGH (5V) seviyesinde bulunur. Bu durum pull-up bağlantıda tam tersi şeklindedir.
Arduino UNO üzerinde bulunan mikrodenetleyici (ATmega328P) içerisinde dahili pull-up dirençleri vardır. Dahili pull-up dirençleri sayesinde buton kullanırken ayrıca direnç kullanılmasına gerek kalmaz. Bu durumda fonksiyon pinMode (buton, INPUT_PULLUP) şeklinde kullanılmalıdır.
Uygulamaya Ait Şema, Bağlantı Şekli ve Görseller
Görsel 1.2: Arduino Uno ile buton kontrolü uygulaması devre şeması
Görsel 1.3: Arduino Uno ile buton kontrolü uygulaması breadboard bağlantısı
Malzeme Listesi
Sıra No |
Adı |
Özelliği |
Miktarı |
1 |
Arduino Uno R3 |
- |
1 Adet |
2 |
Buton |
Push buton |
1 Adet |
4 |
Breadboard |
830 pin |
1 Adet |
5 |
Jumper kablo |
Erkek-erkek |
- |
Uygulamaya Ait Kod
/*
Uygulama Adı : Buton kontrolü uygulaması
Açıklama : Butonun durumunu seri port ekranında gösterir.
Tarih : 21 Kasım 2021
Yazan : İlhan DEMİR
*/
int buton = 2; //#define buton 2 şeklinde de kullanılabilir.
int butonDurum = 0;
void setup()
{
pinMode(buton, INPUT_PULLUP);
Serial.begin (9600);
Serial.println ("Buton Kontrolü");
Serial.println ();
}
void loop()
{
butonDurum = digitalRead (buton);
if (butonDurum == LOW)
{
Serial.println ("Butona basıldı.");
delay (200);
}
else
{
Serial.println ("Butona basılı değil.");
delay (200);
}
}
Bu internet sitesi içeriğinde yer alan tüm eserler (yazı, resim, görüntü, fotoğraf, video, müzik vb.) İlhan DEMİR'e ait olup, 5846 sayılı Fikir ve Sanat Eserleri Kanunu ve 5237 sayılı Türk Ceca Kanunu kapsamında korunmaktadır. Bu hakları ihlal eden kişiler, 5846 sayılı Fikir ve Sanat eserleri Kanunu ve 5237 sayılı Türk Ceza Kanununda yer alan hukuki ve cezai yaptırımlara tabi olurlar. İlhan DEMİR, yasal işlem başlatma hakkına sahiptir.
BİR CEVAP YAZ