volatile bool blinkMode = false;
void setup() {
pinMode(2, INPUT);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
attachInterrupt(digitalPinToInterrupt(2), toggleMode, CHANGE);
}
void toggleMode() {
blinkMode = !blinkMode;
}
void gleichblinker() {
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
delay(500);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(500);
}
void wechselblinker() {
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delay(500);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delay(500);
}
void loop() {
if (blinkMode) {
gleichblinker();
} else {
wechselblinker();
}
}