// Pins für LEDs und Taster definieren
const int blinkLED = 11;
const int tasterPin = 2;
const int tasterLED = 7;

// Variable zur Speicherung des Tasterzustands
volatile int tasterStatus = LOW; // volatile verwenden, um Probleme mit Interrupts zu vermeiden

void setup() {
  // Pin-Modi festlegen
  pinMode(blinkLED, OUTPUT);
  pinMode(tasterPin, INPUT_PULLUP); // Taster mit internem Pullup-Widerstand
  pinMode(tasterLED, OUTPUT);

  // Interrupt für den Taster konfigurieren
  attachInterrupt(digitalPinToInterrupt(tasterPin), tasterInterrupt, CHANGE);
}

void loop() {
  // LED blinken mit delay()
  digitalWrite(blinkLED, HIGH);
  delay(5000); // Halbe Periode (HIGH-Zeit)
  digitalWrite(blinkLED, LOW);
  delay(5000); // Halbe Periode (LOW-Zeit)
}

// Interrupt Service Routine (ISR) für den Taster
void tasterInterrupt() {
  tasterStatus = !digitalRead(tasterPin);
  // Taster-LED entsprechend dem Tasterzustand schalten
  digitalWrite(tasterLED, tasterStatus);
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
led1:A
led1:C
led2:A
led2:C
r1:1
r1:2
r2:1
r2:2
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r