Nokia 5110 Shield - Konstrastproblem

Hallo!
Ich habe mir eines der oben besagten Displays gekauft und jetzt den Democode aus dem Playground ausprobiert.

Der funktioniert auch soweit, allerding ist der Kontrast sehr, sehr gering. Ein Defekt kann das nicht sein, denn beim Start, bzw. im ausgeschalteten Zustand ist das Display perfekt "weiß".

Leider ist das Beispiel ziemlich schlecht bis gar nicht dokumentiert/kommentiert und deshalb hab ich wohl Probleme damit.

In der ersten Zeile ist zum Beispiel LCD_CMD als 0 definiert. Das scheint durchaus ein wichtiger Teil zu sein, denn bei der Initialisierung werden Daten dahin geschrieben. Allerdings hab ich keine Ahnung mit welchem Pin ich das verbinden, bzw. welchen Pin ich da eintragen muss...

Und vielleicht hängt daran auch mein Konstrastproblem.

Ich möchte gerne maximalen Kontrast haben. In LcdInitialise() gibt es dafür auch einen Parameter, der an besagten LCD_CMD geschickt wird, allerding weiss ich nicht, welchen Wertebereich ich da nutzen kann. Als Kommentar steht da zwar B1 hinter, wenn ich das da einsetze, dann wird es auch merklich heller, aber auch eben nicht "schwarz auf weiß".

Wie bekomme ich nun maximalen Konstrast hin? Ausprobieren möchte ich nicht, weil ich Sorgen um das Display habe...

Danke!

Hm, Problem teilweise gelöst.

Entferne ich die Verbindung von Masse und GND am Display, dann habe ich perfekten Kontrast.
Ähnliches passiert, wenn ich einen Kondensator zwischen Display GND und Masse setze.

Das Hinzufügen eines 10 µF Kondensators ist auch als Problemlösung im Playground angegeben.

Leider habe ich keine Kondensatoren mit 10 µF Kapazität, nur welche mit 100 µF.

Schließe ich jetzt die Displaybeleuchtung an, dann ist diese sehr dunkel. Liegt das am 100 µF Kondensator?
Wenn ja, dann muss ich mir wohl mal 10 µF Kondensatoren beschaffen.

Kann mir trotzdem bitte jemand erklären, warum passiert, was passiert?

Versuch mal in void LcdInitialise(void)
folgendes am Ende einzufügen:
LcdWrite(LCD_C, contrast);
wobei der Wert für contrast zwischen 0x80 und 0xff liegen kann.
Versuchs am Anfang mit 0xc0 oder 0xe0.
Das ist der wert für VOP http://www.nxp.com/acrobat_download2/datasheets/PCD8544_1.pdf
Hast Du das Beispiel dieser Bibiothek versucht?
http://blog.thiseldo.co.uk/?p=383
Design with Microcontrollers: 3310 LCD
Grüße Uwe