20 Mayıs 2023, 17:24 tarihinde eklendi

Arduino Uno ile Buton Tıklama Sayacı ve LED Kontrolü

Arduino Uno ile Buton Tıklama Sayacı ve LED Kontrolü

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: LED diyot pin yapısı

Görsel 1.3: Arduino Uno ile buton tıklama sayacı ve LED kontrolü uygulaması devre şeması

Görsel 1.4: Arduino Uno ile buton tıklama sayacı ve LED kontrolü uygulaması breadboard bağlantısı

Malzeme Listesi

Sıra No

Adı

Özelliği

Miktarı

1

Arduino Uno R3

-

1 Adet

2

LED diyot

5 mm

1 Adet

3

Buton

Push buton

1 Adet

4

Direnç

220R, 10k / ¼ W

2 Adet

5

Breadboard

830 pin

1 Adet

6

Jumper kablo

Erkek-erkek

-

 

Uygulamaya Ait Kod

/*

  Uygulama Adı  : Buton tıklama sayacı

  Açıklama         : Butona 5 defa basıldığında LED diyot ışık verir.

  Tarih               : 23 Ağustos 2022

  Yazan             : İlhan DEMİR

*/

const int buton = 6;

int sayac = 0;

int butonDurumu = 0; 

int ledPin = 11;

void setup()

{

 pinMode(buton, INPUT);

 pinMode (ledPin, OUTPUT);

 Serial.begin(9600);

}

void loop()

{

 butonDurumu = digitalRead(buton);

 if (butonDurumu == HIGH)

 {

   delay(10);                                               //Buton arkları (dalgalanmalar) için bekle.

   sayac ++;

   Serial.println(String ("Butona ")+sayac+(".defa basıldı"));

   while(butonDurumu == HIGH)                  //Butona basılı olduğu surece bekle.

   {

     butonDurumu = digitalRead(buton);

   }

   delay(10);                                               //Buton arkları (dalgalanmalar) için bekle.

   if (sayac == 5)

   {

    digitalWrite (ledPin, HIGH);

    delay (3000);

    digitalWrite (ledPin, LOW);

    sayac = 0;

   }

 }

}

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

E-posta hesabınız yayımlanmayacak. Doldurulması zorunlu alanlar işaretlendi *