BlinkenDotter - LED Dot Matrix
Anzeige mit AtMega16
Bilder

Video: leddot.mpg
Download
Letzte SW Version incl. Source Code: leddotmatrix.zip
Beschreibung
Ansteuerung einer 5x7 Led Dot Matrix mit AtMega16, per AT-Befehl konfigurierbar
Features
- Textanzeige durch Links-Scrollen eines Textes
- Text kann im ROM oder RAM hinterlegt werden
- Anzeige eines beliebigen Bildes oder Text per AT-Befehl
- AT Befehls Schnittstelle über UART (z.B. per Hyperterminal bedienbar)
- 9600 Baud, 8-Bit Daten, kein Parity, 1 Stopbit
- Text ändern
- Text scrollen ein/auschalten
- Scroll Timer ändern
- Matrix Spalten Bytes einzeln oder gesamt setzen
HW Beschreibung
Schaltbild folgt..
AtMega16, 14,7456 MHz Quartz
Matrix hängt direkt an den Ports, 250 OHM Widerstand zur 20mA - Strombegrenzung pro
Spalte
SW Beschreibung
- Es wird immer nur 1 LED = 1 Pixel ein/ausgeschaltet, Abarbeitung von links nach rechts
und von oben nach unten
- 1 Pixel wird für 400us eingeschaltet, dann wird das nächste angesteuert ->
400us*35 = 13,98ms pro Bildaufbau
- Ein Pixel Buffer im RAM enthält das Abbild der gesamten Matrix
- Der Pixelbuffer wird alle 150ms neu berechnet (scrollen)
- Projekt ist mit AVRX Betriebssystem realisiert, ist nicht unbedingt notwendig
aber Projekt ist so leicht zu erweitern
Ressourcen
- 1 Task für die Pixelbuffer Berechnung
- 1 Task für die AT-Befehlsbehandlung
- 1 HW-Timer für Matrix Ansteuerung
- 1 HW-Timer für OS Timer Tick
- UART für PC-Kommunikation
- ca. 4kB ROM (2kB für AVRX, 500B Fonttabelle)
- 750 Byte RAM (300B UART Buffer, 128B String Buffer)
Anmerkungen
- z.Zt ist nur ein Font mit Grossbuchstaben hinterlegt
Links
http://www.blinkenlights.de/
http://www.roboternetz.de
http://home.wanadoo.nl/electro1/avr/dotmatrix.htm
http://www.barello.net/avrx/
============================================
Anhang
============================================
AT - BEFEHELE
atnt=NeuerText
neuer Text, der angezeigt werden soll
atts
Start Text Scrolling
atts-
Stop Text Scrolling, der aktuelle Pixel Buffer wird ausgegeben
atit=000
Set Scroll Timer in MilliSek
ats0=00
Setze Spalte 0
ats1=00
Setze Spalte 1
ats2=00
Setze Spalte 2
ats3=00
Setze Spalte 3
ats4=00
Setze Spalte 4
ats=00 00 00 00 00
Setze Spalten 0-4 auf einmal
atcm
Clear Matrix, alle Spalten auf 0 setzen
atrm
Random Matrix, zufällige Anzeige
atrm-
Random Matrix, zufällige Anzeige ausschalten
Please visit the Guestbook email: bukados at online.de home