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??
Völlig normales Verhalten bei nicht- oder falsch initialisierten Displays.
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.
Es könnte sein, das du weiter schreiben musst, das Display hat einen anderen Aufbau und die 2. Zeile ist an einer Adresse weiter hinten. Du kannst ja Adresse 0x0-27 und 0x40-67 nutzen, evtl. ist die 2. Zeile nicht bei 0x10 sondern bei 0x40. Oder versuch 1-line und 0x0-4f.
Peter O. schrieb: > Hat jemand eine Idee?? Mach's einfach richtig, und initialisiere die Dinger. Nicht ohne Grund haben Bauteile Datenblätter, die mna lesen darf, wenn man nicht weiter kommt. Ein 1x16 bestht aus 2 Zeilen a 8 Zeichen.
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.
Harry L. schrieb: > Völlig normales Verhalten bei nicht- oder falsch initialisierten > Displays. Ok, soewas dachte ich mir schon. Nur wie initialisiere ich das Display denn richtig. Ich dachte, das übernimmt der Arduino, wenn ich dort das Display anschließe und -hoffentlich richtig- programmiere. Ich habe mir einfach ein Beispielprogramm geladen...
Hi Das 'einzeilige' Display ist ein zweizeiliges und muss dementprechend initialisiert werden -> http://www.lcd-module.de/pdf/doma/1_16.pdf MfG Spess
Christian S. schrieb: > nur da nicht gucken und nicht alles lesen: > http://www.sprut.de/electronic/lcd/ Coole Seite, kannte ich noch nicht. DANKE
MaWin schrieb: > Peter O. schrieb: >> Hat jemand eine Idee?? > > Mach's einfach richtig, und initialisiere die Dinger. > Nicht ohne Grund haben Bauteile Datenblätter, > die mna lesen darf, wenn man nicht weiter kommt. > Ein 1x16 bestht aus 2 Zeilen a 8 Zeichen. Hallo, nicht zu fassen! Damit läufts schon. Dankeschön! :-)
Peter O. schrieb: >> Ein 1x16 bestht aus 2 Zeilen a 8 Zeichen. > > Hallo, > nicht zu fassen! Damit läufts schon. Dankeschön! :-) Mit der richtigen Libs und den richtigen Ini-Befehl brauch man sich da keine Sorgen zu machen. ;)
Schlaumaier schrieb: > Mit der richtigen Libs und den richtigen Ini-Befehl brauch man sich da > keine Sorgen zu machen. Jawoll, auch statt 3 Zeilen richtigem Code lieber eine ganze "richtige Lib" verwenden. Bloss nicht das Hirn aktivieren, könnte schädlich sein.
DummMaier schrieb: > Schlaumaier schrieb: > Jawoll, auch statt 3 Zeilen richtigem Code lieber eine ganze > "richtige Lib" verwenden. Für die Liberalen gibts die Lib. Sie ist extra für sie zugeschnitten. > Bloss nicht das Hirn aktivieren, könnte schädlich sein. Das Hirn muß man schonen, könne man ja später noch gebrauchen oder verleihen... mfG
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.