const int buttonPin = 2; // Der Pin, an dem der Button angeschlossen ist
int buttonState = 1; // Der aktuelle Zustand des Buttons
int lastButtonState = 1; // Der vorherige Zustand des Buttons
int count = 0; // Der Zählwert
#define LED 3
void setup() {
Serial.begin(9600); // Initialisierung der seriellen Kommunikation
pinMode(buttonPin, INPUT_PULLUP); // Der Button-Pin als Eingang
pinMode(LED, OUTPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
// Überprüfen, ob eine negative Flanke erkannt wurde
if (buttonState == LOW && lastButtonState == HIGH) {
count++; // Zählwert erhöhen
// Serielle Nachricht ausgeben: "Zählwert: <count>"
Serial.print("Zählwert: ");
Serial.println(count);
digitalWrite(LED, HIGH );
}
else {
digitalWrite(LED, LOW);
}
// Den aktuellen Button-Zustand für den nächsten Durchlauf speichern
lastButtonState = buttonState;
busyWait(10); //hier kann man auch einfach delay(10) machen WICHTIG GEGEN PRELLEN
}
void busyWait(long duration)
{
long endTime = millis() + duration;
while(millis() < endTime);
}