Arduino ampelschaltung verbessern?

1 Antwort

Bei dieser Schaltung wechselt nach jeden Druck auf den Taster die Farbe von Rot-Gelb-Grün

void setup() {
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(3, INPUT); 
}

void loop() {
  while (digitalRead(3) == LOW) {
  }
  rot();
  delay(300);

  while (digitalRead(3) == LOW) {
  }
  gelb();
  delay(300);

  while (digitalRead(3) == LOW) {
  }
  gruen();
  delay(300);
}
void rot() {
  digitalWrite(12, HIGH);
  digitalWrite(11, LOW);
  digitalWrite(10, LOW);
}
void gelb() {
  digitalWrite(12, LOW);
  digitalWrite(11, HIGH);
  digitalWrite(10, LOW);
}
void gruen() {
  digitalWrite(12, LOW);
  digitalWrite(11, LOW);
  digitalWrite(10, HIGH);
}

Schaltung:

Bild zum Beitrag

 - (Arduino, Ampel, Sketch)

Elumania  07.05.2021, 14:56

Noch schöner ist es, wenn man statt dem

delay(300); 

einfach checkt ob bereits der Taster wieder losgelassen wurde.

also statt delay(300); schreiben:

while (digitalRead(3) == HIGH) {}
0