
Ziel des Projekts
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.
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
Der Schaltplan
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)
Das Programm
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); } } |

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







