
Eine Ampel mit Fußgängerampel soll mit einem Taster geschaltet werden. Wird der Taster gedrückt, schaltet die Fahrbahnampel auf rot und die Fußgängerampel auf grün.
So sieht es aus:
Benötigte Bauteile:
- Taster
- 2 rote LEDs
- 2 grüne LEDs
- 1 gelbe LED
- 5 Widerstände 220 Ω
- Leitungsdrähte

Beachte die ⇒Vorwiderstände verschiedener LEDs
Baue die Schaltung auf.
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)
Definiere zuerst die Variablen für die Zuordnung der LEDs und die Variable für den Status des Tasters (TasterLesen).
Der gelesene Wert (LOW/HIGH) entscheidet über die Schaltung der Ampeln.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // Fahrbahnampel int ROT = 3; int GELB = 4; int GRUEN = 5; // Fußgängerampel int F_ROT = 6; int F_GRUEN = 7; // Taster int TASTER = 12; // Status des Taster int TasterLesen; |
Im setup-Teil muss der pinMode des Tasters hinzufügt und der Eingangspegel auf HIGH gesetzt werden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | void setup() { // Fahrbahnampel pinMode(ROT, OUTPUT); pinMode(GELB, OUTPUT); pinMode(GRUEN, OUTPUT); // Fußgängerampel pinMode(F_ROT, OUTPUT); pinMode(F_GRUEN, OUTPUT); // Taster // INPUT_PULLUP = Modus Eingabe und Eingangspegel auf HIGH setzen pinMode(TASTER, INPUT_PULLUP); } |
Der zeitliche Ablauf:

Das Programm muss feststellen können, ob der Taster gedrückt wurde. Hierzu wird eine if-Abfrage benutzt.
Sie hat die Form:
// wenn die Bedingung erfüllt ist …
if (Bedingung == Zustand)
{
// Befehl ausführen
}

In diesem Fall wird der Zustand der Variable TasterLesen abgefragt. Ist der Zustand LOW, wird die Ampel geschaltet.
Zunächst zeigt die Fußgängerampel rot und die Fahrbahnampel grün. Ein Druck auf den Taster unterbricht den Strom. Der Status des Tasters ist dann LOW.
Das wird mit if abgefragt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | void loop() { // Ampel grün/Fußgängerampel rot digitalWrite(F_ROT, HIGH); digitalWrite(GRUEN, HIGH); // Zustand des Tasters lesen TasterLesen = digitalRead(TASTER); delay(200); // Taster auf HIGH gesetzt -> gedrückt = LOW if (TasterLesen == LOW) { // 1 s Pause delay(1000); // Fahrbahnampel grün aus digitalWrite(GRUEN, LOW); // Fahrbahnampel gelb an digitalWrite(GELB, HIGH); delay(1000); digitalWrite(GELB, LOW); // Fahrbahnampel rot an digitalWrite(ROT, HIGH); // 1 s Sicherheitszeit delay(1000); // Fußgängerampel auf grün schalten digitalWrite(F_ROT, LOW); digitalWrite(F_GRUEN, HIGH); delay(5000); // Fußgängerampel auf rot schalten digitalWrite(F_GRUEN, LOW); digitalWrite(F_ROT, HIGH); // 1 s Pause delay(1000); // Fahrbahnampel auf gelb und dann auf rot schalten digitalWrite(GELB, HIGH); delay(1000); digitalWrite(ROT, LOW); digitalWrite(GELB, LOW); } } |

Verwandte Anleitungen:
- Ampel
- Ampel mit dem Beschleunigungssensor ADXL335 schalten
- Ampel mit Bluetooth schalten
- Ampel mit einem Ethernet-Shield schalten
- Ampel mit Fußgängerampel
- Ampel mit UNO R4 WiFi schalten
- Ampel mit WiFi schalten
- Ampelanlage an einem Fußgängerüberweg
- Ampelschaltung mit einem LED-Stick
- Ampel mit Ultraschallsensor schalten
Letzte Aktualisierung:







