Gast
#4380781
Ich probiere gerade eine simple Ampelsteuerung zu realisieren. Nachdem der Taster "switchState" gedrückt wurde, soll für 10 Sekunden greenLED HIGH sein, dann soll greenLED auf LOW gehen und yellowLED für 3 Sekunden auf HIGH, danach soll yellowLED auf LOW und redLED für 10 Sekunden auf HIGH. Wenn der Taster losgelassen wird, sollen alle LEDs auf LOW. Hier der Code: const int greenTime = 10000; const int yellowTime = 3000; const int redTime = 10000; int greenLED = 3; int yellowLED = 4; int redLED = 5; int temp, i, j, k = 0; int switchState = 0; void setup() { pinMode(greenLED, OUTPUT); pinMode(yellowLED, OUTPUT); pinMode(redLED, OUTPUT); pinMode(1, INPUT); } void loop() { switchState = digitalRead(1); if(switchState == HIGH) { for(i = 0; i <= redTime; i++) { for(j = 0; j <= yellowTime; j++) { for(k = 0; k <= greenTime; k++) { digitalWrite(greenLED, HIGH); } digitalWrite(greenLED, LOW); digitalWrite(yellowLED, HIGH); } digitalWrite(yellowLED, LOW); digitalWrite(redLED, HIGH); } } else { digitalWrite(greenLED, LOW); digitalWrite(yellowLED, LOW); digitalWrite(redLED, LOW); } } Wo ist mein Denkfehler? Bitte keine fertigen Lösungen, sondern anstupser in die richtige Richtung.