Im ersten Beitrag zur LED Matrix haben wir euch gezeigt, wie ein 8×8 RG LED Matrix Display direkt vom Arduino angesteuert werden kann. Aufgrund der beschränkten PIN Anzahl des Arduino – 13 digital & 5 analog – konnten wir entweder die roten oder die grünen LED mittels Steckverbinder ansprechen. In diesem Beitrag zeigen wir euch, wie Ihr mit einem Schieberegister anstelle von acht Arduino Pin nur drei benötigt.

LED Matrix mit Schieberegister

Ziele für dieses Tutorial:

  • Verstehen wie ein Schieberegister funktioniert
  • Schieberegister in euren Schaltkreis einbauen
  • Schieberegister mit einen Arduino Uno ansprechen

Wie funktioniert ein Schieberegister (Stiftregister)?

Ein Schieberegister ist ein integrierter Schalkreis ( integrated cirquite oder auch IC abgekürzt) welcher Zustände zunächst aufnehmen und speichern kann. Auf Signal werden die gespeicherten Zustände an den 8 Ausgänge aktiviert. So erhaltet ihr mit nur drei Ausgänge von eurem Arduino 8, 16, 24 oder mehr Ausgänge.

Ihr könnt euch das Befüllen  eines Schieberegisters wie ein Vorgang an einem Güterbahnhof vorstellen. Ein Zug mit 8 Wagons hält zum Verladen mit dem ersten Wagon an dem Kran. Dieser befüllt den Wagen. Auf ein Signal vom Kranführer fährt der Zug ein Stück nach vorne und der nächste Wagen kann beladen werden. Dies wird so lange wiederholt, bis alle Wagen gefüllt wurden. Gibt der Bahnhofsvorsteher das Zeichen, verlässt der Zug mit allen 8 Wagons den Güterbahnhof.

Dabei ist der Zug das Schieberegister, der Kran der Daten PIN (DC PIN), der Kranführer der Clock PIN (SHCP – SHift Clock Pin) und der Bahnhofsvorsteher der Store PIN (STCP – SHift Clock Pin). Die Signale werden durch einen Wechsel von LOW auf HIGH gegeben.

Sind auch die acht Ausgänge nicht ausreichend, so ist es möglich mehrere Wagons (Schieberegister) hintereinander zu schalten. So könnt Ihr euren Arduino um 16, 24 oder noch mehr Ausgänge erweitern.

Dies wird durch die beiden Funktionsweisen „serieller Eingang und paralleler Ausgang“ oder „serieller Eingang und serieller Ausgang“ ermöglicht. Die erste Funktion  beschreibt den Zug, welcher direkt mit allen Wagons den Bahnhof verlässt. Im zweiten Fall würden die Wagons direkt nach dem füllen jeweils mit einer eigenen Lok weiterfahren.

Da in einem Schieberegister natürlich keine Züge fahren, funktioniert es genau genommen mit zwei Registern. Einmal das Register, in das der Zustand der einzelnen Ausgangspins seriell, also Bit für Bit, geschoben wird. Und dann das Ausgangsregister, in welches der Zustand des Schieberegisters auf ein Signal vom Arduino hin kopiert wird. Erst dann wird der Zustand der ins Schieberegister geschickten Daten an den Ausgangspins sichtbar.

Folgendes wird benötigt:

  • Arduino Uno inkl. USB Kabel
  • 2 x Breadboard (das Matrix-Element ist sehr breit)
  • 40 x Steckverbindungen
  • 8 x 220 Ohm Widerstände
  • 8×8 LED Matrix (ich haben eine 1588ABEG-5 verwendet)
  • Schieberegister (74HC595) – wir haben ein 595N in diesem Beispiel

Hast du noch einen Arduino oder sollten dir Teile fehlen, empfehlen wir euch das Arduino Starter Kit (Link zum Händler).

Aufbau mit Schieberegister

Für den Aufbau verbindet Ihr eure LED Matrix Spalten zunächst mit den Arduino PIN 2 bis 9. Also Arduino PIN 2 auf LED PIN 1 usw. bis Arduino PIN 5. Dann müsst Ihr beachten, dass die Belegung der LED Matrix auf der anderen Seite mit PIN 20 bis 24 fortgesetzt wird. Weitere Details findet Ihr im ersten Beitrag dieser Serie. Also Arduino PIN 6 auf LED PIN20 usw. Vergesst dabei die 220 Ohm Widerstände (siehe Steckplan) nicht. Das Schieberegister wird wie in folgenden Bild dargestellt angeschlossen.

Bildschirmfoto 2015-01-28 um 12.58.30

Bei Q0 bis Q7 handelt sich um die Parallelen Ausgangs PIN. Q7S ist eine Besonderheit für den seriellen Ausgang, welche wir in diesem Tutorial nicht betrachten. 5Volt werden an VCC (Pin 16) und MR (Pin 11) angeschlossen. Die Erdung wird an GND (Pin 8) und OE (Pin13) angeschlossen. Zuletzt werden DS (Pin 14) für den Datenaustausch (Arduino Pin 12), STCP zum speichern (Arduino Pin 13) und SHCP zum Schieben (Arduino Pin 11) direkt verbunden. Um ein flackern des LED Cluster beim Speichern zu verhindern (STCP schaltet auf HIGH), solltet Ihr noch einen 0.1 Mikrofarad Kondensator zwischen Pin 12 und Erdung einbauen.

Hier das fertige Schaltbild:

Tutorial_8x8RGLED+SHIFT
Aufbau für die Ansprache der 8×8 RG LED Matrix mit Schieberegister

 

Arduino Sketch

Der fertige Arduino Sketch is recht übersichtlich und wir haben die einzelnen Schritte im Code dokumentiert. Ihr könnt die einzelnen Reihen über den Array „data“ ansteuern. Ihr braucht nur die Nullen und Einsen zusetzen. Im nächsten Teil werden wir diesen Code mit dem Code aus dem ersten Beispiel „verheiraten“ und so eine zweifarbige Leuchtschrift ermöglichen.

 

LED Matrix mit Schieberegister Fazit:

Mit einem Schieberegister könnt Ihr eure Möglichkeiten mit einem Arduino wesentlich erweitern. Habt Ihr das Prinzip erst einmal verstanden, lässt es sich leicht in eure Projekte integrieren. Solltet Ihr weitere Informationen benötigen, könnt Ihr hier die Datenblätter finden.

Wenn euch das Tutorial zur LED Matrix Schaltung gefallen hat, liked uns auf Facebook oder leitet den Post über Twitter weiter.

8×8 RG LED Matrix (2/3) – Erweiterung mit Schieberegister
Markiert in:        

Ein Gedanke zu „8×8 RG LED Matrix (2/3) – Erweiterung mit Schieberegister

Schreibe einen Kommentar

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