const int buttonPin1 = 9;
const int buttonPin2 = 8;
const int buttonPin3 = 7;
const int buttonPin4 = 6;
const int ledPin1 = 2;
const int ledPin2 = 3;
const int ledPin3 = 4;
const int ledPin4 = 5;
const int RelaisPin1 = A2;
const int RelaisPin2 = A3;
const int RelaisPin3 = A4;
const int RelaisPin4 = A5;
int lastButtonPressed = -1;
void setup() {
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
pinMode(buttonPin4, INPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(RelaisPin1, OUTPUT);
pinMode(RelaisPin2, OUTPUT);
pinMode(RelaisPin3, OUTPUT);
pinMode(RelaisPin4, OUTPUT);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
digitalWrite(RelaisPin1, LOW);
digitalWrite(RelaisPin2, LOW);
digitalWrite(RelaisPin3, LOW);
digitalWrite(RelaisPin4, LOW);
}
void loop() {
if (digitalRead(buttonPin1) == HIGH) {
if (lastButtonPressed != 1) {
turnOffAll();
digitalWrite(ledPin1, HIGH);
digitalWrite(RelaisPin1, HIGH);
lastButtonPressed = 1;
} else {
digitalWrite(ledPin1, LOW);
digitalWrite(RelaisPin1, LOW);
lastButtonPressed = -1;
}
while(digitalRead(buttonPin1) == HIGH); // Debounce
}
if (digitalRead(buttonPin2) == HIGH) {
if (lastButtonPressed != 2) {
turnOffAll();
digitalWrite(ledPin2, HIGH);
digitalWrite(RelaisPin2, HIGH);
lastButtonPressed = 2;
} else {
digitalWrite(ledPin2, LOW);
digitalWrite(RelaisPin2, LOW);
lastButtonPressed = -1;
}
while(digitalRead(buttonPin2) == HIGH); // Debounce
}
if (digitalRead(buttonPin3) == HIGH) {
if (lastButtonPressed != 3) {
turnOffAll();
digitalWrite(ledPin3, HIGH);
digitalWrite(RelaisPin3, HIGH);
lastButtonPressed = 3;
} else {
digitalWrite(ledPin3, LOW);
digitalWrite(RelaisPin3, LOW);
lastButtonPressed = -1;
}
while(digitalRead(buttonPin3) == HIGH); // Debounce
}
if (digitalRead(buttonPin4) == HIGH) {
if (lastButtonPressed != 4) {
turnOffAll();
digitalWrite(ledPin4, HIGH);
digitalWrite(RelaisPin4, HIGH);
lastButtonPressed = 4;
} else {
digitalWrite(ledPin4, LOW);
digitalWrite(RelaisPin4, LOW);
lastButtonPressed = -1;
}
while(digitalRead(buttonPin4) == HIGH); // Debounce
}
delay(50); // Verzögerung für Stabilität
}
void turnOffAll() {
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
digitalWrite(RelaisPin1, LOW);
digitalWrite(RelaisPin2, LOW);
digitalWrite(RelaisPin3, LOW);
digitalWrite(RelaisPin4, LOW);
}