#define TASTERPIN 2

#define LED_PIN 6
volatile bool buttonpressed = false;

void setup() {
  Serial.begin(9600);
  pinMode(TASTERPIN, INPUT_PULLUP);
  pinMode(LED_PIN, OUTPUT);
  //attachInterrupt(TASTERPIN, buttonPressedISR, FALLING);
  attachInterrupt(digitalPinToInterrupt(TASTERPIN), buttonPressedISR, FALLING); 
  Serial.println("Ready");
}

void blinkLED(int blinks) { //Funktion erhält einen Rückgabewert als Integer
  for (int i = 0; i < blinks; i++) { //i mit 0 initialisiert -> wenn i kleiner als 
  //der Rückgabewert erhöhe i -> wenn i = blinks wird die schleife abgebrochen
    digitalWrite(LED_PIN, HIGH); 
    delay(500);                  
    digitalWrite(LED_PIN, LOW);  
    delay(500);                  
  }
}

void buttonPressedISR (){
  buttonpressed = !buttonpressed ;
}

void loop() {
 
  static int zaehlwert = 0;
  static int vorherigerZaehlwert = 0;
 
 if (buttonpressed == true){ 
    zaehlwert ++ ; // Zählwert erhöhen
    Serial.print("Zählwert: ");
    Serial.println(zaehlwert);
    delay (50); //entprellen
    //buttonpressed = false ; 
  }

  delay (50); //Entprellen beim Loslassen 

  // Blinkt nur nach Zählwert Erhöhung :
  if (zaehlwert > vorherigerZaehlwert) {
   delay (500);
    blinkLED(zaehlwert); // Unterfunktion zum 
    //Blinken wird aufgerufen
    vorherigerZaehlwert = zaehlwert; // Aktualisiere den vorherigen Zähler
  }
}