LC Display: nur halbe Anzeige.

OP #6392653
Lesenswert?

Hallo,
ich habe hier mehrere LC Displays mit dem gleichen Verhalten:

Es handelt sich um 2 Displays 1x16 und ein Display 2x16, die ich in 
meiner Bastelkiste gefunden habe (habe ich mal irgendwo ausgebaut).
Die sollen an einem Arduino angeschlossen werden.

Wenn ich die Displays nur mit Spannung versorge, leuchtet nur die erste 
Hälfte vom Display. (Ja, ich weis, dass die nicht leuchten, aber ihr 
wisst, was ich meine).
Bei den 1-zeiligen Dispaly leuchten nur Stelle 0 bis 7, bei dem 
2-zeiligen Display nur die erste Zeile!
Den Kontrast habe ich ordentlich eingestellt.
Wenn ich die am Arduino anschließe (4Bit-Mode), bleibt die hintere 
Hälfte dunkel.
Einen Defekt schließe ich aus, da es 3 unterschiedliche Displays aus 
unterschiedlichen Quellen sind und wenn ich an den Drähten wackel und 
das Ding "aus dem Tritt" bringe, leuchten gelegentlich auch die hinteren 
Segmente auf.
Hat jemand eine Idee??
Gast #6392658
Lesenswert?

Peter O. schrieb:
> Wenn ich die Displays nur mit Spannung versorge, leuchtet nur die erste
> Hälfte vom Display.

Das ist ein Zeichen dafür, dass du das Display noch nicht initialisiert 
hast. Wenn man einfach nur die Versorgungsspannung anlegt, ist die obere 
Zeile grau und die untere Hell (oder umgekehrt, falls das Display 
inverse Darstellung (=helle Schrift auf dunklem Hintergrund)) hat.

> Den Kontrast habe ich ordentlich eingestellt.

Nein, hast du nicht. In diesem Zustand kann man den Kontrast nicht 
sinnvoll einstellen.
Gast #6392671
Lesenswert?

Ist das Display über ein i2c Adapter angeschlossen oder direkt. ??

Das ist die wichtigste Frage überhaupt. Ohne die kann man keine Diagnose 
stellen.  Die meisten Leute die ich kenne (inkl. mir) wollen Pins 
sparen, also kaufen sie für 1-2 Euro ein Adapter. Der Wandelt die ganzen 
Pins die das Display braucht in die 4 Pins eines I2c Anschluß um.

Wenn man den Adapter hat, muss man das Display DECLARIEREN. Also die 2 
Pins und die Adresse auf den BUS. Diesen Job macht meist die Libary.
Dann muss man noch das Display selbst Declarieren.

Public lcd As LiquidCrystal_I2C ' ini der Libary

lcd.Initialize(0x27, 16, 2) ' bedeutet auf Adresse 0x27, ist ein 16 
Zeichen pro Zeile Display was 2 Zeilen hat.
lcd.Backlight = True  ' macht das Licht an ;)

lcd.SetCursor(0,1) ' setz den Corsor in die 1 stelle der 1 Zeile (Zeile, 
Spalte)
lcd.Write("Temperatur:")  ' schreibt den Text.

Das ist B4R Code. Unter Arduino ist das ähnlich. Aber die Syntax ist 
anders. Er stammt aus einer meiner Projekte mit ein  TMP36 sensor.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren