Einen Kubus aus 125 LEDs mit dem RasPi steuern

© Sergey Mironov, 123RF

Würfelspiele

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

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.

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.

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.

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.

GPIO-Belegung

GPIO

Schaltung

0

D1 an allen 74HC574

1

D2 an allen 74HC574

2

D3 an allen 74HC574

3

D4 an allen 74HC574

4

D5 an allen 74HC574

5

Transistor GND1

6

Transistor GND2

7

Transistor GND3

8

Transistor GND4

9

Transistor GND5

10

Output Enable OE

11

Clock 74HC574 #1

12

Clock 74HC574 #2

13

Clock 74HC574 #3

14

Clock 74HC574 #4

15

Clock 74HC574 #5

Kasten Fädeltechnik

Bei der Fädeltechnik handelt es sich um ein Verfahren, mit dem man Prototypen elektronischer Schaltungen auf Lochrasterplatinen erstellen kann. Die Basis dafür bilden mit einem speziellen Lack ummantelte Kupferdrähte, die Fäden. Der Lack verbrennt, sobald er mit heißem Lot in Berührung kommt; nach Abkühlen der Lötstelle bildet sich eine leitende Verbindung zwischen Lot und Kupferdraht.

So weit die Theorie – in der Praxis passiert es allerdings oft, dass der Lack nicht so schnell schmilzt, wie man es gerne hätte. In diesem Fall entstehen elektrisch nicht leitende Verbindungen. Folgende Tipps helfen Ihnen das zu verhindern:

  • Verzinnen Sie die Drahtenden vor dem eigentlichen Verlöten. Das hilft generell beim Arbeiten mit dieser Technik.
  • Drehen Sie die Temperatur des Lötkolbens hoch. Bei höherer Temperatur verbrennt der Lack schneller, allerdings erhitzen sich dabei das Zinn und alle Bauteile ebenfalls stärker. Bei thermisch empfindlichen Halbleitern sollten Sie dies daher vermeiden. Auch IC-Sockel verformen sich, sobald sie zu heiß werden. Das führt später beim Einstecken der Chips zu Problemen. Auch bei zu hoch erhitztem Lötzinn besteht die Gefahr, dass es sich verändert und instabile Lötstellen entstehen.
  • Verlängern Sie alternativ die Lötdauer. Das hat allerdings ähnliche Nebenwirkungen wie das Löten bei hoher Temperatur. Zudem kann langes Heizen dazu führen, dass sich die Kupferpunkte von der Platine lösen.

Um ein Gefühl zu bekommen, wann der Lack schmilzt und die Verbindung gelingt, sollten Sie generell das Verlöten der Fäden ein wenig üben. Messen Sie auf jeden Fall nach dem Löten alle Verbindungen durch. Damit kontrollieren Sie, ob alle Lötstellen in Ordnung sind und der Strom wie gewünscht fließt.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 8 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

10/2019
Raspberry Pi 4B

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Sonnige Zeiten

    UV-Strahlung ist für das menschliche Auge unsichtbar, was sie umso gefährlicher macht. Die Höhe der tatsächlichen Belastung verrät Ihnen das Selbstbauprojekt UV-Sensor.

  • Gut verpackt

    Für das Ansteuern kleiner Displays gibt es keine Programme von der Stange. Mit Python und einer Pygame-Bibliothek erstellen Sie trotzdem im Handumdrehen Anwendungen.

  • Macro-Mini-Micro-Bit

    Was dem Raspberry Pi für die Computerwelt gelungen ist, versucht der BBC Micro:bit für Mikrocontroller zu wiederholen. Das für Schüler entwickelte Kit hilft beim Einstieg in die hardwarenahe Programmierung.

  • Vorhang auf

    Mit dem modernen Video-Codec HEVC (H.265) erstellte Filme spielen bisherige RasPi-Modelle oft nur ruckelnd ab. Wir testen, ob der neue Raspberry Pi 4B das besser kann.

  • Überraschung!

    Eine optimierte Architektur und mehr RAM beschleunigen den RasPi 4B deutlich. Wir prüfen, wie gut sich der Neuling als Desktop-Rechner schlägt.

  • Durchgestartet

    Ein Stresstest zeigt, wie sich der neue Raspberry Pi 4 Modell B gegenüber den älteren Modellen abhebt.

  • Vierte Generation

    Eine schnellere CPU, USB 3.0 und Gigabit-Ethernet sind nur die Highlights des Raspberry Pi 4B: Das Board bringt viele weitere Neuerungen mit.

  • Tiefenmesser

    Um die Pumpe in einem Brunnenschacht möglichst genau zu positionieren, brauchen Sie dessen Tiefe. Die ermitteln Sie mithilfe eines präzisen Messgeräts aus einem Luftdrucksensor und einem Mikrocontroller.

  • Faktencheck

    Das via DVB-T2 ausgestrahlte Digital-TV liefert Bilder in HD-Qualität. Der dabei eingesetzte H.265-Standard überfordert allerdings kleine Mini-Rechner wie den Raspberry Pi – oder geht es doch?

  • Zugriff von außen

    React Native erlaubt es, Apps mit wenigen Zeilen Code zu programmieren. Mit einem entsprechenden Server sprechen Sie so den RasPi vom Smartphone aus an.