OrnaMatrix: Difference between revisions
ArneRossius (talk | contribs) No edit summary |
ArneRossius (talk | contribs) mNo edit summary |
||
Line 3: | Line 3: | ||
|Jahr=2006 | |Jahr=2006 | ||
|Pixel= 35 | |Pixel= 35 | ||
|Farben=2 | |||
|Leuchtmittel=LED-Punktmatrix-Anzeige | |||
|Leistung= | |Leistung= | ||
|Kontakt= [[User:ArneRossius|Arne Rossius]] | |Kontakt= [[User:ArneRossius|Arne Rossius]] |
Revision as of 15:41, 9 December 2007
zur Projektübersicht | |
Jahr | 2006 |
Anzahl Pixel | 35 |
Graustufen / Farben | 2 |
Leuchtmittel | LED-Punktmatrix-Anzeige |
Leistungsaufnahme | |
Kontaktperson | Arne Rossius |
Projekt-Website |
"OrnaMatrix" ist eine Art Weiterentwicklung von Ornament. In diesem Projekt wird eine 5x7-LED-Dot-Matrix-Anzeige verwendet, um eine Laufschrift im Querformat (5 Pixel Höhe, 7 Pixel Breite) anzuzeigen. Um den Platz auf der Anzeige möglichst effizient nutzen zu können, wird eine selbsterstellte Proportionalschriftart verwendet, die alle ASCII-Zeichen enthält. Auch hier gibt es keine Widerstände für die LEDs, um dem Prinzip der Einfachheit treu zu bleiben - leider führt das bei Matrix-Anzeigen jedoch zu Problemen, weil in den Zeilen unterschiedliche Ströme fliessen und deshalb LEDs in den Zeilen, in denen besonders viele Pixel eingeschaltet sind, dunkler leuchten. Um den Effekt etwas zu verringern, wurden für jede Zeile 2 parallelgeschaltete Ausgänge verwendet, womit dann auch keine Port-Pins mehr ungenutzt sind.
Aufbau
Der Text und die Geschwindigkeit kann mit einem einfachen RS232-Kabel ohne weitere Elektronik eingestellt werden, es werden einfach Masse und TxD mit dem AVR verbunden. Anders als beim Ornament sollte es hier keine Probleme mit unterschiedlichen Schnittstellen geben, da die LEDs komplett abgeschaltet werden, solange sich der Controller im Übertragungsmodus befindet. Einige Schnittstellen brauchen auch unbedingt ein Hardware-Handshaking, das kann man durch Verbindungen von Pins 1,4 und 6 sowie Pins 7 und 8 (jeweils beim 9-poligen Stecker) simulieren.
Den genauen Anzeigentyp kann ich leider nicht sagen, da ich die Anzeige mit 2 (beinahe) abgebrochenen Pins geschenkt bekommen habe. Auf der Seite steht "CSM-57211E" drauf.
Programmierung
Programmiert wird der Text, indem man vor dem Anschließen der Batterie die Verbindung mit dem PC herstellt. Geht die Laufschrift dann trotzdem los, sind vermutlich die Kontakte vertauscht. Anschließend können mit 1200 Baud (8 Datenbits, 1 Stoppbit) folgende Befehle gesendet werden:
- Text einstellen: <Text (max. 111 Zeichen)> <ENTER>
- Geschwindigkeit der Laufschrift einstellen (in 1/30-Sekunden): <ESC> S <3-stellige Zahl> <ENTER>
- Zur Laufschrift wechseln: <ESC> <ESC> <ENTER> oder <ESC> Q <ENTER> oder <CTRL-C>
(oder einfach die Verbindung zum PC trennen und kurz die Batterie herausnehmen) Für <ENTER> funktioniert sowohl <CR> als auch <LF> (notfalls auch beides, da ein leerer String ignoriert wird), alternativ kann <CTRL-D> verwendet werden. Anstelle der Großbuchstaben sind auch kleine Buchstaben möglich. Die dreistellige Zahl ist immer dreistellig einzugeben (also statt 10 dann 010) und muss im Bereich von 001 und 255 liegen (wird nicht überprüft!). Andere Befehle als die oben aufgezählten werden einfach ignoriert. Um nach einem Durchlauf eine kurze Pause zu erhalten, bevor der Text von vorne anfängt, können einfach mehrere Leerzeichen am Ende des Textes angefügt werden.
Schaltplan/Software
- Schaltplan (die Pin-Nummern der eingezeichneten Anzeige stimmen nicht mit denen der von mir verwendeten Riesen-Anzeige überein!)
- Schaltplan der Mini-Version mit Tiny24-Controller, der direkt hinter die Anzeige gelötet werden kann. Leider ist eine Zeile (am Reset-Pin) dunkler als die anderen.
- AVR-Firmware v0.8 (Assemblercode und Hexfile)
- AVR-Firmware v0.8.1 (für Tiny2313 und Tiny24) (Assemblercode und Hexfile) mit korrigiertem Zeichensatz
Fotos
Fotogalerie von diesem Projekt und Ornament.