Moin, ich bin sehr neu im Thema Arduino und stehe vor einem Problem, also ich möchte zwei Lampen mit zwei Schalter Steuern. Dabei soll bei Drücken von Schalter Eins Lampe 1 angehen, Lampe 2 soll aber nur angehen, wenn beide gleichzeitig gedrückt werden. Ich habe das auch schon grob hinbekommen Problem ist nur, das man Schalter Zwei immer kurz vorher drücken muss, wenn man nämlich gleich bzw. zuerst Schalter Eins und dann Zwei drückt, bleibt man wie in der If abfrage für Lampe eins hängen und Lampe 2 geht nicht an, obwohl man beides drückt. Ich habe auch schon versucht das mit einem Timer oder so zu lösen, aber das funktioniert auch nicht. Bei dem Code, den ich hochgeladen hat funktioniert es manchmal aber manchmal auch nicht, vielleicht gibt es ja einen besseren weg, danke schonmal im Voraus.
void setup() {
Serial.begin(9600);
pinMode(TasteEins, INPUT);
pinMode(TasteZwei, INPUT);
pinMode(Lampe1, OUTPUT);
pinMode(Lampe2, OUTPUT);
}
void loop() {
if (SchalterEins == 0) Timer1 = 3; //Zurücksetzten von Timer1
SchalterEins = digitalRead(TasteEins);
SchalterZwei = digitalRead(TasteZwei);
if (SchalterEins == 1 && SchalterZwei == 1) { //if abfrage für Lampe 1
digitalWrite(Lampe1, 1);
} else {
digitalWrite(Lampe1, 0);
}
if (SchalterEins == 1 && SchalterZwei == 0) { //if abfrage für Lampe 2
Timer1 --;
delay(1000);
if (SchalterEins == 1 && SchalterZwei == 0 && Timer1 == 0) {
digitalWrite(Lampe2 ,1);
}
}else {
digitalWrite(Lampe2 ,0);
}
}