Forum: Mikrocontroller und Digitale Elektronik HD44780 I2C Adapter


von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Eine Frage kurz und (vllt. auch nicht) schmerzlos: Zeigt der Plan im 
Anhang die korrekte Belegung der verkauften I2C-Adapter für 
Textdisplays?

Ich finde im Netz immer wieder 2 unterschiedliche Belegungen:

Manchmal sind P0..P3 mit den D4 .. D7 des Displays aufgelegt, ein 
anderes mal sind es P4..P7.

Da ich gerade eine "Library" dafür schreibe, aber einen solchen Adapter 
selbst nicht habe, habe ich das mal auf die Schnelle aufgebaut, muß 
jetzt aber wissen, welche Pins des PCF8674 an welche Pins des Displays 
gehen.

Wie gesagt: zeigt das Bild im Anhang den korrekten Schaltplan des 
Adapters (es dauert noch etwas bis ich für Experimentierzwecke einen 
solchen Adapter hier habe, dann kann ich das ausmesen).

Andererseits würde ich gerne zum Einen die Software fertig machen und 
zum anderen ein PCB, auf dem mehrere Schaltungen platziert werden, auch.

Wenn das Teil also jemand hat, kann er mir das evtl. ausmessen und 
bestätigen, dass der Plan im Anhang (Pinbelegung) korrekt ist?

von Wastl (hartundweichware)


Lesenswert?

Ralph S. schrieb:
> muß
> jetzt aber wissen, welche Pins des PCF8674 an welche Pins des Displays
> gehen.

Nö, musst du nicht. Die 4 Bits bzw. Control-Bits je nach Bedarf
nach links oder rechts schieben ist eine winzige Änderung die
du nachträglich immer noch machen kannst. Verglichen mit dem
Aufwand die gesamte Ansteuerung zu schreiben ....

Wenn du den Aufwand als beträchtlich ansiehst dann machst du
vom Konzept her etwas falsch.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Ralph S. schrieb:
> Zeigt der Plan im
> Anhang die korrekte Belegung der verkauften I2C-Adapter für
> Textdisplays?
Mir sind bisher min. 3 verschiedene Adapter untergekommen.
Plus eins, mit einem gänzlich anderem Erscheinungsbild.

Alle diese Adapter unterscheiden sich in vielen Dingen, auch im 
Schaltplan/Belegung und Adressen.

von Wastl (hartundweichware)


Lesenswert?

Arduino F. schrieb:
> Alle diese Adapter unterscheiden sich in vielen Dingen

Nö. Elementare Dinge sind gleich. 4 Bit Daten gehen an 4 Bit
Daten, 4 Steuerbits gehen an 4 Steuerbits, und das immer in
der gleichen Reihenfolge. Im Zweifelsfall bei Arduino spicken.
Zur Not kann man immernoch die Defines für die Steuerbits
ändern, das muss die Software-Source in aller Geduld ertragen
können.

von Rainer W. (rawi)


Lesenswert?

Arduino F. schrieb:
> Alle diese Adapter unterscheiden sich in vielen Dingen, auch im
> Schaltplan/Belegung und Adressen.

Solange dort ein PCF8674 werkelt, gibt es zumindest für die Adressen 
nicht viel Spielraum. Über die herausgeführten Adressbits A0..A2 lassen 
sich acht verschiedene Adressen einstellen - und das war's.

von Ralph S. (jjflash)


Lesenswert?

Wastl schrieb:
> Wenn du den Aufwand als beträchtlich ansiehst dann machst du
> vom Konzept her etwas falsch.

ganz ganz tolle Antwort!

Das das ein "Klacks" ist, weiß ich selbst. Will man aber mit anderer 
Software kompatibel bleiben (und eine PCB dafür macht, weil auf der PCB 
eben noch Platz ist) dann macht das schon Sinn (damit eben auch die 
Arduino-User dann it der Platine Plug and Play machen können).

Eine Platine wird so oder so funktionieren und natürlich kann ich auch 
die Software so schreiben, dass sie über einen Parameter konfiguriert 
wird, welche Pins denn jetzt verwendet werden.

Will man aber mit den käuflich erwerbbaren Teilen kompatibel bleiben 
(und mit deren Software), dann muß man das wissen.

Es ist immer wieder nett, für wie doof man hier gehalten wird!!!!

Arduino F. schrieb:
> Alle diese Adapter unterscheiden sich in vielen Dingen, auch im
> Schaltplan/Belegung und Adressen.

okay, das ist schon einmal eine Aussage, vielen Dank. Dann sollte man 
(ich) das konfigurierbar machen!

Wastl schrieb:
> Nö. Elementare Dinge sind gleich. 4 Bit Daten gehen an 4 Bit
> Daten, 4 Steuerbits gehen an 4 Steuerbits, und das immer in
> der gleichen Reihenfolge.

Falsch! Es sind 3 Steuerbits und wenn r/w Leitung fest verdrahtet wird, 
sind es nur 2!

von Wastl (hartundweichware)


Lesenswert?

Ralph S. schrieb:
> Falsch! Es sind 3 Steuerbits und wenn r/w Leitung fest verdrahtet wird,
> sind es nur 2!

Das vierte Bit ist die LED.

von Manfred P. (pruckelfred)


Lesenswert?

Ralph S. schrieb:
> muß
> jetzt aber wissen, welche Pins des PCF8674 an welche Pins des Displays
> gehen.

Wo gibt es einen PCF8674, von Philips / NXP jedenfalls nicht.

Wastl schrieb:
> Ralph S. schrieb:
>> muß
>> jetzt aber wissen, welche Pins des PCF8674 an welche Pins des Displays
>> gehen.
> Nö, musst du nicht.

Ja, muss er doch.

Arduino F. schrieb:
> Mir sind bisher min. 3 verschiedene Adapter untergekommen.
> Plus eins, mit einem gänzlich anderem Erscheinungsbild.
>
> Alle diese Adapter unterscheiden sich in vielen Dingen, auch im
> Schaltplan/Belegung und Adressen.

So ist das, und was man wirklich bekommt, sieht man erst, wenn man das 
I2C-Board selbst auf dem Tisch hat.

Wastl schrieb:
> Arduino F. schrieb:
>> Alle diese Adapter unterscheiden sich in vielen Dingen
> Nö. Elementare Dinge sind gleich.

Sabbel kein' Stuß, der A*Fanboy kennt das Zeug besser als Du.

Rainer W. schrieb:
> Solange dort ein PCF8674 werkelt, gibt es zumindest für die Adressen
> nicht viel Spielraum. Über die herausgeführten Adressbits A0..A2 lassen
> sich acht verschiedene Adressen einstellen - und das war's.

Gerne genommen ist noch PCF8574A mit seiner abweichenden Grundadresse. 
Ob auf der Chinaplatine ein 8574 oder 8574-A ist, sieht man auch erst, 
wenn man sie auf dem  Tisch hat.

Ralph S. schrieb:
> (damit eben auch die
> Arduino-User dann it der Platine Plug and Play machen können).

Was soll den Arduino hier, für die gängiggen I2C-Adapter gibt es diverse 
fertige Dateien. Was ich bislang benutzt habe, braucht halt eine 
Initialisierung mit Adresse und Pinfolge, das geben die beigefügten 
Programmbeispiele her.

von Ralph S. (jjflash)


Lesenswert?

Manfred P. schrieb:
> Was soll den Arduino hier, für die gängiggen I2C-Adapter gibt es diverse
> fertige Dateien. Was ich bislang benutzt habe, braucht halt eine
> Initialisierung mit Adresse und Pinfolge, das geben die beigefügten
> Programmbeispiele her.

Mensch Leute, ich wollte doch nur wissen, wie das Teil verdrahtet ist 
(weil ich keines habe). Das Ding zu programmieren ist sicherlich kein 
Hexenwerk, aber ich mache eben im Moment Libraries für CH32 - Arduino 
und möchte hier eben einige Dinge haben, die der "normale Arduino-User" 
verwendet und denk ich, können auch solche Platinen vorkommen.

Einfach, dass das dann mit dem Chip funktioniert.

By the way: so kompatibel ist Arduino mit unterschiedlicher Hardware 
nicht. Ein direkt verdrahtetes HD44780 komatibles Display funktioniert 
mit dem CH32V003 Core nicht (Timing stimmt nicht, war das erste mal, 
dass ich das so gesehen habe).

Manfred P. schrieb:
> Wo gibt es einen PCF8674, von Philips / NXP jedenfalls nicht.

Schreibfehler von mir, muß natürlich PCF8574 heißen!

Wastl schrieb:
> Ralph S. schrieb:
>> Falsch! Es sind 3 Steuerbits und wenn r/w Leitung fest verdrahtet wird,
>> sind es nur 2!
>
> Das vierte Bit ist die LED.

Ich bin so stolz auf dich und so froh, dass ich von dir lernen darf. Was 
würde ich nur ohne hartundweichware machen?

von Jörg R. (solar77)


Lesenswert?

Ralph S. schrieb:
> (..)
> Da ich gerade eine "Library" dafür schreibe, aber einen solchen Adapter
> selbst nicht habe, habe ich das mal auf die Schnelle aufgebaut, muß
> jetzt aber wissen, welche Pins des PCF8674 an welche Pins des Displays
> gehen.

Ich habe exakt das Modul welches in deinem Schaltplan abgebildet ist. 
Das habe ich gerade mal gemessen, es stimmt mit dem Plan überein.

> Wenn das Teil also jemand hat, kann er mir das evtl. ausmessen und
> bestätigen, dass der Plan im Anhang (Pinbelegung) korrekt ist?

Ja, kann ich bestätigen.

: Bearbeitet durch User
von Harry L. (mysth)


Lesenswert?

Deckt sich mit meinen Boards.
Andere hatte ich noch nicht.

Btw.: vielleicht kannst du ja mit meinem Code was anfangen:
Beitrag "[STM32/HAL] generischer Treiber für die beliebten I²C-Text-Displays"

von Ralph S. (jjflash)


Lesenswert?

Jörg R. schrieb:
>> Wenn das Teil also jemand hat, kann er mir das evtl. ausmessen und
>> bestätigen, dass der Plan im Anhang (Pinbelegung) korrekt ist?
>
> Ja, kann ich bestätigen.

suuuuper, vielen Dank

Harry L. schrieb:
> Btw.: vielleicht kannst du ja mit meinem Code was anfangen:
> Beitrag "[STM32/HAL] generischer Treiber für die beliebten
> I²C-Text-Displays"

Danke für den  Link, aber meine Software läuft schon stabil, es ging nur 
um die Belegung.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

https://homepages.uni-regensburg.de/~erc24492/LCD-Adapter/LCD-Adapter.html

Da sind nicht nur die korrekte Bezeichnung 8574 sondern gleich zwei 
Schreibfehler zu finden:

I2C Adapter für LCD Display mit PCF7574

Datenblatt: I2C-PCF8674 LCD Modul Pollin.PDF
kann für ein paar € von Pollin gekauft werden

https://de.wikipedia.org/wiki/Lese-_und_Rechtschreibst%C3%B6rung

von Ralph S. (jjflash)


Lesenswert?

Christoph db1uq K. schrieb:
> https://de.wikipedia.org/wiki/Lese-_und_Rechtschreibst%C3%B6rung

Wie gut, dass du über andere urteilen kannst. Wenn man fachlich nichts 
beitragen kann, mach man sich über Schreibfehler her.

Geh her und füttere chatgpt mit einem technischen Problem, sagen wir 
hier für uns gültig, mit einem Programmierproblem. chatgpt wird keine 
Rechtschreibfehler aufweisen, erzählt aber extrem oft technischen Müll 
(mache ich mir manchmal einen Spaß daraus).

Was ist dir lieber? Rechtschreibfehler, die man als solche erkennt, 
dafür technisch (wie gut, dass es hier nicht um wirkliche Probleme ging) 
in Ordnung, im besten Fall fundiert sind. Oder ist es bessr du schreibst 
in einem perfekten Deutsch mit absolut korrekter Schreibweise dann 
absolut technischen Mist?

By the way, ich habe Legasthenie (wenn auch nur in schwacher Form, das 
man an bestimmten Wörtern bis heute merkt). Vor zig Jahren habe ich mir 
das Rechtschreibung hart antrainieren müssen. Grammatik war nie ein 
Problem.

Von daher: wenn du schon einen Artikel aus Wikipedia verlinkst, dann 
denke daran, dass das eine Krankheit ist, die Menschen die das betrifft 
sicherlich nicht glücklich darüber sind und so ganz nebenbei hier 
vollkommen unrelevant ist, solange man weiß, um was es geht!

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ja entschuldige meine kurze Nebenbemerkung. Dass gleich mehrere Autoren 
zu einem "uralten" Bauteil die Bezeichnung falsch schreiben ist seltsam.

Das Philips-Datenbuch von 1997:
https://bitsavers.org/components/philips/_dataBooks/1997_IC12_Philips_I2C_Peripherals.pdf#page=396

Zum Unterschied der "A"-Version:
"The PCF8574 and PCF8574A versions differ only in their
slave address as shown in Fig.9."

Es wird anscheinend heute von Texas Instruments in vier Gehäusen 
angeboten:
https://www.ti.com/lit/ds/symlink/pcf8574.pdf
Juli 2001, Revision Sept. 2024
hier gibt es anscheinend keine A-Version?

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Christoph db1uq K. schrieb:
> Dass gleich mehrere Autoren zu einem "uralten" Bauteil die Bezeichnung
> falsch schreiben ist seltsam.

Du vergisst, dass der Zugang zu diesem Forum oft über PCs erfolgt, wo 
Copy&Paste eine übliche Methode im Umgang mit Texten ist.
Was ist also an einem Folgefehler so seltsam?

Selbst die Forensoftware erkennt "PCF8674" als Bauteilbezeichnung und 
verlinkt auf eine Seite https://www.mikrocontroller.net/part/PCF8674, 
die wiederum auf Threads mit PCF8574 und das Datenblatt des PCF8574 
verknüpft.

Nimm's einfach hin - passiert.

> https://www.ti.com/lit/ds/symlink/pcf8574.pdf
> Juli 2001, Revision Sept. 2024
> hier gibt es anscheinend keine A-Version?

Für die A-Version gibt es ein eigenes Datenblatt:
> https://www.ti.com/lit/ds/symlink/pcf8574a.pdf

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Rainer W. schrieb:
> Für die A-Version gibt es ein eigenes Datenblatt

Danke für die Info.

Ich habe mal nachgesehen, wann ich einen I2C-Bus in AVR-Assembler 
angesprochen habe, das war 2002. Am I2C-Bus hingen ein ADC/DAC PCF8591P 
und ein 2,4GHz Satellitentuner Comtech mit einem AT90S2313 der auch noch 
einen Drehgeber DDM427 auswertete und ein 2*16-stelliges Display 
ansteuerte. Alles lange vor Arduino.
https://hopt-schuler.com/sites/default/files/medien/dokumente/2022-11/miniature_2bit_encoder_427_2022.pdf
Also kein PCF8574, das wußte ich nicht mehr.
Der Tuner für 2,4GHz mit PLL-Ansteuerung über I2C-Bus:
https://www.hb9afo.ch/articles/Comtech/RX13.pdf

2011 gab es hier einen Thread zu einer C-Library für I2C-Chips:
Beitrag "C: AVR: Library für verschiedene I2C-Chips unter Verwendung der P.Fleury-Lib inkl. Datenblätter"
Ist schon seit 2015 nicht mehr weitergeführt worden.

von Karl B. (gustav)



Lesenswert?

Ich hab den mit dem "A" am Ende.
Der hat nur eine andere I2C-Adresse. (Steht im Programm.)
Ansonsten:
LCD im Vierbitmodus.

Wastl schrieb:
> Ralph S. schrieb:
>> Falsch! Es sind 3 Steuerbits und wenn r/w Leitung fest verdrahtet wird,
>> sind es nur 2!

Die genannten Steuerbits werden "verkapselt".

Und im Anhang eine getestete Init mit USI für ATiny2313/4313
Sain Smart LCD
Platine -> Pinout identisch.

ciao
gustav

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Beitrag "Re: Elro PAL-Bildschirm für Funk-Überwachungskamera, wie anschließen?"
Da habe ich erst letztes Jahr den Schaltplan meines damaligen Tuners mit 
I2C-Bus gepostet, leider ist die Bezeichnung der Plessey-PLL schlecht zu 
lesen. Es dürfte SP5055S heißen:
https://www.rf-microwave.com/resources/products_attachments/5a43870f423fa.pdf

von Karl B. (gustav)


Lesenswert?

Ralph S. schrieb:
> By the way: so kompatibel ist Arduino mit unterschiedlicher Hardware
> nicht.
Full ack. Siehe auch hier:
Beitrag "Re: I2C Display einfache Frage"
Und zurück obigem Beispiel:
Hatte ich noch vergessen: Zu den "Steuerbits" gehört hier auch die 
Hintergrundbeleuchtung (ein/aus).

ldi temp, 0b00001000  ; LED-backlight on

; P7 | P6 | P5 | P4 | P3 | P2 | P1 | P0
; D7 | D6 | D5 | D4 | LED| ENA| R|W| RS

Insofern auch Übereinstimmung mit Bild
https://www.mikrocontroller.net/attachment/preview/693952.jpg

ciao
gustav

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Ralph S. schrieb:
> By the way: so kompatibel ist Arduino mit unterschiedlicher Hardware
> nicht. Ein direkt verdrahtetes HD44780 komatibles Display funktioniert
> mit dem CH32V003 Core nicht (Timing stimmt nicht, war das erste mal,
> dass ich das so gesehen habe).

Was soll man mit dieser Aussage anfangen?
Was GENAU funktioniert da nicht, d.h. was ist dort am Timing falsch?

Karl B. schrieb:
> Insofern auch Übereinstimmung mit Bild
> https://www.mikrocontroller.net/attachment/preview/693952.jpg

Warum verlinkst du so eine unlesbare Briefmarke und nicht das richtige 
Bild?
https://www.mikrocontroller.net/attachment/693952/hd44780_i2c_adapter.png

: Bearbeitet durch User
von Karl B. (gustav)


Lesenswert?

Rainer W. schrieb:
> Warum verlinkst du so eine unlesbare Briefmarke und nicht das richtige
> Bild?
>
>

Es sollte auf das Bild im ersten Beitrag hingewiesen werden, sonst 
nichts.
Und auf den ersten Post. Zum LESEN!!
Wenn da "Grafikadresse kopieren" steht, steht da nichts von Auflösung.
Und ich gehe davon aus, dass dann auch automatisch auf den ersten Post 
gelinkt wird.

ciao
gustav

von Ralf X. (ralf0815)


Lesenswert?

Karl B. schrieb:
> Rainer W. schrieb:
>> Warum verlinkst du so eine unlesbare Briefmarke und nicht das richtige
>> Bild?
>>
>>
>
> Es sollte auf das Bild im ersten Beitrag hingewiesen werden, sonst
> nichts.
> Und auf den ersten Post. Zum LESEN!!

Halbwegs normale Foristen verlinken dann einfach den ersten Beitrag oder 
verweisen an das EP/ET, etc., statt so einen Stuss anzustellen, der 
NATÜRLICH nicht zu dem Text führt, den man lesen soll.

: Bearbeitet durch User
von Veit D. (devil-elec)


Lesenswert?

Hallo,

ich würde allerdings nicht mehr den veralteten PCF8574(A) verwenden. 
Sonst "blockiert" man sich ggf. mit nur 100kHz den Bus.
Alternativen sind PCA9538, PCA8574(A), PCA9654(A), die Bauformen sind 
auch schmaler.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Karl B. schrieb:
> Und ich gehe davon aus, dass dann auch automatisch auf den ersten Post
> gelinkt wird.

Nein, wird es nicht.

Mit der Funktion "Vorschau" (links unter dem Texteingabefenster) kannst 
du dir vorm Veröffentlichen ansehen, wie dein Beitrag im Thread aussehen 
würde.

von Jörg R. (solar77)


Lesenswert?

Karl B. schrieb:
> Rainer W. schrieb:
>> Warum verlinkst du so eine unlesbare Briefmarke und nicht das richtige
>> Bild?

> Es sollte auf das Bild im ersten Beitrag hingewiesen werden, sonst
> nichts.
> Und auf den ersten Post. Zum LESEN!!
> Wenn da "Grafikadresse kopieren" steht, steht da nichts von Auflösung.
> Und ich gehe davon aus, dass dann auch automatisch auf den ersten Post
> gelinkt wird.

Kannst du noch nicht wissen..bist ja erst seit 18 Jahren im Forum mit 
8600 Beiträgen🤔 Das wird schon..😀

: Bearbeitet durch User
von Karl B. (gustav)


Lesenswert?

https://www.avrfreaks.net/s/topic/a5C3l000000U3jAEAS/t028128
Da wir als Leichenzerfledderer bekannt sind, bin ich noch auf eine Info 
gestoßen.
In der Tat, es gab "#pragma unsupported instructions". Nicht nur 
bezüglich besagter, sondern auch anderer.
Also war das mit dem z+ nicht ganz so falsch. Ich kann mich erinnern, 
dass genau das angemeckert wurde "no such instruction Z+"
Allerdings linkt jetzt Studio 4 automatisch auf die richtige 
Includedatei.
Damit entfällt der entsprechende Codeschnipsel vom Uralt-Programm.
Ich tendiere sowieso dazu, tn4313def.inc zu bevorzugen. Hab keine 
2313-er mehr hier rumliegen, nur noch ATMegas und 4313-er.
Spare mir den "neuen Code" einzukopieren.
Erst, wenn wirklich etwas Vernünftiges dabei herauskommt.
Momentan noch die Adressierprobleme im 4-Bit-Modus.
Mit Busyflagabfrage brauchen wir uns hier erst garnicht herumzuschlagen.

ciao
gustav

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.