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