const int led1 = 13; // Pin für LED 1
const int led2 = 12; // Pin für LED 2
const int button1 = 2; // Pin für Taster 1
const int button2 = 3; // Pin für Taster 2
const int blinkT = 100 ; // Zeit für Blinken (Sim braucht länger)
const int blinkPause = 2000 ; // Pause zwischen 5er Wechseltakt
bool blinkFlag = true ; // true: noch 5 x Wechselblinken - false: nicht mehr blinken
void setup() {
pinMode(led1, OUTPUT); // Setze LED 1 als Ausgang
pinMode(led2, OUTPUT); // Setze LED 2 als Ausgang
pinMode(button1, INPUT_PULLUP); // Setze Taster 1 als Eingang mit internem Pull-Up-Widerstand
pinMode(button2, INPUT_PULLUP); // Setze Taster 2 als Eingang mit internem Pull-Up-Widerstand
}
void loop() {
if (digitalRead(button1) == LOW && digitalRead(button2) == LOW) { // Beide Taster gedrückt
for (int i = 0; i < 13; i++) { // Wiederhole 13 Mal
digitalWrite(led1, HIGH); // Schalte LED 1 ein
digitalWrite(led2, HIGH); // Schalte LED 2 ein
delay(blinkT); // Warte blinkT Millisekunden
digitalWrite(led1, LOW); // LEDs aus
digitalWrite(led2, LOW);
delay(blinkT); // Warte blinkT Millisekunden
}
blinkFlag = true;
}
else if(digitalRead(button1) == LOW && digitalRead(button2) == HIGH) {
for (int i = 0; i < 7; i++) { // Wiederhole 7 Mal
digitalWrite(led1, HIGH); // Schalte LED 1 ein
delay(blinkT);
digitalWrite(led1, LOW); // Schalte LED 1 aus
delay(blinkT); // Warte blinkT Millisekunden
}
blinkFlag = true;
}
else if(digitalRead(button1) == HIGH && digitalRead(button2) == LOW) {
for (int i = 0; i < 11; i++) { // Wiederhole 13 Mal
digitalWrite(led2, HIGH); // Schalte LED 2 ein
delay(blinkT);
digitalWrite(led2, LOW); // Schalte LED 2 aus
delay(blinkT); // Warte blinkT Millisekunden
}
blinkFlag = true;
}
else if(digitalRead(button1) == HIGH && digitalRead(button2) == HIGH && blinkFlag ) {
// else if(digitalRead(button1) == HIGH && digitalRead(button2) == HIGH ) {
delay(blinkPause); // Pause zwischen den Takten
for (int i = 0; i < 5; i++) { // Wiederhole 5 Mal
digitalWrite(led1, HIGH); // Schalte LED 1 ein
digitalWrite(led2, LOW); // Schalte LED 2 aus
delay(blinkT);
digitalWrite(led1, LOW); // Schalte LED 1 aus
digitalWrite(led2, HIGH); // Schalte LED 2 ein
delay(blinkT); // Warte blinkT Millisekunden
}
blinkFlag = false;
digitalWrite(led2, LOW); // LED 2 aus
}
}