LED blinken lassen

Ein sehr einfaches Experiment, um mit Wiring Pi das erste Mal zu arbeiten ist es, ein LED blinken zu lassen. Alles was Du dazu brauchst ist:

  • Raspberry Pi (mit Grundausstattung)
  • Einige Jumperkabel
  • ggf. Breadboard, nicht unbeding nötig.
  • LED (bei amazon leicht und billig zu finden)

Und los gehts.

  1. Per SSH auf den Raspberry Pi gehen. Du musst eine Datei anlegen, daher bietet es sich an, ein extra Verzeichnis zu erstellen, in dem Du deine Scripte abspeicherst. Ich habe es WiringPi genannt („mkdir wiringpi“).
  2. Zum Stromkreis:
    schaltplan_ledSo sieht mein Schaltplan aus. Ich habe hier an den Raspberry Pi eine LED zwischen die 5 V und den GPIO 11 geschalten. Dieses kann ich dann mit einem WiringPi Befehl blinken, angehen oder ausgehen lassen. Natürlich kannst Du deine LED an jeden GPIO anschließen, Du musst dazu dann nur die Befehle anpassen.
    Achtung! Diese Zeichnung gibt nicht die GPIOs an, wie sie in WiringPi zu finden sind. Dort sind die Nummern anders gewählt! Diese findest du in dieser Grafik.
     

    Ich benutze in dieser Anleitung ein ganz normales LED (blau), dass ich blinken lassen werde. Natürlich kann der Stromkreis auch anders aussehen, wenn Du z.B. noch einen Schalter einbaust, ein weiteres LED oder etwas in der Art.

  3. Nun zum Script: Python Datei erstellen, z.B. mit „nano“

  4. Zuerst musst Du angeben, dass es auch mit Python ausgeführt werden soll.

  5. Danach muss die Library importiert werden

    Das „as wiringpi“ kann beliebig gewählt werden, z.B. „as wp“. Es gibt nur an, wie Du Deine Befehle, die die Library betreffen später ausführen willst. Ich importiere hier gleich noch den „Sleep“ Befehl aus der „time“ Library, um später das LED blinken zu lassen.

  6. Der nächste Punkt ist, die GPIOs, die Du benutzen willst „ready“, also betriebsbereit, zu machen. Dies geht mit dem Befehlen:

    GPIO-Nummer ist, denke ich, selbsterklärend. Auf meiner Linksammlung des Raspberry findest Du eine Grafik aller GPIOs.
    Der Typ ist entweder „0“, für lesen, oder „1“, für schreiben. D. h., mit dem Typ 1 kann ein Stromkreis geschlossen werden. Mit dem Typ 0 kann kontrolliert werden, ob ein Stromkreis geschlossen ist. Dazu später aber mehr.

  7. Nun können wir endlich loslegen. Der Befehl, um einen Stromkreis zu schließen lautet:

    Die „17“ gibt die GPIO Nummer an. Die „1“ den Modus.
    Achtung! WiringPi hat die GPIOs anders benannt als sie wirklich heisen! Wenn Du den 11ten GPIO benutzen willst, musst du in WiringPi die 17 angeben. Dies wird in dieser Grafik deutlich. Ich lege Dir nahe, diese auch zu benutzen, da Du Dich sonst nur mit Fehlern rumärgern musst.
    „1“ für „an“, „0“ für „aus“.
    Der Befehl um den Stromkreis wieder zu öffnen, lautet dementsprechend:

  8. Wenn wir jetzt alles in der Datei zusammenfassen kann es z.B. so aussehen:

    Dieses Skript kann nun ein LED angehen lassen. Vorrausgesetzt, dass LED ist richtig angeschlossen. (Siehe oben).
    Die nächste Frage, die dadurch entsteht, wie kann ich es wieder ausschalten.

  9. Damit wärst Du auch schon beim nächsten Schritt angekommen: LED ausschalten, bzw. anschalten. Dazu brauchst Du Dein bisheriges Skript nur minimal verändern.
    Achtung! Wegen so einer Kleinigkeit nicht ein extra Skript schreiben, das die LED wieder ausschaltet. Das geht alles in einem.
    Mit dem Befehel 

    kannst Du den Status der LED auslesen. Wenn der GPIO an ist, also die LED leuchtet, bekommst du mit diesem Befehl eine „1“ zurück.
    Nun musst Du in Python nur noch eine „if-else“ Schleife bauen und schon kannst Du mit Hilfe des Skripts das LED entweder aus oder einschalten.
    Die komplette Datei sollte nun so aussehen:

    Sobald du dieses Skript nun ausführst, wechselt das LED von „aus“ nach „an“ oder von „an“ nach „aus“.

  10. Die letzten Schritte gehen jetzt sehr einfach.
    Zuerst bauen wir eine „while“ Schleife in das Skript ein, damit das „AnAus“ wiederholt wird. 

  11. Da das Blinken aber für das menschliche Auge kaum, bis gar nicht sichtbar ist, brauchst Du jetzt den Sleep Befehl.

    Nun sollte das LED im Sekundenabstand aus und wieder an gehen.
    Der „sleep“ Befehl gibt an, wie viele Minuten, bzw. Sekunden das Skript pausieren soll. Hier können, wie Du siehst, auch Sekundenbruchteile angegeben werden, was natürlich ein schnelleres Blinken ergibt.

In einem weiteren Beitrag werde ich beschreiben, wie Du einen Schalterstand auslesen kannst, und mit diesem das Blinken aktivieren kannst.

Schreibe einen Kommentar

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