I2C an ESP32, 5V vs. 3,3V

Moin in die Runde,

nachdem ich mich bislang mit Arduinos beschäftigt habe, möchte ich jetzt für eine komplexere Anwendung auf den ESP32 wechseln. Mein Problem sind die 3,3V an diversen Komponenten, die ich immer wieder benötige.

So möchte ich z.B. ein LCD 2004 oder 1602 zusammen mit einem Wii-Controller am I2C Bus betreiben. Das Display alleine bekomme ich ausgetrickst, in dem ich die 5V vom Vin des ESP32 in den I2C Controller vom Display einspeise. Danach funktioniert das Display korrekt.

Der Wii Controller benötigt nativ die 3,3 V - und hier fangen die Probleme an. Ich kann sicher nicht das Display über 5V betreiben und (am gleichen Bus) den Wii Controller über 3,3V.

Das Display 2004 habe ich in China auch als 3,3V Variante gefunden. Bleibt die Frage, ob der I2C Controller des Displays auch mit 3,3V klar kommt. Vielleicht hat ja hier jemand Erfahrung?

Ich denke, ein Level-Shifter kann hier auch keine Lösung sein, denn dann erhält auch der Wii Controller über den I2C Bus die 5V, die er nicht mag.

Wäre für jede Idee dankbar, die mich in dieser Problematik weiter bringt.

EDIT: Ich vergas: Laut Datenblatt des PCF8574 müsste dieser mit VDD= 2,5 - 6V versorgt werden können. High-Level Input 0,7 * VDD bis VDD + 0,5. Bleibt die Frage, ob auf dem Modul (nicht Chip) irgend was verbaut ist, was damit kollidiert (z.B. Pullups).

noiasca:
wenn nur das Display 5V am I2C hat, dann gib halt den Level-Shifter nur in die i2c Leitungen zum Display.

Langfristig würde ich mir einfach ein 3.3V Display besorgen :wink:

Ja, aber Display und Wii Controller hängen am gleichen Bus, und ich denke, dass dies zu einer ungewollten Schleife führen könnte.

Werde mir einen kleinen Fundus von 3,3 V Displays zulegen. Die scheint's aktuell sogar aus EU Warehouses zu geben.

Demokrit:
Ja, aber Display und Wii Controller hängen am gleichen Bus, und ich denke, dass dies zu einer ungewollten Schleife führen könnte.geben.

Das geht problemlos. Wii Controller und die Low-Level Seite des Levelshifter hängen direkt am ESP32, die High-Level Seite des Shifters wird dann mit dem Display vebunden.

Prima, dann werde ich mir zusätzlich ein paar Level Shifter bestellen. Die kosten ja fast nix.

Danke für die Hilfe!

Grüße,
Thomas

und ich denke

Bitte denke dir nicht irgendwelche Fantasien aus und schreie dann nach Hilfe.
Sondern kümmere dich besser um Fakten!
(das ist für alle Seiten angenehmer)

Und zu I2C ist ja nun wirklich ALLES bekannt, dokumentiert und spezifiziert.

Hier findest du wichtige Links.

Wenn du uns schon nicht glaubst, dann doch bitte dem Erfinder.