LCD
Diese Seite beschäftigt sich damit ein LCD an die Platine anzuschliessen und zu betreiben.
Inhaltsverzeichnis
HD44780
Die folgenden Displays wurden gestestet:
- Pollin, SC1604A, Bstnr. 120 572 (gestestet von #OR)
- Pollin, YL162-90, Bstnr. 120 060 (getestet von SuperRiggi)
- Pollin, TC1602E-01, Bstnr. 120 420 (getestet von Bitfehler)
- Solomon, LM1180SYL (getestet von Doozer)
- Conrad, AV2040, Bstnr. 181657-62, - Controller Type ks0067b auswählen - (getestet von punktl)
- weitere?
Pollin Net-io
Da ich ein Pollin Board verwende, hier also die Beschreibung für eine Net-io (:biggrin:). Den Anschluss des LCD habe ich von http://www.sprut.de/electronic/lcd/lcd.gif übernommen. Die folgende Grafik zeigt den Anschluss an den Controller:
Wer ein bißchen besser löten kann, benötigt keine Anschlussplatine und kann das Ganze auch direkt auf einen SUB-D Stecker löten, die Stiftnummern stehen in der Grafik dabei.
Bei dem YL162-90 ist zu beachten, dass Vo (Kontrast) nicht mit positiver Spannung anzusteuern ist. Die neagtive Spannung ist am besten über einen 10kOhm Potentiometer vom Pin 6 des RS232 Bausteines (Pollin AVR Board) abzugreifen. Bei ca. 5kOhm ist das Display gut zu erkennen
Danach muss nochmal compiliert werden:
- make menuconfig
- Untermenu "I/O support"
- den Punkt "HD44780 Module Driver" aktivieren
- in selbiges Untermenu abtauchen und noch "Readback Support" und "Use Port C" aktivieren
- danach rausgehen, speichern, compilieren, laden
Das LCD macht nach dem Einschalten erstmal gar nix. Zum testen geht am besten der ECMD.
- netcat 192.168.0.90 2701 aufrufen
- dann lcd write Hallo eingeben
Man sollte jetzt etwas auf dem LCD lesen können.
Weitere Spielereien mit dem LCD:
Leider habe ich nocht nicht rausbekommen, wie man zb. die 1wire Temperatursensoren oder die ADC oder die Ports möglichst elegant auf das LCD bekommt :-). Aber vielleicht hat ja von Euch einer eine Idee.
- Unter Dallas 1-wire Bus#Einbindung in Control6 findet sich ein kleines Control6-Skript, mit dem man die Messwerte von 1-wire Temperatursensoren mit Hilfe des TTY-Layers auf's Display zaubern kann --Stella 15:19, 26. Jun. 2009 (UTC)
S1D15G10
Diesen LCDisplay Controller findet man in diversen Mobil Telefonen. Ich habe das LCDisplay aus einem Nokia6610 ausgebaut.
Einige Online Portale/Händler bieten es auch incl. Anschlussplatine an.
Die folgenden Displays wurden gestestet:
- Epson, S1D15G10, ausgebaut aus Nokia6610 (getestet von veyron)
- weitere?
Das 130x130 1.5" FarbLCD mit dem integrierten Controller S1D15G10 wird zB. so angeschlossen:
RESET, PB0 DATA, SPI_MOSI CLK, SPI_SCK CS, PD7
Beispiel für Atmega644: pinning/hardware/etherrape.m4
ifdef(`conf_S1D15G10', `dnl /* port config for s1d15g10 lcd */ pin(S1D15G10_CS, PA3, OUTPUT) pin(S1D15G10_RESET, PA1, OUTPUT) ')
Da die Daten via SPI generiert werden, können nur die Pins für RESET und ChipSelect frei gewählt werden.
Die Stromversorgung für den LCDController sollte nicht über 4V liefern! Die Pins sollten 3.6V nicht übersteigen! Die Hintergrundbeleuchtung braucht 6V - 7V.
Da der AVR meines etherrapes mit 5V läuft, hab ich jeweils eine 3V6 Zenerdiode und einen 1k5Ohm Pullup zwischen AVR und LCD gehangen.
In menuconfig:
│ │ Load a Default Configuration ---> │ │ General Setup ---> │ │ Network protocols ---> │ │ I/O support ---> ... │ │ [*] S1D15G10 module driver (130x130-R/G/B-LCD)
Auf dem LCD wird dann ein bisschen farbiger Text auf schwarzem Hintergrund und das E-Sex Logo angezeigt.
Ist Debug und ECMD via UART aktiv, wird dies auch auf dem LCD ausgeben.
Das sieht dann so aus: