//Auto
int A_rot = 13;
int A_gelb = 7;
int A_gruen = 8;
//Fußgänger
int F_rot = 4;
int F_gruen = 2;
int Taster = 9;
int TasterLesen;
void setup() {
Serial.begin(9600);
pinMode(A_rot, OUTPUT);
pinMode(A_gelb, OUTPUT);
pinMode(A_gruen, OUTPUT);
pinMode(F_rot, OUTPUT);
pinMode(F_gruen, OUTPUT);
pinMode(A_gruen, OUTPUT);
pinMode(Taster, INPUT_PULLUP);
}
void Autofahrer(){
digitalWrite(A_gruen, HIGH);
digitalWrite(A_gelb, LOW);
digitalWrite(A_rot, LOW);
digitalWrite(F_rot, HIGH);
digitalWrite(F_gruen, LOW);
delay(3000);
digitalWrite(A_gruen, LOW);
digitalWrite(A_gelb, HIGH);
delay(1000);
digitalWrite(A_gelb, LOW);
digitalWrite(A_rot, HIGH);
delay(3000);
digitalWrite(A_gelb, HIGH);
delay(1000);
digitalWrite(A_rot, LOW);
digitalWrite(A_gelb, LOW);
digitalWrite(A_gruen, HIGH);
delay(5000);
}
void loop() {
TasterLesen = digitalRead(Taster);
if(TasterLesen == LOW){
Serial.println("Gedrückt");
goto Fusgaenger;
}
else {
Autofahrer();
}
Fusgaenger:
digitalWrite(A_gruen, HIGH);
digitalWrite(A_gelb, LOW);
digitalWrite(A_rot, LOW);
digitalWrite(F_rot, HIGH);
digitalWrite(F_gruen, LOW);
delay(3000);
digitalWrite(A_gelb, HIGH);
digitalWrite(A_gruen, LOW);
delay(1000);
digitalWrite(A_gelb, LOW);
digitalWrite(A_rot, HIGH);
delay(3000);
digitalWrite(F_rot, LOW);
digitalWrite(F_gruen, HIGH);
delay(5000);
digitalWrite(F_gruen, LOW);
digitalWrite(F_rot, HIGH);
delay(3000);
digitalWrite(A_gelb, HIGH);
delay(2000);
digitalWrite(A_rot, LOW);
digitalWrite(A_gelb, LOW);
digitalWrite(A_gruen, HIGH);
}
Das Problem ist folgendes: Die Ampel an sich funktioniert, sie läuft durch ihre Phase, etc.. aber nach jedem 2ten durchlauf wird automatisch die if-schleife für das Fußgängerprogramm aktiviert, ohne das der button gedrückt wurde. Das Programm reagiert aber genrell nicht auf den Button. Richtig angeschlossen ist alles btw., da der Button funktioniert, wenn ich ein kleines Testprogramm mit if-schleife benutze (kann gerade kein bild hochladen). Hat jemand also eine erklärung, wieso die Fußgänger Ampel beim 2ten durchlauf immer aktiviert auf?
danke im voraus und sorry falls ich Infos vergessen hab.