OrnaMatrix: Difference between revisions
(New page: __NOEDITSECTION__ ''zurück zur Übersicht'' "OrnaMatrix" ist eine Art Weiterentwicklung von Ornament. In diesem Projekt wird eine 5x7-LED-Dot-Matrix-Anzeige verwendet, u...) |
ArneRossius (talk | contribs) No edit summary |
||
(22 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
{{Infobox | |||
|Name=OrnaMatrix | |||
|Bild=ornamatrix7_mini.jpg | |||
|Jahr=2006 | |||
|Pixel= 35 | |||
|Farben=2 | |||
|Leuchtmittel=LED-Punktmatrix-Anzeige | |||
|Leistung= | |||
|Kontakt= [[User:ArneRossius|Arne Rossius]] | |||
|Webseite= | |||
}} | |||
"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. | "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 == | == Aufbau == | ||
Der Text und die Geschwindigkeit kann mit einem einfachen RS232-Kabel ohne weitere Elektronik eingestellt werden, es werden einfach Masse und | [[Image:ornamatrix6.jpg|thumb]] | ||
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. | 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 == | == 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: | Die Programmierung kann wahlweise durch eine RS232-Verbindung mit 1200 Baud oder durch optische Datenübertragung (ab Software 0.9) erfolgen. | ||
=== RS232 === | |||
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> | * Text einstellen: <Text (max. 111 Zeichen)> <ENTER> | ||
* Geschwindigkeit der Laufschrift einstellen (in 1/30-Sekunden): <ESC> S <3-stellige Zahl> <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) | * 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. | 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. | ||
=== Optische Übertragung === | |||
Für die optische Übertragung wird ein Taster zwischen PD2 und PD4 angeschlossen. Das OrnaMatrix wird mit der Anzeigefläche auf den Bildschirm gehalten, wo ein JavaScript durch ein abwechselnd schwarzes und weißes Rechteck die Daten sendet. Weitere Informationen sind auf der Webseite zur Übertragung enthalten: http://arne.blinkenarea.org/ornamatrix/transmit.htm | |||
== Schaltplan/Software == | == Schaltplan/Software == | ||
[[Image:ornamatrix_mini_1.jpg|thumb|OrnaMatrix-Mini]] | |||
* [[:Image:Ornamatrix-2.0.png|Schaltplan]] | |||
* [[:Image:Ornamatrix-mini.png|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. | |||
* [[:Media:Ornamatrix-all-2013-07-31.zip|AVR-Firmware 2013-07-31]] für alle OrnaMatrix-Varianten. | |||
=== alte Versionen === | |||
* [[:Media:Ornamatrix.zip|AVR-Firmware v0.8]] (Assemblercode und Hexfile) | |||
* [[:Media:Ornamatrix-0.8.1b.zip|AVR-Firmware v0.8.1b (für Tiny2313 und Tiny24)]] (Assemblercode und Hexfile) mit korrigiertem Zeichensatz, für Anzeigen mit Spaltenanode (für die Bausätze) oder -kathode. | |||
* [[:Media:Ornamatrix-0.8.3.zip|AVR-Firmware v0.8.3 (für OrnaMatrix)]] (Assemblercode und Hexfile für Tiny2313), für Anzeigen mit Spaltenanode (Kingbright TA*) oder -kathode (Kingbright TC*). | |||
* [[:Media:Ornamatrix-0.9.zip|AVR-Firmware v0.9 (für OrnaMatrix)]] (Assemblercode und Hexfile für Tiny2313) mit optischer Datenübertragung, nur Spaltenanode! | |||
* [[:Media:Ornamatrix-mini-0.8.1.zip|AVR-Firmware v0.8.1 (für OrnaMatrix Mini)]] (Assemblercode und Hexfile für Tiny24) | |||
* [[:Media:Ornamatrix-0.9.1.zip|AVR-Firmware v0.9.1 (für OrnaMatrix)]] (Assemblercode und Hexfile für Tiny2313), für Anzeigen mit Spaltenanode (Kingbright TA*) oder -kathode (Kingbright TC*) und Version mit optischer Datenübertragung (nur Spaltenanode). | |||
* [[:Media:Ornamatrix-all-2011-12-27.zip|AVR-Firmware 2011-12-27]] für alle OrnaMatrix-Varianten. | |||
== Fotos == | == Fotos == | ||
[http://arne.blinkenarea.org/ | [http://arne.blinkenarea.org/ornamatrix/gallery.htm Fotogalerie] von diesem Projekt. | ||
[[Category:Projekte]] | |||
Latest revision as of 20:20, 31 July 2013
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
Die Programmierung kann wahlweise durch eine RS232-Verbindung mit 1200 Baud oder durch optische Datenübertragung (ab Software 0.9) erfolgen.
RS232
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.
Optische Übertragung
Für die optische Übertragung wird ein Taster zwischen PD2 und PD4 angeschlossen. Das OrnaMatrix wird mit der Anzeigefläche auf den Bildschirm gehalten, wo ein JavaScript durch ein abwechselnd schwarzes und weißes Rechteck die Daten sendet. Weitere Informationen sind auf der Webseite zur Übertragung enthalten: http://arne.blinkenarea.org/ornamatrix/transmit.htm
Schaltplan/Software
- Schaltplan
- 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 2013-07-31 für alle OrnaMatrix-Varianten.
alte Versionen
- AVR-Firmware v0.8 (Assemblercode und Hexfile)
- AVR-Firmware v0.8.1b (für Tiny2313 und Tiny24) (Assemblercode und Hexfile) mit korrigiertem Zeichensatz, für Anzeigen mit Spaltenanode (für die Bausätze) oder -kathode.
- AVR-Firmware v0.8.3 (für OrnaMatrix) (Assemblercode und Hexfile für Tiny2313), für Anzeigen mit Spaltenanode (Kingbright TA*) oder -kathode (Kingbright TC*).
- AVR-Firmware v0.9 (für OrnaMatrix) (Assemblercode und Hexfile für Tiny2313) mit optischer Datenübertragung, nur Spaltenanode!
- AVR-Firmware v0.8.1 (für OrnaMatrix Mini) (Assemblercode und Hexfile für Tiny24)
- AVR-Firmware v0.9.1 (für OrnaMatrix) (Assemblercode und Hexfile für Tiny2313), für Anzeigen mit Spaltenanode (Kingbright TA*) oder -kathode (Kingbright TC*) und Version mit optischer Datenübertragung (nur Spaltenanode).
- AVR-Firmware 2011-12-27 für alle OrnaMatrix-Varianten.
Fotos
Fotogalerie von diesem Projekt.