Startseite>Einen Kubus aus 125 LEDs mit dem RasPi steuern
Aus Raspberry Pi Geek 04/2018

Einen Kubus aus 125 LEDs mit dem RasPi steuern

© Sergey Mironov, 123RF

Würfelspiele

Martin Mohr

Über die GPIO eine LED aufleuchten zu lassen gehört zu den ersten Schritten jedes RasPi-Bastlers. Ein animiertes Gesamtkunstwerk aus 125 Dioden zu verdrahten und anzusteuern erfordert neben Lötkunst auch ausgeklügelten Echtzeit-Maschinencode.

Was dem Programmier sein “Hallo, Welt!”, das ist dem RasPi-Geek die via GPIO angesteuerte LED. Selbst ein zweidimensionales LED-Array stellt einen erfahrenen Bastler vor keinerlei Probleme. Als logische Konsequenz geht es daher in die dritte Dimension: In diesem Artikel bringen wir einen Würfel aus über hundert LEDs zum Leuchten (Abbildung 1).

Einen solchen LED-Kubus zu bauen stellt keine ganz einfache Aufgabe dar. Unser Würfel besteht aus 5 mal 5 mal 5 LEDs – es gilt also, 125 LEDs akkurat zu verdrahten und anschließend zu verlöten. Das sollte Sie jedoch nicht abschrecken, denn nicht jeder kann einen selbst gebauten LED-Kubus sein Eigen nennen. Nach fester Überzeugung des Autors gehört ein solcher LED-Quader in jeden echten Geek-Haushalt.

Abbildung 1: Der LED-Kubus in Aktion – die Animation lässt sich leider nicht im Bild einfangen.

Abbildung 1: Der LED-Kubus in Aktion – die Animation lässt sich leider nicht im Bild einfangen.

Der Kubus

Der komplette Aufbau besteht aus zwei Platinen: eine für den eigentlichen Kubus mit den LEDs, eine zweite für die Elektronik zur Ansteuerung. Um nicht das Rad neu erfinden zu müssen, verwenden wir den LED-Kubus von Qube Solutions [1] als Basis. Das Open-Source-Projekt steht unter der Creative-Commons-Lizenz, von daher dürfen wir Teile davon in eigenen Projekten verwenden.

Unser LED-Kubus ist fast baugleich mit jenem von Qube Solutions. Die Ansteuerungsplatine erforderte allerdings eine Reihe von Änderungen, um mit dem Raspberry Pi als Controller zusammenzuarbeiten. Abbildung 2 zeigt beide Platinen nebeneinander. Später fügen Sie den LED-Würfel und die Controller-Platine zu einem “Gerät” zusammen.

Abbildung 2: Die zwei Platinen des LED-Kubus: links die Leuchten, rechts das Controller-Board.

Abbildung 2: Die zwei Platinen des LED-Kubus: links die Leuchten, rechts das Controller-Board.

Den Zusammenbau des LED-Kubus beschreibt die Bauanleitung von Qube Solutions [2] auf knapp 40 Seiten so gut, dass sich dem wenig hinzufügen lässt. Sie sollten sich daher an diese Anleitung halten. Für den Kubus kommt eine einfache Lochraster-Europlatine zum Einsatz, die Sie auf das passende Maß kürzen (10 x 10 cm). Den Schaltplan der für die Ansteuerung der LEDs verwendeten Schaltung zeigt Abbildung 3.

Abbildung 3: Der Schaltplan der für die Ansteuerung der LEDs verwendeten Controller-Boards.

Abbildung 3: Der Schaltplan der für die Ansteuerung der LEDs verwendeten Controller-Boards.

Das Eagle-Projekt der Schaltung finden Sie auf der Heft-DVD. Der Vollständigkeit halber stellt Abbildung 4 den Schaltplan zum Kubus dar. Eine Aufstellung mit allen für den Aufbau benötigten Teilen zeigt die Tabelle “Bauteilliste”. Die einzelnen Komponenten erhalten Sie online wie offline in gängigen Elektronikgeschäften. Möchten Sie hingegen ein paar Euro sparen und spielt die Lieferzeit keine Rolle, dann bestellen Sie die Teile über Versender wie Aliexpress in Fernost.

Abbildung 4: Diesem Plan entsprechend gilt es, die 125 LEDs des Projekts zu verdrahten.

Abbildung 4: Diesem Plan entsprechend gilt es, die 125 LEDs des Projekts zu verdrahten.

Bauteilliste

Anzahl

Bauteil

125

LED

5

Flipflop 74HC574N

25

Widerstand 75 Ohm

5

Widerstand 10 kOhm

5

MOSFET IFRZ44N

1

Anschluss GPIO, Pfosten

1

Anschluss, 30 LEDs, Pfosten

1

Anschluss, 30 LEDs, Stecker

1

Spannungsregler LD1117v33 (3,3 Volt)

1

Kühlkörper für LD1117v33

1

Kerko 0,1 µF

1

Elko 10 µF

2

Europlatine-Punktraster (auf 10 x 10 cm gekürzt)

1

Anschluss, externe Spannungsversorgung

Funktionsweise der Ansteuerung

Die Ansteuerung von 125 LEDs erweist sich als knifflige Angelegenheit. Wollte man jede Diode einzeln ansteuern, müsste der Raspberry über 125 GPIO-Pins verfügen; außerdem bräuchte man eine einzelne Steuerleitung zu jeder LED. Das würde nicht nur eine Menge Arbeit machen, sondern auch bescheiden aussehen. Es braucht daher einen tiefen Griff in die Trickkiste, um die LEDs eleganter und mit weniger Aufwand anzusteuern.

Das Schalten der in Ebenen organisierten LEDs erfolgt über 74HC574-Flipflops als eine Art Zwischenspeicher. Ein 74HC574 hält dabei die Informationen für eine Reihe von LEDs. Wir beladen ihn der Reihe nach mit den Werten für je fünf LEDs. Der Schaltungsaufbau auf der Eingangsseite der 74HC574-Bausteine entspricht einem kleinen Bussystem. Die Clock-Leitungen der einzelnen ICs legen fest, welcher der Zwischenspeicher beladen wird. Nach dem Beladen aller 74HC574N mit Werten aktiviert das System über deren OE-Eingang alle ICs gleichzeitig .

Damit die LEDs aufleuchten, müssen Sie zudem mit einem der IFRZ44N-Leistungstransistoren die entsprechende Ebene aktivieren. Dies geschieht, indem der Transistor die Kathoden der Dioden auf Masse schaltet. Dieser Aufbau macht es möglich, jede LED einzeln anzusteuern. Möchte man nun allerdings gleichzeitig LEDs schalten, die in unterschiedlichen Ebenen und nicht untereinander liegen, bekommt man ein Problem: Ohne Weiteres funktioniert dies mit dem Aufbau nicht.

Das Unmögliche doch möglich zu machen erfordert einen weiteren Griff in die Trickkiste: Zum Einsatz kommt ein Verfahren, das sich Multiplexing nennt. Im Prinzip beladen und schalten wir dabei die einzelnen Ebenen unseres Kubus so schnell neu, dass es für das bloße Auge aussieht, als würden die LEDs konstant leuchten. Ab einer Frequenz von 50 Hz nimmt das Auge das schnelle Durchschalten der Ebenen nicht mehr wahr.

Daher verwenden wir auch die Programmiersprache Go, um den Kubus anzusteuern: Go erzeugt Maschinencode, der schnell genug läuft, um diese Illusion für unsere Augen zu erzeugen. Sollte der Kubus trotzdem etwas flackern, liegt das daran, dass das Betriebssystem des Raspberry Pi dem Programm unterschiedlich viel CPU-Zeit zuteilt. Dadurch gerät das Multiplexing etwas aus dem Takt.

Auf der Platine befindet sich ein zusätzlicher Spannungsregler LD1117v33, der die Zwischenspeicher und damit die LEDs mit 3,3 Volt versorgt. Daran führt kein Weg vorbei, denn die 125 LEDs benötigen, so sie denn alle gleichzeitig leuchten, viel mehr Strom, als die GPIO des RasPi liefert. Ein Kühlkörper schützt dabei den Spannungsregler vor Überhitzung.

Achtung: Sie dürfen die Betriebsspannung (3,3-Volt-Anschlüsse) des Raspberry Pi und der LEDs keinesfalls zusammenschließen; die Massenleitungen hingegen müssen Sie miteinander verbinden. Als externe Spannungsquelle eignet sich zum Beispiel ein stabilisiertes Steckernetzteil mit einer Ausgangsspannung von 5 bis 12 Volt.

In Tabelle “GPIO-Belegung” finden Sie noch einmal eine Übersicht, welche Komponente der Schaltung an welchem GPIO-Pin des Raspberry Pi hängt. Sie benötigen diese Informationen sowohl beim Löten der Platine als auch später beim Programmieren. Die Platinen selbst verdrahten Sie in Fädeltechnik (siehe Kasten “Fädeltechnik”). Je nachdem, wie akkurat Sie fädeln, kann das Verlöten viele Stunden in Anspruch nehmen. Sicherheitshalber sollten Sie daher alle Verbindungen durchmessen, bevor Sie den Aufbau in Betrieb nehmen: Bei einem solchem Aufbau schleicht sich schnell ein Fehler ein, der das Gesamtkunstwerk dann lahmlegt.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 8 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland