HIZLI VE GÜVENİLİR KARGO
1.750 TL üzeri ücretsiz kargo
HIZLI VE GÜVENİLİR KARGO
1.750 TL üzeri ücretsiz kargo
Düğme Dedektifi: Buton Sayacı ile Her Basışı Yakalayın

Düğme Dedektifi: Buton Sayacı ile Her Basışı Yakalayın

Düğme Dedektifi: Buton Sayacı ile Her Basışı Yakalayın

Önceki projelerimizde butona basıldığında bir eylemi tetiklemeyi öğrendik. Peki ya kaç kez basıldığını sayabilseydik? Bu projede, bir butona basış sayısını takip edecek ve bu sayacı anlık olarak bilgisayarınızda görebileceksiniz. Bu, Arduino ile bilgisayar arasında kurulan basit ama güçlü bir iletişim köprüsüdür.

Gerekli Malzemeler

  • Arduino Uno: Projemizin işlemcisi.
  • 1 adet Düğme (Push Button): Basışları sayacağımız giriş elemanı.
  • 1 adet 10kΩ Direnç: Butonun durumunu stabil tutmak için.
  • Breadboard: Devre elemanlarını birbirine bağlamak için.
  • Jumper Kablolar: Bağlantılar için gerekli.

Devre Kurulumu

Bu devrenin kurulumu, daha önce yaptığınız buton kontrollü LED projesine çok benziyor.

  1. Düğmeyi Breadboard'a Yerleştirin: Düğmeyi, bacakları orta kanalı ayıracak şekilde breadboard'a yerleştirin.
  2. Güç ve Sinyal Bağlantıları:Düğmenin bir bacağını Arduino'daki 5V pinine bağlayın.Düğmenin aynı taraftaki çapraz bacağını bir jumper kabloyla Arduino'daki dijital Pin 2'ye bağlayın.
  3. Düğmenin bir bacağını Arduino'daki 5V pinine bağlayın.
  4. Düğmenin aynı taraftaki çapraz bacağını bir jumper kabloyla Arduino'daki dijital Pin 2'ye bağlayın.
  5. 10kΩ Direnç Bağlantısı: Düğmenin diğer tarafındaki bacağı, bir 10kΩ dirençle Arduino'daki GND pinine bağlayın. Bu direnç, basılı olmadığı durumlarda pinin durumunu "LOW" olarak sabitleyecektir.

Kodlama Zamanı!

Devre hazırsa, sıra geldi sayacı programlamaya. Arduino IDE'yi açın ve aşağıdaki kodu kopyalayıp yükleyin. Bu kod, butonun durumunu kontrol edecek ve her basışı sayacaktır.

C

// Değişken tanımlamaları
const int buttonPin = 2;        // Butonun bağlı olduğu pin
int buttonState = 0;            // Butonun anlık durumunu tutacak değişken
int lastButtonState = 0;        // Butonun önceki durumunu tutacak değişken
int buttonPressCount = 0;       // Butona basılma sayısını tutacak değişken

void setup() {
  // Seri iletişimi başlat
  Serial.begin(9600);

  // Buton pinini GİRİŞ olarak ayarla
  pinMode(buttonPin, INPUT);
}

void loop() {
  // Butonun anlık durumunu oku
  buttonState = digitalRead(buttonPin);

  // Buton durumu değişti mi kontrol et (basılma anını yakalamak için)
  if (buttonState != lastButtonState) {
    
    // Eğer butonun durumu HIGH olduysa (yani basıldıysa)...
    if (buttonState == HIGH) {
      // Sayacı bir artır
      buttonPressCount++;
      
      // Anlık basış sayısını Seri Monitöre yazdır
      Serial.print("Basma Sayisi: ");
      Serial.println(buttonPressCount);
    }
    
    // Butonun son durumunu güncelle
    lastButtonState = buttonState;
  }
  
  // Küçük bir gecikme ekleyerek sayının sürekli artmasını engelle
  delay(50);
}

Kodu Anlayalım

  • buttonPressCount = 0;: Bu değişken, her basıldığında değerini bir artıracağımız sayacımızdır.
  • if (buttonState != lastButtonState): Burası kodun en önemli mantığıdır. Sadece butonun durumu değiştiğinde (yani basılma veya bırakılma anında) bu koşul sağlanır. Bu, parmağınızı butonda ne kadar tutarsanız tutun, sayacın sadece bir kez artmasını sağlar.
  • if (buttonState == HIGH): Butonun durumu değişti ve yeni durumu HIGH ise, bu bir basma eylemi demektir. Sayacı artırıyoruz.
  • Serial.print(...): Bu komutlarla, buttonPressCount değerini bilgisayarın Seri Monitör ekranına yazdırıyoruz.
  • delay(50): Bu komut, "debounce" adı verilen bir durumdan kaçınmak için eklenir. Butona bastığınızda mekanik titreşimler nedeniyle kısa sürede birden fazla HIGH sinyali gelebilir. Bu gecikme, bu sinyalleri filtreler ve her basışta sayacın sadece bir kez artmasını sağlar.

Kodu Yükleme

  1. Arduino'nuzu USB kablosuyla bilgisayarınıza bağlayın.
  2. Arduino IDE'de Araçlar > Kart > Arduino Uno'yu ve doğru COM Port'u seçin.
  3. Kodu yükleyin.
  4. Kod yüklendikten sonra, Arduino IDE'nin sağ üst köşesindeki Seri Monitör (büyüteç simgesi) ikonuna tıklayın.
  5. Şimdi butona basın ve her basışınızda sayacın bir arttığını ve Seri Monitörde görüntülendiğini izleyin.

Tebrikler! Artık fiziksel bir girdiyi dijital bir veriye dönüştürüp, bunu bilgisayarınızda izleyebiliyorsunuz. Bu yetenek, gelecekteki projelerinizde sensör verilerini, kullanıcı etkileşimlerini veya herhangi bir olayı takip etmek için paha biçilmez olacaktır. Belki de bir sonraki projenizde, buton sayacınız belirli bir sayıya ulaştığında bir eylem tetiklersiniz!