const int buttonPin1 = 2; // Pine pre tlačidlo 1
const int buttonPin2 = 3; // Pine pre tlačidlo 2
volatile int buttonPressCount1 = 0; // Premenná pre počítadlo stlačení tlačidla 1
volatile int buttonPressCount2 = 0; // Premenná pre počítadlo stlačení tlačidla 2
unsigned long lastDebounceTime1 = 0; // Čas poslednej debounce pre tlačidlo 1
unsigned long lastDebounceTime2 = 0; // Čas poslednej debounce pre tlačidlo 2
unsigned long debounceDelay = 50; // Časové oneskorenie pre debouncing
void setup() {
pinMode(buttonPin1, INPUT_PULLUP); // Aktivuje pull-up rezistor pre tlačidlo 1
pinMode(buttonPin2, INPUT_PULLUP); // Aktivuje pull-up rezistor pre tlačidlo 2
attachInterrupt(digitalPinToInterrupt(buttonPin1), buttonInterrupt1, FALLING); // Priradenie prerušenia pre tlačidlo 1 (prechod z HIGH na LOW)
attachInterrupt(digitalPinToInterrupt(buttonPin2), buttonInterrupt2, FALLING); // Priradenie prerušenia pre tlačidlo 2 (prechod z HIGH na LOW)
Serial.begin(9600);
}
void loop() {
// Loop funkcia je prázdna, pretože sa využívajú prerušenia na sledovanie stlačení tlačidiel
}
void buttonInterrupt1() {
if (millis() - lastDebounceTime1 > debounceDelay) {
buttonPressCount1++;
Serial.print("Stlačenie tlačidla 1. Celkový počet stlačení: ");
Serial.println(buttonPressCount1);
}
lastDebounceTime1 = millis();
}
void buttonInterrupt2() {
if (millis() - lastDebounceTime2 > debounceDelay) {
buttonPressCount2++;
Serial.print("Stlačenie tlačidla 2. Celkový počet stlačení: ");
Serial.println(buttonPressCount2);
}
lastDebounceTime2 = millis();
}