Inhaltsverzeichnis
Blinken64 (V 1)
Projektverantwortlicher: Manuel Jerger
[Das] Blinken64 ist ein sehr einfach aufzubauendes LED-Display. Es besteht aus einem 8×8 Pixel LED Display mit direkt angeloetetem ATTiny2313 Microcontroller - ohne Platine, ohne LED-Treiber.
Features
- selbststaendige Textanzeige
- 128 Zeichen max, dafuer beliebig teilbar
- voller ASCII Zeichensatz (0x00-0x7F, dazu deutsche Umlaute)
- 8 eigene Zeichen/Bilder (8×8 Pixel)
- Steuerzeichen fuer Verzoegerungen, Geschwindigkeit, …
- Text+Bilder koennen jederzeit neu programmiert werden (z.B. mit einem Shackuino)
- Daisy Chain Modus: jedes fertig geloetete Blinken64 kann mit jedem anderen zusammengeschaltet werden
Bauteile
Aufbauschema
Downloads
DOWNLOAD (67kb) Blinken64 Firmware und Tools
letzte Aenderung December 21 2011, 21:22:12
Tools
im Verzeichnis tools/ befinden sich folgende kleinen C-Programme:
textconv
Konvertiert eine textfile (UTF8) und ein Bild (.pgm, 8x(8×8) pixel) in das interne Blinken64 EEProm Format. Output kann direkt auf den Seriellport des Shackuino gegeben werden, welcher den Dateneingang eines Blinken64 ansteuert.
fontconv
Generiert den Zeichensatz (C-Header) aus einem Bild. Falls man mal einen eigenen font pixeln moechte ;)
Der mitgelieferte Font beinhaltet folgende Zeichen:
Aufspielen eigener Texte und Bilder
unter Tools gibt es auch einen Arduino-Sketch „blinkenprog.pde“. Diesen laedt man z.B. auf einen Shackuino und kann dann folgendes machen:
- Shackuino mit PC verbinden, Serielldevice lokalisieren (etwas wie /dev/ttyUSB0)
- Blinken64 ausschalten (Stromzufuhr unterbrechen)
- Den Blinken64 Dateneingang an den Shackuino Digitalpin 10 anschliessen
- Sobald Shackuino gebootet hat, Blinken64 anschalten (es sollten 4 LEDs in der Mitte leuchten: das bedeutet es ist im Programmier-Modus)
- textconv -i input.txt -p input.pgm » /dev/ttyUSB0
- Blinken64 blinkt / flackert (pro Zeichen ein toggle)
- Sobald es aufhoert ist es fertig: die Datenverbindung trennen und Blinken64 neustarten
Das Format
Textconv erwartet eine UTF8 Formatierte Datei (kompatibel mit ASCII wenn alle chars < 0x80), dabei sollte man auf folgendes achten:
- jede Zeile entspricht einer Nachricht (ein Knopfdruck an Blinken64 springt dann zur naechsten)
- Leerzeichen am Ende einer Nachricht muessen selbst gesetzt werden, sonst wird der Text ohne Abstand wiederholt
- Backslash leitet Escape Sequenzen ein, Double-Backslash fuer Backslash
Steuerzeichen
In der Eingabedatei von textconv koennen folgende Escape Sequenzen verwendet werden:
Bilder | Warten | Laufgeschwindigkeit | columns/sec | ||||||
---|---|---|---|---|---|---|---|---|---|
\P1 | = PICTURE 1 | \W1 | = WAIT | 50ms | \S1 | = SPEED 1 | INF cps | ||
\P2 | = PICTURE 2 | \W2 | = WAIT | 100ms | \S2 | = SPEED 2 | 250 cps | ||
\P3 | = PICTURE 3 | \W3 | = WAIT | 150ms | \S3 | = SPEED 3 | 50 cps | ||
\P4 | = PICTURE 4 | \W4 | = WAIT | 250ms | \S4 | = SPEED 4 | 30 cps | ||
\P5 | = PICTURE 5 | \W5 | = WAIT | 500ms | \S5 | = SPEED 5 | 15 cps | ||
\P6 | = PICTURE 6 | \W6 | = WAIT | 1000ms | \S6 | = SPEED 6 | 10 cps | ||
\P7 | = PICTURE 7 | \W7 | = WAIT | 2000ms | \S7 | = SPEED 7 | 8 cps | ||
\P8 | = PICTURE 8 | \W8 | = WAIT | 5000ms | \S8 | = SPEED 8 | 4 cps | ||
\H | HALT | forever | |||||||
Display Invertieren | 1+2 Pixel Leerzeichen | ||||||||
\I | = TOGGLE INVERT | \D1 | = 1PX SPACE | ||||||
\D2 | = 2PX SPACE |
Beispiele
normaler und invertierter Text:
tools/examples/b64.txt :
\I BLINKEN 64 \I
Blinken64
Befehlszeile:
./textconv -i examples/b64.txt > /dev/ttyUSB0
statische Icons (nur auf dem erstem Display):
tools/examples/static_icons.txt :
\S3\P1\H
\P2\H
\P3\H
\P4\H
\P5\H
\P6\H
\P7\H
\P8\H
Befehlszeile:
./textconv -i examples/static_icons.txt -p icons/smiley1.pgm > /dev/ttyUSB0
Pacman, animiert (nur auf dem erstem Display):
tools/examples/pacman.txt :
\S1\P5\W2\P4\W2\P3\W2\P4\W2\P5\W2\P4\W2\P3\W2\P4\W2\P5\W5
Befehlszeile:
./textconv -i examples/pacman.txt -p icons/pacman.pgm > /dev/ttyUSB0