// 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);
}