const int buton_1 = 2;
const int buton_2 = 3; /*Buton 1 tıklama sayacı için, buton 2 ledi çalıştırmak için*/
const int led = 4;
int sayac = 0; /* butona basılma sayısını tutacak değişken */
int butonDurumu_1 = 0;
int butonDurumu_2 = 0; /*Buton durumları atamak için gerekli değişkenler*/
void setup() {
pinMode(buton_1, INPUT);
pinMode(buton_2, INPUT);
pinMode(led, OUTPUT);
}
void loop() {
butonDurumu_1 = digitalRead(buton_1);
butonDurumu_2 = digitalRead(buton_2); /*Gelen verileri değişkenlere aktaralım*/
if (butonDurumu_1 == HIGH) { /*Eğer sayaç butonuna baasılırsa aşağıdaki kod dizisini uygular*/
delay(10); /* dalgalanmalar için biraz bekleyelim */
sayac ++; /* sayaç = sayaç + 1 yani sayaç değeri bir arttırıldı */
while(butonDurumu_1 == HIGH){ /* Butona basili olduğu surece bekle */
butonDurumu_1 = digitalRead(buton_1); /* Butonun durumunu kontrol et */
}
delay(10); /* dalgalanmalar için biraz bekleyelim */
}
if (butonDurumu_2 == HIGH) { /*Led butonuna basılırsa aşağıdaki kod dizisini uygular*/
for(int x=0; x<sayac; x++){ /*X değişkeni oluşturup for döngüsü ile sayaçtan gelen tıklama sayısı kadar kod dizisini döndüren koşullu değişken */
digitalWrite(led,HIGH);
delay(300);
digitalWrite(led,LOW);
delay(300); /*Ledi yakıp söndüren kod dizisi*/
}
}
}
Kodu kendim yazdım fakat bazı yerlerini
https://gelecegiyazanlar.turkcell.com.tr/konu/arduino/egitim/arduino-201/tiklama-sayaci sayesinde yazdım.
Eğer istersen Seri haberleşme üzerinden tıklama sayısını gösterebilirsin. Tek yapman gereken if komutu içerisinde yer alan sayac++; komutundan sonra
Serial.print("Butona ");
Serial.print(sayac);
Serial.println(". defa basildi.");
yazmalısın. Sıfırlamak için arduinodaki tekrar başlama butonuna bas. Umarım yardımcı olabilmişimdir.