#include <Wire.h> // Wire Bibliothek einbinden
#include <LiquidCrystal_I2C.h> // Vorher hinzugefügte LiquidCrystal_I2C Bibliothek einbinden
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define interruptPin 2 // Pin 2 = Interrupt-Pin
volatile int zaehler = 0; // globale volatile Variable für den Zähler
void setup() {
pinMode(interruptPin, INPUT_PULLUP); // Interrupt-Pin als Input-Pin mit
// Pull-up-Widerstand
attachInterrupt(digitalPinToInterrupt(interruptPin), reucksetzen, LOW);
// Lege die ISR 'reucksetzen' auf den Interruptpin mit Modus 'LOW':
// ISR ruecksetzen wird ausgeführt, sobald Pin 2 = 0 ist.
lcd.init();
lcd.backlight();
}
void loop() {
zaehler++; //Zähler inkrementieren
delay(1000); // Warte 1s
//Gebe den Zählerstand auf dem LCD aus.
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Zaehler: ");
lcd.setCursor(8, 1);
lcd.print(zaehler);
}
void reucksetzen() {
zaehler = 0; //Setze den Zähler zurück - auch wenn die CPU gerade das delay bearbeitet
}