Blinken64

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

1ATTiny2313
18×8 Pixel LED Display
1Taster
1Batteriehalter
1CR2032 Knopfzelle

Aufbauschema







Beispiel: Einzelnes Display mit Band als Halskette, ohne Datenpins

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:

  1. Shackuino mit PC verbinden, Serielldevice lokalisieren (etwas wie /dev/ttyUSB0)
  2. Blinken64 ausschalten (Stromzufuhr unterbrechen)
  3. Den Blinken64 Dateneingang an den Shackuino Digitalpin 10 anschliessen
  4. Sobald Shackuino gebootet hat, Blinken64 anschalten (es sollten 4 LEDs in der Mitte leuchten: das bedeutet es ist im Programmier-Modus)
  5. textconv -i input.txt -p input.pgm » /dev/ttyUSB0
  6. Blinken64 blinkt / flackert (pro Zeichen ein toggle)
  7. 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 HALTforever
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


project/blinken64.txt · Zuletzt geändert: 2012/06/18 09:35 von excogitation