de | en

AVR LCD

Ich hatte für mein LAN zu Hause einen kleinen Router zusammengebastelt, welcher ohne Monitor auskommen musste. Daher brauchte ich irgendeine Art von Gerät, mit dem ich den Status der Maschine in Erfahrung bringen konnte. Ausserdem wollte ich ein wenig mit Mikroelektronik herumspielen und so bastelte ich mir eine LCD-basierten Anzeige.

Die Geräte basieren alle auf den AVR-Chips von Atmel, welche vergleichsweise einfach mittels Assembler oder C zu programmieren sind. Die LCDs verwenden stets den HD44780-Kontroller. Vielleicht gibt es irgendwann einmal auch ein graphisches LCD.

Im folgenden sind die von mir gebastelten Geräte zu “bewundern”.

AVR LCD v0.2

Die zweite Version nutzt einen USB-nach-parallel-Chip (FTDI FT245BM), welcher sich auf einer DIP-28-Platine befindet. Da hierfür mehr IO-Pins notwendig sind, wurde ein AVR ATmega16 eingesetzt. Ausserdem hat das Gerät ein paar mehr Tasten.

Die Verwendung der USB-Schnittstelle hat folgende Vorteile:

  • Strom wird vom USB-Port geliefert, wodurch nur noch ein Kabel notwendig ist.
  • Linux unterstützt Hotplugging für USB und somit kann das LCD-Programm gestartet werden, wenn das Gerät an den PC angeschlossen wird. Ebenso lässt sich das Programm beenden, falls das AVR-LCD wieder entfernt wird.

Bilder

Platine LCD
04.jpg 05.jpg 06.jpg

Software

  • AVR Programm: Programm für den AVR Mega16 zur Steuerung des LCDs.
  • Linux Programm: Programm für den PC unter Linux zur Datenausgabe auf dem LCD.

AVR LCD v0.1

Diese Version ist praktisch mit dem LinuxLCDPanel aus LinuxFocus identisch. Es verwendet einen AVR ATmega8 und ein 20x2 LCD. Die Verbindung zum PC erfolgt über eine RS232-Schittstelle.

Bilder

Vorderseite Rückseite
01.jpg 03.jpg

Hinweise

Beim ATMega16 ist standardmässig die JTAG-Schnittstelle aktiviert. Somit können die pins PC2,PC3,PC4,PC5 nicht genutzt werden. Setzt man das Bit 6 der “high fuse bits”, so lassen sich auch diese wieder verwenden (siehe auch Datenblatt Seite 259).