OrnaMatrix: Difference between revisions

From BlinkenArea Wiki
Jump to: navigation, search
(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...)
 
No edit summary
 
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOEDITSECTION__
__NOEDITSECTION__
''[[Projekte|zurück zur Übersicht]]''
{{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 <nop>TxD</nop> 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.
[[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:</p>
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: &lt;Text (max. 111 Zeichen)&gt; &lt;ENTER&gt;
* Text einstellen: &lt;Text (max. 111 Zeichen)&gt; &lt;ENTER&gt;
* Geschwindigkeit der Laufschrift einstellen (in 1/30-Sekunden): &lt;ESC&gt; S &lt;3-stellige Zahl&gt; &lt;ENTER&gt;
* Geschwindigkeit der Laufschrift einstellen (in 1/30-Sekunden): &lt;ESC&gt; S &lt;3-stellige Zahl&gt; &lt;ENTER&gt;
* Zur Laufschrift wechseln: &lt;ESC&gt; &lt;ESC&gt; &lt;ENTER&gt; oder &lt;ESC&gt; Q &lt;ENTER&gt; oder &lt;CTRL-C&gt; (oder einfach die Verbindung zum PC trennen und kurz die Batterie herausnehmen)
* Zur Laufschrift wechseln: &lt;ESC&gt; &lt;ESC&gt; &lt;ENTER&gt; oder &lt;ESC&gt; Q &lt;ENTER&gt; oder &lt;CTRL-C&gt;  
(oder einfach die Verbindung zum PC trennen und kurz die Batterie herausnehmen)
Für &lt;ENTER&gt; funktioniert sowohl &lt;CR&gt; als auch &lt;LF&gt; (notfalls auch beides, da ein leerer String ignoriert wird), alternativ kann &lt;CTRL-D&gt; 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 &lt;ENTER&gt; funktioniert sowohl &lt;CR&gt; als auch &lt;LF&gt; (notfalls auch beides, da ein leerer String ignoriert wird), alternativ kann &lt;CTRL-D&gt; 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.


  * [http://wiki.blinkenarea.org/pub/Blinkenarea/OrnaMatrix/ornamatrix.png Schaltplan] (die Pin-Nummern der eingezeichneten Anzeige stimmen nicht mit denen der von mir verwendeten Riesen-Anzeige überein!)
=== alte Versionen ===
  * [http://wiki.blinkenarea.org/pub/Blinkenarea/OrnaMatrix/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.zip|AVR-Firmware v0.8]] (Assemblercode und Hexfile)
  * [http://wiki.blinkenarea.org/pub/Blinkenarea/OrnaMatrix/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.
  * [http://wiki.blinkenarea.org/pub/Blinkenarea/OrnaMatrix/ornamatrix-0.8.1.zip" AVR-Firmware v0.8.1 (für Tiny2313 und Tiny24] (Assemblercode und Hexfile) mit korrigiertem Zeichensatz
* [[: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/ornament/gallery.htm Fotogalerie] von diesem Projekt und [[Ornament]].
[http://arne.blinkenarea.org/ornamatrix/gallery.htm Fotogalerie] von diesem Projekt.
<br>
 
<br>
[[Category:Projekte]]
<br>
<br>
-- ArneRossius - 07 Jul 2007

Latest revision as of 20:20, 31 July 2013

zur Projektübersicht
English Version of this Page
Ornamatrix7 mini.jpg
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

Ornamatrix6.jpg

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

OrnaMatrix-Mini

alte Versionen

Fotos

Fotogalerie von diesem Projekt.