Raspberry Pi Ampelschaltung mit GPIO Teil 2

25. March 2014
10 Comments

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

10 Kommentare

  1. 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

    Antworten
  2. 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

    Antworten
  3. Wie lautet der Programmcode wenn ich mit dem drücken des Tasters eine Fußgängerampel anschalten möchte?

    Antworten
    • Dazu musst du zwei weitere GPIOs für die Fußgängerampel definieren (Rot & Grün, Definition äquivalent). Du bräuchtest dann noch zwei Übergangsphase, in der beide Ampeln rot sind (bevor Autoampel grün wird und bevor die Fußgängerampel grün wird).

      Antworten
  4. Hallo,

    ich habe mit der Schaltung ein Phänomen dass ich nicht nachvollziehen kann:
    – in Grundstellung leuchtet Rot und Grün (etwas schwächer)
    – nach betätigen des Tasters leuchten alle drei
    – dann gehen alle aus (eigentlich die Grünphase)
    – Dann Grün und orange
    – dann wieder Rot und Grün (etwas schwächer)

    Irgendwas scheint mit dem grünen LED oder Ausgang nicht zu stimmen.
    Ich hab den Pi 3 und habe entsprechend die Pins belegt. Verdrahtung finde ich auch keinen Fehler.

    Jemand ne Idee?

    Antworten
  5. Hi, hab die Schaltung nachgebaut.
    Läuft so wie beschrieben.

    Aber wieso verbraucht das Scipt beim Ausführen kanppe 34% CPU Last?

    Antworten
  6. Moin zusammen , ich habe das ähnlich Phänomen dass das Script in „Wartephase“ ca. 30% CPU-Load hat. ich denke es liegt an der „Endlosschleife“, gibt es hier „Optimierungspotential“ ?

    Gruß
    Jan

    Antworten

Hinterlasse einen Kommentar

Deine Email Adresse wird nicht veröffentlicht.

Blog abonnieren

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