Arduino ampelschaltung verbessern?
Ich möchte bei der unten angegebenen Ampelschaltung jede led einzel an und aus machen können das nicht wen gelb ist gleich grün wird sondern erst wieder der Taster gedrückt werden muss bis es grün wird.
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Arduino
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:
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) {}