Mit einem Arduino Board lassen sich nicht nur kleine LED Panel im Format 8x8 ansteuern, sondern auch größere wie das im Folgenden vorgestellt 32x32 RGB LED Panel.
Das hier vorgestellte 32x32 RGB LED Panel wird von SparkFun vertrieben. Ähnliche Panels gibt es jedoch auch von Adafruit und anderen Anbietern. Wie bereits geschrieben besteht das Panel aus 32x32 (=1024) RGB LEDs. Ursprünglich kommen sie in Anzeige-/Werbetafeln zum Einsatz. Von diesen Einsatzgebieten stammt auch die Möglichkeit mehrere Matrizen über ein entsprechendes Kabel zu verbinden. Für den Betrieb von mehreren Displays in Reihe ist jedoch ein normales Arduino Board zu langsam. In diesem Fall würde sich ein Board mit einem FPGA anbieten.
Für die 32x32 Matrix ist jedoch ein Arduino Uno oder ein vergleichbares Board ausreichend. Es sollte jedoch darauf geachtet werden, dass der Arduino mit 16 MHz betrieben wird.
Anschluss
Im Lieferumfang ist ein Kabel für den Stromanschluss und zwei Datenkabel in Form von Flachbandkabeln enthalten.
Folgende Tabelle zeigt, wie die Pins des Panel mit den Anschlüssen eines Arduino Uno für die Verwendung mit der Adafruit RGBmatrixPanel Bibliothek verbunden werden müssen. Die ursprüngliche Beschaltung stammt aus der Beschreibung von SparkFun, wurde jedoch so angepasst, dass die Beschaltung ohne Anpassungen mit der RGBmatrixPanel Bibliothek zusammenarbeitet. Dazu wurde der Pin CLK nicht wie vorgeschlagen an Pin 11 des Arduino Uno sondern an Pin 8 angeschlossen.
Name(Matrix) | Pin(Matrix) | Pin(Arduino) | Verwendung |
---|---|---|---|
R0 | 1 | 2 | Daten rot (Spalte 1-16) |
G0 | 2 | 3 | Daten grün (Spalte 1-16) |
B0 | 3 | 4 | Daten blau (Spalte 1-16) |
GND | 4 | GND | Masse |
R1 | 5 | 5 | Daten rot (Spalte 17-32) |
G1 | 6 | 6 | Daten grün (Spalte 17-32) |
B1 | 7 | 7 | Daten blau (Spalte 17-32) |
GND | 8 | GND | Masse |
A | 9 | A0 | Demux Eingang A0 |
B | 10 | A1 | Demux Eingang A1 |
C | 11 | A2 | Demux Eingang A2 |
D | 12 | A3 | Demux Eingang E1, E3 (Nur 32x32 Matrix) |
CLK | 13 | 8 | Tackt LED Treiber |
STB | 14 | 10 | Latch LED Treiber |
OE | 15 | 9 | Aktiv LED Treiber |
GND | 16 | GND | Masse |
Programmierung
Wie bereits weiter oben erwähnt, steht bereits eine Bibliothek für die Ansteuerung der Matrix bereit. Diese wurde von den Mitarbeitern von Adafruit entwickelt und kann auch mit diesem Panel verwendet werden. Die aktuelle Version der Bibliothek ist über die GitHub Seite verfügbar. Im Folgenden ist die Installation unter Linux kurz dargestellt, für ausführlichere Informationen zur Installation einer Bibliothek stehen weitere Informationen im Arduino Wiki bereit.
$ cd /tmp
$ wget https://github.com/adafruit/RGB-matrix-Panel/archive/master.zip
$ unzip master.zip
$ mv RGB-matrix-Panel-master ~/Arduino/libraries/RGBmatrixPanel
Für einen ersten Test und einen schnellen Einstieg dienen die in der Bibliothek enthaltenen Beispiel.
Problem
Leider wurde das Panel mit einem kleinen jedoch sehr kritischen Fehler geliefert. Das Panel wird über einen 4 poligen Stecker mit Strom versorgt. Dabei sind normalerweise zwei Pins für GND und zwei für VCC vorgesehen. Bei dem gelieferten Exemplar ist der Stecker jedoch so befestigt, dass ein VCC Pin an GND auf dem Board angeschlossen ist. Durch diesen Fehler kommt es bei der Verwendung des mitgelieferten Stromkabels zu einem Kurzschluss. Es ist jedoch möglich das Panel unter Berücksichtigung dieser Tatsache mit einem selbst gebauten Kabel zu betreiben. Auf dem folgenden Bild ist der Fehler hervorgehoben. Vor dem Anschluss der Stromversorgung sollte geprüft werden, ob der Anschluss richtig befestigt ist.
Auf dem nächsten Bild ist zusehen, wie die Pins richtig sein sollten.
Links
- Webseite: Arduino (englisch)
- Webseite: Adafruit (englisch)
- Webseite: SparkFun (englisch)
- Webseite: Anschluss des Panel an Arduino Board (englisch)