So wird aus einem Lego-Raumschiff eine Uhr mit LEDs

Seite 2: Wie verbinde ich die LEDs mit dem Raspberry Pi?

Inhaltsverzeichnis

Zur Ansteuerung der LEDs müssen diese mit dem Pi verbunden werden. Am einfachsten geht dies mit dem Raspberry Pi Zero W, der statt aufgelöteter Pins 40 Löcher in der Platine besitzt, an die Kabel ganz einfach angelötet werden können. Außerdem unterstützt er WLAN, sodass sich die Uhr über das Internet aktualisieren lässt. Eine eingebaute Uhr haben Raspberry Pis dagegen nicht. Nach jedem Neustart vergessen sie, wie spät es ist.

Jede LED muss an einen GPIO-Pin (im Bild blau) und einen Ground-Pin (im Bild schwarz) angeschlossen werden. Ich habe die folgenden Pins verwendet:

  • 3-LED-Stein für die Innenbeleuchtung: GPIO 21
  • rote LED auf dem linken Flügel: GPIO 16
  • grüne LED auf der linken Seite: GPIO 12
  • rote LED auf dem rechten Flügel: GPIO 25
  • grüne LED auf der rechten Seite: GPIO 4

Um herauszufinden, welches der beiden Kabel zum Plus- und welches zum Minus-Pol der LED führt, isoliert man ein Stück der Ummantelung ab und hält die Enden an die beiden Pole einer Knopfzellen-Batterie. Leuchtet die LED, merkt man sich, welches Kabel an den Plus- und welches an den Minuspol gehalten wurde. Leuchtet sie nicht, wechselt man die beiden Kabel – keine Angst, die LED wird dabei nicht beschädigt.

Nun können die Kabel passend gekürzt und an den Raspberry Pi angelötet werden, indem man das Kabel durch das entsprechende Loch des GPIO-Pins führt, die Stelle anschließend mit dem Lötkolben erhitzt und das Kabel mit dem Lötzinn dauerhaft befestigt. Überschüssige Enden sollten mit dem Seitenschneider abgeschnitten werden, damit kein ungewollter Kontakt zwischen den Pins entsteht.

Nun wird alles in das LEGO-Set eingefügt, wobei darauf geachtet werden muss, Platz für den Anschluss des Kabels zur Stromversorgung zu lassen.

LED-Steine im Lego-Raumschiff (3 Bilder)

Wie kann ich feststellen, ob ich bis hierhin alles richtig gemacht habe?

Dazu schließen wir den Raspberry Pi an einen Monitor an und verbinden ihn mit Maus und Tastatur. Ist auf der SD-Karte schon das Betriebssystem Raspbian installiert, kann der Rechner gebootet werden. Ansonsten hilft unsere Anleitung bei der Installation von Raspbian weiter. Wenn der Desktop erscheint, öffnen wir ein Terminal-Fenster und starten die Programmiersprache Python mit dem Befehl: python

Nun sollte >>> auf dem Monitor zu sehen sein. Zum Testen der LEDs können (jeweils ohne die frei vorangestellten Größer-als-Zeichen) folgende Befehle eingetippt werden:

>>> from gpiozero import LED
>>> a = LED(21)
>>> a.on()
>>> a.off()

Der Befehl a.on() schaltet die LED, die an den GPIO-Port 21 angeschlossen ist, ein, a.off() schaltet sie wieder aus. Die anderen LEDs lassen sich nach dem gleichen Prinzip testen. Soll zum Beispiel die LED an Pin 16 getestet werden, gibt man Folgendes ein:

>>> a = LED(16)
>>> a.on()
>>> a.off()

Die Bibliothek gpiozero ermöglicht es zudem, eine LED beim Einschalten erst nach und nach heller werden zu lassen. Dieses Pulse-Feature lässt sich mit folgendem Code aktivieren:

>>> from gpiozero import PWMLED
>>> a = PWMLED(16)
>>> a.pulse()
>>> a.off()

Nun haben wir sämtliche Hardware für unser Projekt beisammen und funktionsbereit und wir können uns um die Programmierung der Uhr kümmern.