Forum: Mikrocontroller und Digitale Elektronik Display 4x20 mit I2C ansteuern


von Achim S. (achims)


Lesenswert?

Hallo Gemeinde
versuch ein Display mit 4x20 mit einem PCF8574 in 4 Bit anzusteuern. 
Bekomme in der 1 und 3 Zeile Punktraster mit 4x7. Ein anderes Display 
mit 2x16 geht ohne Probleme. Habe ich was übersehen? Leider sagt goo.. 
auch nicht viel dazu.
achim

von sonocke (Gast)


Lesenswert?

Hallo Achim,

viele Display-Controller gehen in ihrer Ansteuerung von 2x40 Zeichen 
aus, stellen diese aber als 4x20 Zeichen dar.

Versuche einfach einmal das 21. Zeichen in eine Zeile zu schreiben (und 
zuvor mit 40 Zeichen zu initialisieren)

Grüße,

Flo

von spess53 (Gast)


Lesenswert?

Hi

>Versuche einfach einmal das 21. Zeichen in eine Zeile zu schreiben (und
>zuvor mit 40 Zeichen zu initialisieren)

Wenn in der 1. und 3. Zeile Kästchen zu sehen sind, dann ist das Display 
nicht initialisiert. Und dann kannst du versuchen Zeichen zu schreiben 
bis du schwarz wirst.

MfG spess

von Achim S. (achims)


Lesenswert?

Sorry, da versteh ich was nicht. Beide Displays haben den gleichen 
Controller, den HD44780. Wenn das Display mit den 2x16 geht, dann muss 
er doch ini. sein

von Achim S. (achims)


Lesenswert?

Habe gerade das Datenblatt noch mal studiert. Als Prz steht drin ST7066 
/ KS 0063. Das Display ist vom Typ PC2004-C. Laut Angabe in i2clcd.h ist 
es für den HD44780 von Peter geschrieben.

von spess53 (Gast)


Lesenswert?

Hi

>Sorry, da versteh ich was nicht. Beide Displays haben den gleichen
>Controller, den HD44780. Wenn das Display mit den 2x16 geht, dann muss
>er doch ini. sein

Ich glaube kaum, das in den Displays, die in den letzten Jahren 
produziert wurden, noch ein originaler HD44780 zu finden ist. Und die 
sog. HD44780-kompatiblen Displaycontroller sind halt nur vom Befehlssatz 
kompatibel, aber nicht unbedingt vom Timing.

MfG Spess

von Achim S. (achims)


Lesenswert?

Hast du eine Idee wie man das lösen kann?

von Achim S. (achims)


Lesenswert?

Sorry, meine blöde Frage. Wenn ich ein Disply mit 4 Zeilen nehme, da 
muss ich doch auch das obere Bit und untere Bit übertragen? Bei einem 
Display auf einem Port ohne I2C mit 4 Bit mache ich es doch auch.
Wenn ich richtig denke, wie mache ich das beim I2C Bus? genau so ?

von spess53 (Gast)


Lesenswert?

Hi

>Hast du eine Idee wie man das lösen kann?

Auf welcher Basis? Die einzige Information von dir ist: 'Es funktioniert 
nicht'.

MfG spess

von Michael L. (michaelx)


Lesenswert?

Achim Seeger schrieb:
> Habe gerade das Datenblatt noch mal studiert. Als Prz steht drin ST7066
> / KS 0063. Das Display ist vom Typ PC2004-C. Laut Angabe in i2clcd.h ist
> es für den HD44780 von Peter geschrieben.

Ich glaube mich zu erinnern, dass der KS 0063 ein längeres Delay in der 
Initialisierung brauchte, als der orgiale HD44780.

Grüße.

von Achim S. (achims)


Lesenswert?

Das nicht funktioniertr bedeutet, das in der 1 und 3 Zeile nur ein 
Punkraster von 5x7 ausgegeben wird. In der Zeile 2 und 4 ist nichts. In 
dem display 2x16 erscheint ein Text der im Programm steht. Habe nach dem 
I2C und LCD init 100 ms eingefügt. Leider ohne Erfolg.
achim

von Falk B. (falk)


Lesenswert?

@Achim Seeger (achims)

>Das nicht funktioniertr bedeutet, das in der 1 und 3 Zeile nur ein
>Punkraster von 5x7 ausgegeben wird. In der Zeile 2 und 4 ist nichts.

Das ist der Zustand nach dem Einschalten ohne Initialisierung.

> In
>dem display 2x16 erscheint ein Text der im Programm steht. Habe nach dem
>I2C und LCD init 100 ms eingefügt. Leider ohne Erfolg.

Logisch, weil ggf. IN den jeweiligen Funktionen an den kritischen 
Stellen eine größere Verzögerung nötig ist.

Probier's mal damit, taufrisch.

Beitrag "I2CLCD Library für HD44780 LCDs"

von Achim S. (achims)


Lesenswert?

Mach ich sofort und berichte darüber

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
Noch kein Account? Hier anmelden.