Ich muss morgen ein Projekt im Fach NWT abgeben. Für dieses Projekt muss ich mit dem Arduino UNO eine Ampelschaltung mit Taster programmieren. Der Code und die Schaltung an sich funktionieren, jedoch funktioniert der Taster gar nicht. Ich probiere schon seit Tagen verschiedenste Sachen in der Schaltung, vor allem aber im Code aus und nichts scheint zu funktionieren. Mir wurde der Tipp gegeben einen Seriellen Monitor einzubauen, was ich auch getan habe, doch dieser zeigt mir, dass mein Taster konstant auf 1 ist, selbst wenn gedrückt. Was mich hierbei verwirrt ist, dass das "L"-Lämpchen auf den Arduino Platte bei drücken aus geht, was ja eig heißt, dass der Taster aus ist, also gedrückt ist, doch der Code nimmt es irgendwie nicht war oder so...
Unten steht der Code und im Anhang ist ein Bild der Schaltung in Tinkercad
//Variablen Ampel(A)
int RotA = 8;
int Gelb = 9;
int GrunA = 10;
//Variablen Ampel(F)
int RotF = 4;
int GrunF =5;
//Variable Taster
int Taster = 13;
//Variable Lautsprecher
int Ton = 11;
void setup () {
//Modus Ampel(A)
pinMode(RotA,OUTPUT);
pinMode(Gelb,OUTPUT);
pinMode(GrunA,OUTPUT);
//Modus Ampel(F)
pinMode(RotF,OUTPUT);
pinMode(GrunF,OUTPUT);
//Modus Taster
pinMode(Taster,INPUT_PULLUP);
Serial.begin(9600);
}
void loop (){
int TasterLesen = digitalRead(Taster);
Serial.print("Tasterstatus: ");
Serial.println(TasterLesen);
if(TasterLesen == LOW){
anfang();
delay(30000);
gelb();
delay(2000);
fusganger();
Ton1();
delay(45000);
gelb();
delay(2000);
}
else{
delay(5000);
anfang();
delay(50000);
gelb();
delay(2000);
fusganger();
Ton1();
delay(45000);
gelb();
delay(2000);
}
}
void anfang(){
digitalWrite(GrunA,HIGH);
digitalWrite(RotF,HIGH);
digitalWrite(GrunF,LOW);
digitalWrite(RotA,LOW);
digitalWrite(Gelb,LOW);
}
void gelb(){
digitalWrite(Gelb,HIGH);
digitalWrite(RotF,HIGH);
digitalWrite(GrunF,LOW);
digitalWrite(RotA,LOW);
digitalWrite(GrunA,LOW);
}
void fusganger(){
digitalWrite(GrunF,HIGH);
digitalWrite(RotA,HIGH);
digitalWrite(GrunA,LOW);
digitalWrite(Gelb,LOW);
digitalWrite(RotF,LOW);
}
void Ton1(){
tone(Ton,440);
delay(100);
tone(Ton,440);
delay(100);
tone(Ton,440);
delay(100);
tone(Ton,440);
delay(100);
tone(Ton,440);
delay(5000);
tone(Ton,440);
delay(100);
tone(Ton,440);
delay(100);
tone(Ton,440);
delay(100);
tone(Ton,440);
delay(100);
tone(Ton,440);
delay(5000);
tone(Ton,440);
delay(100);
tone(Ton,440);
delay(100);
noTone(Ton);
}