500px-Traffic_lights_4_states.svg

GPIO

Raspberry Pi Ampelschaltung mit GPIO Teil 2

Weiter geht es also mit dem zweiten Teil und der eigentlichen Ampelschaltung. Schauen wir und erst einmal die verschiedenen Anpelphasen auf Wikipedia an. Diese wollen wir auf Tastendruck nachbauen.



(Quelle: Wikipedia)

Zu erst einmal bauen wir die Schaltung auf:

 ampel2_Steckplatine

Wir haben also die folgenden Phasen:

  1. kein Tastendruck – dauerhaft rot (gelb und grün aus)
  2. Taster wird gedrückt – rot und gelb leuchten (grün aus), Dauer: 3 Sekunden
  3. Wechsel auf grün (rot und gelb aus), Dauer: 15 Sekunden
  4. Wechsel auf gelb (rot und grün aus), Dauer: 3 Sekunden
  5. Zurück zu Schritt 1.

Diese gilt es nun in Code umzusetzen. Ich habe dazu beispielhaft ein Skript erstellt:

sudo nano ampel_skript2.py

Dieses Mal nehme ich anstelle der Pin-Nummern die GPIO Belegunsgsnummern.

Aufgerufen wird es wieder mit

sudo python ampel_skript2.py

Die rote LED leuchtet auf und bei Drücken des Tasters wird die Funktion aufgerufen und die Ampeln gewechselt. Die Ausführung des Skrips mit STRG + C beendet.

Die Funktionen können umgeändert und erweitert werden. Hier noch ein Bild meiner Schaltung.

20140325_210311



,


4 Kommentare

  1. Privatbahner sagt:

    Moin Moin,

    vielen Dank für dieses Tutorial. Ich habe den Aufbau und das Script nach Vorbild eingebaut, allerdings erhalte ich bei der Ausführung des Scriptes:

    File „ampel_skript2.py“, line 53
    umschalten()
    ^
    IndentationError: expected an indented block

  2. Wolfgang sagt:

    hi Felix,
    vielen Dank für deine ausführlichen skripts, aber wäre es nicht schön mit einem GPIO.cleanup() zu beenden?
    VG Wolfgang

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Blog abonnieren

Abonniere Tutorials-RaspberryPi, um kein Tutorial mehr zu verpassen!