Hallo zusammen!
Bevor sich das Jahr dem Ende neigt und wir alle in den Stress der Vorweihnachtszeit gelangen,
möchte ich noch schnell meine Entwicklung der Ansteuerung für die o.g. LED-Matrix hier einstellen.
User Roto hatte mich zum Sommer dabei schon um Hilfe gebeten und mir dann auch die Hardware zur Verfügung gestellt.
Durch ein Entgegenkommen von Roto habe ich die Ansteuerung hier ohne seine Zustimmung natürlich nicht veröffentlich!
Die Ansteuerung ist zwar nun schon seit Juli fertig, aber Roto hat sich bei mir leider nicht mehr gemeldet.
Aus dem Grunde veröffentliche ich jetzt einfach die Ansteuerroutinen mit ein paar kurzen Worten.
Es geht also um eine Rot-Grün-LED-Matrix mit 32x16 Duo-LEDs, von SURE electronics.
Die 32x16 werden durch 8 einzelne Duo-LED Matrixanzeigen realisiert,
bei der sich in zwei Zeilen jeweils vier Module nebeneinander befinden.
Je zwei Module werden über ein IC, dem HT1632C angesteuert.
Hier mal eine bildliche Übersicht der gesamten Anzeige:
von vorn...
von hinten...
Wie auf den Bildern zu erkennen ist, gibt es zu den vier HT1632C noch ein Schieberegister.
Dieses Schieberegister steuert die CS-Pins der vier HT1632C..... aber dazu später etwas mehr.
Im Datenblatt zur Anzeige steht zwar etwas von SPI-ähnlicher Ansteuerung, aber das würde ich so nicht bezeichnen.
Hier beginnen dann auch schon die Probleme....
Der HT1632C hat viele nette Eigenschaften, wie zum Beispiel SPI und Master/Slave Betrieb.
Leider werden diese Eigenschaften durch den SURE electronics Aufbau "vernichtet".
Ein Master/Slave-Betrieb ist nicht vorgesehen und auch die SPI-Ansteuerung wird "zerstückelt".
Mangels Master/Slave-Betrieb muss z.B. auf das Blinken der Anzeige verzichtet werden und durch die geänderte Datenübertragung ist der READ-Modus nicht mehr möglich.
Was wurde also getan....
SURE electronics hat einfach vier HT1632C datentechnisch parallel geschaltet, die CS-Leitung über ein (8bit !!) Schieberegister geführt und NUR die WRITE-Leitung kontaktiert.
Alles in Allem hat mich das relativ unzufrieden gemacht, aber darum geht es hier nur bedingt.
Um das Ganze aber etwas abzukürzen.....
Zwei Matrix-Anzeigen gehören immer zu einem HT1632C.
Jede Matrix-Anzeige hat zwei Farben, rot und grün.
Es werden also insgesamt 32x8 LEDs von einem HT1632C angesteurt!
Wem die genaue Aufteilung der LEDs mit den Speicheradressen des HT1632C interessiert, der besorgt sich bitte das Datenblatt.
Soweit so "gut".....
Nun kommt aber noch ein 8bit-Schieberegister hinzu, welches die CS-Leitung der vier HT1632C steuert.
Bei der Ansteuerung muss man also per Schieberegister ein oder mehrere HT1632C ansprechen und bedenken, dass es sich leider um ein 8bit-Schieberegister handelt.
Damit also die CS-Leitungen nach der Datenübertragung auch alle wieder deaktiviert werden, muss man Ende zuzüglich ein mehrmaliges "Leerschieben" berücksichtigen.
Das ist aber noch nicht alles....
Die Ansteuerung wäre ja nun schon nervig genug, wenn man nun mit den vier Matrix-Anzeigen nebeneinander auskommen würde.
Möchte man aber eine simple Uhr mit Stunden und Minuten darstellen, bekommt man schon ein Platzproblem.
Die einfache Uhrzeit-Anzeige von 12:34 benötigt durch die Doppelpunkte aber schon fünf Stellen!
Ergo muss die gesamte Matrix umgerechnet werden.
Ich habe dafür also extra eine eigene Datentabelle mit 6x8 Zeichen (incl. Leerspalte rechts) erstellt.
Auf diese Weise passen nun fünf Zeichen nebeneinander (5 x 6 = 30 Spalten) und es sind (leider) noch zwei Spalten frei.
Damit der Text (oder die Ziffern) nachher aber auch mittig angezeigt werden, wird immer die erste und die letzte Spalte frei gelassen!
Das ganze sieht dann so aus:
Zum besseren Verständnis habe ich auf dem Bild die 8x8 Matrixen extra noch mal farblich eingerahmt.
Später kann nun auch eine Uhr (und Daum) angezeigt werden:
Meine Ansteuerung ist dabei auch so geschrieben, dass man im Programm ruhig einen 10 Zeichen String eingeben kann.
Die Ansteuerroutinen berücksichtigen dann den Zeilenumbruch nach dem Fünften Zeichen zzgl. der Leerspalten, um die Anzeige mittig zu halten.
Soweit also erst mal alles im Groben zur 32x16 Bi-Color Anzeige.
Ansteuerungen, Beispielprogramm und besondere Anmerkungen folgen dann in den nächsten Beiträgen.
Grüße,
Cassio
Bevor sich das Jahr dem Ende neigt und wir alle in den Stress der Vorweihnachtszeit gelangen,
möchte ich noch schnell meine Entwicklung der Ansteuerung für die o.g. LED-Matrix hier einstellen.
User Roto hatte mich zum Sommer dabei schon um Hilfe gebeten und mir dann auch die Hardware zur Verfügung gestellt.
Durch ein Entgegenkommen von Roto habe ich die Ansteuerung hier ohne seine Zustimmung natürlich nicht veröffentlich!
Die Ansteuerung ist zwar nun schon seit Juli fertig, aber Roto hat sich bei mir leider nicht mehr gemeldet.
Aus dem Grunde veröffentliche ich jetzt einfach die Ansteuerroutinen mit ein paar kurzen Worten.
Es geht also um eine Rot-Grün-LED-Matrix mit 32x16 Duo-LEDs, von SURE electronics.
Die 32x16 werden durch 8 einzelne Duo-LED Matrixanzeigen realisiert,
bei der sich in zwei Zeilen jeweils vier Module nebeneinander befinden.
Je zwei Module werden über ein IC, dem HT1632C angesteuert.
Hier mal eine bildliche Übersicht der gesamten Anzeige:
von vorn...
von hinten...
Wie auf den Bildern zu erkennen ist, gibt es zu den vier HT1632C noch ein Schieberegister.
Dieses Schieberegister steuert die CS-Pins der vier HT1632C..... aber dazu später etwas mehr.
Im Datenblatt zur Anzeige steht zwar etwas von SPI-ähnlicher Ansteuerung, aber das würde ich so nicht bezeichnen.
Hier beginnen dann auch schon die Probleme....
Der HT1632C hat viele nette Eigenschaften, wie zum Beispiel SPI und Master/Slave Betrieb.
Leider werden diese Eigenschaften durch den SURE electronics Aufbau "vernichtet".
Ein Master/Slave-Betrieb ist nicht vorgesehen und auch die SPI-Ansteuerung wird "zerstückelt".
Mangels Master/Slave-Betrieb muss z.B. auf das Blinken der Anzeige verzichtet werden und durch die geänderte Datenübertragung ist der READ-Modus nicht mehr möglich.
Was wurde also getan....
SURE electronics hat einfach vier HT1632C datentechnisch parallel geschaltet, die CS-Leitung über ein (8bit !!) Schieberegister geführt und NUR die WRITE-Leitung kontaktiert.
Alles in Allem hat mich das relativ unzufrieden gemacht, aber darum geht es hier nur bedingt.
Um das Ganze aber etwas abzukürzen.....
Zwei Matrix-Anzeigen gehören immer zu einem HT1632C.
Jede Matrix-Anzeige hat zwei Farben, rot und grün.
Es werden also insgesamt 32x8 LEDs von einem HT1632C angesteurt!
Wem die genaue Aufteilung der LEDs mit den Speicheradressen des HT1632C interessiert, der besorgt sich bitte das Datenblatt.
Soweit so "gut".....
Nun kommt aber noch ein 8bit-Schieberegister hinzu, welches die CS-Leitung der vier HT1632C steuert.
Bei der Ansteuerung muss man also per Schieberegister ein oder mehrere HT1632C ansprechen und bedenken, dass es sich leider um ein 8bit-Schieberegister handelt.
Damit also die CS-Leitungen nach der Datenübertragung auch alle wieder deaktiviert werden, muss man Ende zuzüglich ein mehrmaliges "Leerschieben" berücksichtigen.
Das ist aber noch nicht alles....
Die Ansteuerung wäre ja nun schon nervig genug, wenn man nun mit den vier Matrix-Anzeigen nebeneinander auskommen würde.
Möchte man aber eine simple Uhr mit Stunden und Minuten darstellen, bekommt man schon ein Platzproblem.
Die einfache Uhrzeit-Anzeige von 12:34 benötigt durch die Doppelpunkte aber schon fünf Stellen!
Ergo muss die gesamte Matrix umgerechnet werden.
Ich habe dafür also extra eine eigene Datentabelle mit 6x8 Zeichen (incl. Leerspalte rechts) erstellt.
Auf diese Weise passen nun fünf Zeichen nebeneinander (5 x 6 = 30 Spalten) und es sind (leider) noch zwei Spalten frei.
Damit der Text (oder die Ziffern) nachher aber auch mittig angezeigt werden, wird immer die erste und die letzte Spalte frei gelassen!
Das ganze sieht dann so aus:
Zum besseren Verständnis habe ich auf dem Bild die 8x8 Matrixen extra noch mal farblich eingerahmt.
Später kann nun auch eine Uhr (und Daum) angezeigt werden:
Meine Ansteuerung ist dabei auch so geschrieben, dass man im Programm ruhig einen 10 Zeichen String eingeben kann.
Die Ansteuerroutinen berücksichtigen dann den Zeilenumbruch nach dem Fünften Zeichen zzgl. der Leerspalten, um die Anzeige mittig zu halten.
Soweit also erst mal alles im Groben zur 32x16 Bi-Color Anzeige.
Ansteuerungen, Beispielprogramm und besondere Anmerkungen folgen dann in den nächsten Beiträgen.
Grüße,
Cassio