Projekt "Ampelschaltung"

Das erste einfache Projekt zum Nachbauen ist eine “Ampelschaltung”. Ziel ist es, durch das Drücken eines Tasters eine Ampel zu simulieren, die nach dem Drücken von “rot” auf “gelb” und anschließend auf “grün” wechselt. Nach einer Grünphase soll die Ampel wieder auf gelb und dann auf rot schalten und das System soll auf ein erneutes Drücken des Tasters warten.

Ergänzend zum schriftlichen Tutorial auf dieser Seite findest du ganz unten auch noch das passende Youtube-Video dazu.

Was benötigst du für das Projekt?

  1. 1 x Arduino Uno mit Steckbrett + Laptop und USB Typ B Kabel für die Programmierung
  2. Widerstände, 3 x R = 220 Ω, 1 x R = 1 kΩ
  3. Drei LEDs, 1 x rot, 1 x gelb, 1 x rot
  4. Jumper Kabel
  5. 1 x Taster

Alle Bauelemente und noch viele mehr sind beispielsweise in einem Arduino Starter Kit enthalten. Das originale Starter Kit von Arduino ist hier zu finden: ➣ https://amzn.to/2RJqRRh. Eine günstigere Alternative von Elegoo gibt es hier: ➣ https://amzn.to/2FEF6lG.

Die Schaltung

Die Schaltung zum Ampelprojekt beginnt mit dem 5 V Power Out-Pin des Arduinos. Durch ein Taster / Schalter (S1) wird die restliche Schaltung von der 5 V Spannung getrennt.

Wird der Taster nicht gedrückt, ist I/O Pin 3 über den Widerstand R4 mit dem Massepotential GND (Ground) des Arduinos verbunden. I/O Pin 3 wird als “Input” programmiert. Es wird bei nicht gedrücktem Taster der Signalpegel “LOW” am I/O Pin 3 eingelesen, der Widerstand R4 fungiert hier als sogenannter “Pull Down Widerstand”, da er den I/O Pin auf das Massepotential GND “herunterzieht”.

Sobald der Taster gedrückt wird, liegen am digitalen I/O Pin 3 die 5 V des Power Pins an, da die Spannung für Pin 3 vor dem Widerstand R4 abgegriffen wird. Es wird dann “HIGH” eingelesen, da die Spannung am Widerstand R4 abfällt.

Die Widerstände R1, R2 und R3 sind die Vorwiderstände für die LEDs, deren Anoden mit den I/O Pins 10, 11 und 12 (als Outputs programmiert) verbunden sind und deren Kathoden mit GND des Arduinos verbunden sind.

Der Sketch

Gleich vorneweg: Den vollständigen Sketch (also das Programm) zu diesem kleinen Projekt findet ihr zum Download unten. Ich werde an dieser Stelle nur das Grundprinzip des Sketches und die logischen Hauptschritte erläutern:

  1. Zunächst muss in der Funktion void setup ( ) der I/O Pin 3 als Input und I/O Pins 10, 11 und 12 als Output festgelegt werden (einmalige Festlegung). Pin 12 entspricht, entsprechend dem Schaltbild oben, der roten LED, Pin 11 der gelben LED und Pin 10 der grünen LED.
  2. In der Funktion void loop ( ) (das ist die Endlosschleife) wird über die Variable “schalter” mit dem Befehl digitalRead(3) der Pin 3 eingelesen.
  3. Durch die Bedingung if(schalter==LOW) wird abgefragt, ob der Schalter gedrückt ist. Wenn die Bedingung erfüllt ist, soll die LED rot an sein, und die LED gelb und grün sollen aus sein.
  4. Wenn die Bedingung nicht erfüllt ist, also der schalter gedrückt ist, dann soll die Ampel von rot, auf gelb und dann auf grün geschaltet werden. Dementsprechend müssen nacheinander die Pins 11 (gelb) und 10 (grün) angeschaltet werden. Wie bei einer echten Ampel darf dabei immer nur eine LED an sein, also immer nur ein Pin auf “HIGH” gesetzt sein.
  5. Nach einer längeren Grünphase, hier im Beispiel 10 Sekunden, also 10 000 Millisekunden (Arduino rechnet immer in ms), soll die Ampel wieder auf gelb und dann auf rot schalten.

Eine sehr ausführliche Beschreibung zum Sketch bekommt ihr im Video zum Projekt ganz unten. Den Sketch könnt ihr hier herunterladen:

Mit den mit ➣ markierten Links kannst du mich unterstützen 🙂 Es handelt sich hierbei um Affiliate-Links. Das heißt ich bekomme eine kleine Aufwandsentschädigung für die Vermittlung. Für dich entstehen natürlich keine zusätzlichen Kosten!

Elektrotechnik einfach erklärt: Die Website für Theorie und Praxis rund um die Themen Elektronik und Elektrotechnik.

Menü schließen