LCD Kaputt?

Hallo,

bevor ich mein LCD wegschmeiße, wollte ich hier noch einmal nach Hilfe fragen.

Ich habe ein 2x16 LCD von Displaytech (Modell 162F mit dem Controller ST7066U kompatibel zum Hitachi HD44780 Treiber) laut dieser Schaltung angeschlossen

Tat sich erst mal nix nach dem Upload verschiedener Beispielsketche.

Dann habe ich durch Zufall das Kabel was D7 am Display mit Pin2 auf dem Arduino UNO verbindet herausgezogen und hatte zumindest die schwarzen Balken in der ersten Zeile, die auftauchen wenn das LCD initialisiert wird. Sobald ich aber besagtes Kabel wieder auf Pin2 stecke, ist das Display tot.

Um auszuschließen, dass irgendwas mit Pin2 defekt ist, habe ich die Pins auch schon umgesetzt. Also auf Pin7-4 statt 5-2 wie auf der Zeichnung. Leider das gleiche Spiel.

Ist das Display also ein Fall für die Tonne?

Der Umstand, daß beim Stromversorgung (nur pin 1,2, Kontrast 3 und Hintergrundbeleuchtung) ein schwarzer Balken kommen, heißt daß das Display funktioniert und der Kontrast richtig eingestellt ist. Daß dann der Balken wieder weg ist heißt, daß das Display initialisiert wird.
Hast Du eine Pause von mindesten 5 mS nach Initialisierung ?

Welchen Sketch benutzt Du?

Grüße Uwe

So wie du es beschreibst (Uwe sagte es schon) liegt es evtl. nicht am Display.
Hast du im Betrieb auch mal das Poti für den Kontrast verändert? Das kann auch der Fehler sein.

Also bitte zeige uns den Sketch, mit dem es nicht funktioniert.

P.S. Und einfach die Pins tauschen, geht auch nicht, die müssen im Sketch und evtl. auch in der Lib angepasst werden.

patmro:
Ist das Display also ein Fall für die Tonne?

Das würde ich erst machen, wenn beim Austausch mit einem zweiten Display alles perfekt funktioniert.

Danke erst mal für die Antworten.

uwefed:
Daß dann der Balken wieder weg ist heißt, daß das Display initialisiert wird.

Das Erscheinen der Balken sehe ich aber nur, wenn ich auch die Datenpins (Also D4-D7) angeschlossen habe (bzw. D7 wieder abklemme). Nur das anklemmen von Pin 1-3 ruft bei mir keine Reaktion hervor.

HotSystems:
Also bitte zeige uns den Sketch, mit dem es nicht funktioniert.

P.S. Und einfach die Pins tauschen, geht auch nicht, die müssen im Sketch und evtl. auch in der Lib angepasst werden.

Die Sketche brauche ich nicht extra zeigen, das sind die LiquidCrystal Beispielsketche. Wobei ich eigentlich auch nur beim Sketch "Display" eine Reaktion auf dem Display erhalte. Und die Pins habe ich natürlich im Sketch angepasst indem ich "LiquidCrystal lcd(12, 11, 5, 4, 3, 2);" entsprechend auf "LiquidCrystal lcd(12, 11, 7, 6, 5, 4);" geändert habe.

Am Poti habe ich natürlich auch gedreht. Da kommt mir nur gerader der Gedanke, dass das vielleicht der Falsche ist. Gerade noch mal nach gemessen, der hat 1k. Im Datenblatt finde ich leider keine Angaben, wieviel der haben muss. Weil entweder hab ich ein Bild oder eben keins, wenn ich am Poti drehe. Ohne Zwischenstufen.

patmro:
Die Sketche brauche ich nicht extra zeigen, das sind die LiquidCrystal Beispielsketche. Wobei ich eigentlich auch nur beim Sketch "Display" eine Reaktion auf dem Display erhalte. Und die Pins habe ich natürlich im Sketch angepasst indem ich "LiquidCrystal lcd(12, 11, 5, 4, 3, 2);" entsprechend auf "LiquidCrystal lcd(12, 11, 7, 6, 5, 4);" geändert habe.

Ach, dann sollen wir hier weiter raten, bzw. uns alles zusammen suchen.
Also bitte den Sketch und ein Foto deines Aufbaus, damit wir sehen können, ob da ein Fehler vorhanden ist.

Wie sollen wir sonst helfen?

/
LiquidCrystal Library - display() and noDisplay()
Demonstrates the use a 16x2 LCD display. The LiquidCrystal
library works with all LCD displays that are compatible with the
Hitachi HD44780 driver. There are many of them out there, and you
can usually tell them by the 16-pin interface.
This sketch prints "Hello World!" to the LCD and uses the
display() and noDisplay() functions to turn on and off
the display.
The circuit:
LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
Library originally added 18 Apr 2008
by David A. Mellis
library modified 5 Jul 2009
by Limor Fried (http://www.ladyada.net)
example added 9 Jul 2009
by Tom Igoe
modified 22 Nov 2010
by Tom Igoe
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/LiquidCrystalDisplay
*/
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}
void loop() {
// Turn off the display:
lcd.noDisplay();
delay(500);
// Turn on the display:
lcd.display();
delay(500);
}

]

Übrigens habe ich einen anderen Poti angeschlossen. Kontrastregelung funktioniert jetzt stufenlos, aber an meinem Problem hat das nix geändert.

PS: Das Display blinkt auch, wenn ich 5V und Ground abziehe. Das kann doch nicht richtig sein?

Beschreibe genauer, was da blinkt, wenn du 5V und GND abziehst. Die Hintergrundbeleuchtung sollte dann nicht mehr leuchten, Anzeigen auf dem Display sind dann durchaus noch möglich.

Ich tippe bei dem Problem auf Verbindungsprobleme aufgrund der losen Verbindungen. Die Litzte ist teilweise nicht ordentlich gesteckt.

Edit: Das Display ist sehr schlecht mit der Stiftleiste(?) verlötet. Das solltest du ausbessern. Einfaches stecken führt zu häufigen Problemen.

sschultewolter:
Beschreibe genauer, was da blinkt, wenn du 5V und GND abziehst. Die Hintergrundbeleuchtung sollte dann nicht mehr leuchten, Anzeigen auf dem Display sind dann durchaus noch möglich.

Das Display zeigt blinkende Balken an durch die Befehle lcd.noDisplay(); und lcd.Display(); im Sketch. Eigentlich sollte da Hello World blinken, stattdessen blinken die Balken wie auf dem ersten Bild zu sehen.

Die Anzeige bleibt bestehen, wenn ich GND und 5V abziehe, allerdings NUR wenn Pin D4-D6 angeschlossen sind. Wenn ich einen davon abziehe oder Pin D7 anschließe habe ich keine Anzeige mehr.

Ich kann keine Lötstellen am Display sehen. Das ist sehr fehleranfällig.
Meiner Meinung nach fehlt im Sketch-Setup der Befehl zum Setzen des Cursors "lcd.setcursor"
mit den entsprechenden Parametern.

Ich hab das Display jetzt mal vernünftig verlötet, bis auf die flüssiger laufender Kontrastregelung tat sich leider nichts.

Dann hab ich unter LCD.begin... noch lcd.setCursor(0,0); eingefügt. Leider alles beim Alten.

Schwarze Balken oben und sobald ich D7 anschließe, sehe ich nichts mehr.

Mir ist jetzt aufgefallen, dein Display entspricht nicht dem des Fritzing-Bildes.
Hast du die Pin-Nummerierung deines Displays? Evtl Foto
Oder einen Link wo es her ist.

Die Pin Nummerierung habe ich dem Datenblatt hier entnommen.

Die Schaltung ist bei mir die gleiche wie auf dem Fritzing Bild nur in umgekehrter Reihenfolge.

Das stimmt nicht:

LiquidCrystal lcd(12, 11, 7, 6, 5, 4);

Muss sein:

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Die nummern müssen mit der Liste oben im Sketch übereinstimmen.
Das sind die Pin am Arduino, nicht am LCD

HotSystems:
Das stimmt nicht:

LiquidCrystal lcd(12, 11, 7, 6, 5, 4);

Muss sein:

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Die nummern müssen mit der Liste oben im Sketch übereinstimmen.
Das sind die Pin am Arduino, nicht am LCD

Aber ich benutze doch die Pins 7,6,5,4 vom Arduino? Dann muss ich doch auch 7,6,5,4 im Sketch stehen haben?

patmro:
Aber ich benutze doch die Pins 7,6,5,4 vom Arduino? Dann muss ich doch auch 7,6,5,4 im Sketch stehen haben?

Ok, habe ich auf deinem letzten Foto nicht sehen können und du hast geschrieben, Aufbau wie Fritzingbild, nur 2 anders!
Die anderen Bilder habe ich nicht mehr angesehen.

Baue es mal so um wie im Fritzing-Bild und passe die Zahlen an.

Habe nochmal geschaut, im letzten Foto verwendest du doch die Pins "2,3,4,5" oder sehe ich das falsch?

Also was nu?

Hatte ich zuerst auch. Hatte ja anfangs geschrieben, dass meine Vermutung war, dass der Pin2 auf dem Arduino irgendwie kaputt sei und deshalb die Pin Belegung etwas verschoben habe. Habe es mittlerweile wieder zurück gesteckt und auch das Sketch wieder auf Originalzustand gebracht - ohne Erfolg.

Habe auch schon versucht, das ganze mit 8-Bit anzusteuern. Auch kein Erfolg.

Alles beim Alten. Sobald D7 vom Display mit Pin 2 auf dem Arduino verbunden wird, ist das Display tot.

Fazit:
Ich glaube nicht, dass das Display defekt ist.
Irgend etwas ist in deiner Beschaltung falsch.

Besorge dir ein anderes Display und teste erneut.

Leider ist es schwierig hier weiter zu machen, da Angaben nicht zum tatsächlichen Zustand stimmen.
Man läuft immer ins "dunkle". :wink:

P.S. Der Link zum Display geht nicht.

Meine Angaben stimmen immer mit der von mir beschriebenen Ausganssituation überein. Eventuelle Änderungen die ich zwischendurch vornehme, werden von mir immer rückgängig gemacht um die Lösungsvorschläge zu testen. Somit lasse ich niemanden im Dunkeln tappen.

Ich bin wirklich sehr, sehr dankbar für jede Hilfe, aber bei dir liebe/r HotSystems habe ich leider das Gefühl, dass du nicht wirklich liest, was ich schreibe. AUch wenn ich sehr deine Hilfe zu schätzen weiß.