2 OLED Displays mit Multiplexer: wie anschließen?

Hallo,

bin totaler Anfänger für Arduino und versuche nun 2 OLED Displays mit einem Arduino über einen Multiplexer ans laufen zu bekommen.

Ein Display hat einwandfrei geklappt. Jetzt versuche ich zwei Displays über dieses Board anzuschließen.

Jeden einzelnen kann ich über das Board mit Strom & Bild versorgen. Beide gleichzeitig klappt leider nicht.

Ich habe mit mehreren Scan Programmen versucht herauszubekommen, wie die Adressen der jeweiligen Monitore sind, nachdem ich sie am Multiplexer angeschlossen habe. Dabei bekomme ich aber keine Antwort und die meisten Scanner machen einfach gar nichts.

Ich bin mir nicht sicher, ob ich überhaupt die Verkabelung richtig gemacht habe und ob das mit dem Board überhaupt so funktioniert.

Könnte da mal jemand einen Blick drauf werfen, ob das so passt und vielleicht hat ja jemand eine Idee, was ich falsch mache...

Danke euch im Voraus!

LG

kay899

wie die Adressen der jeweiligen Monitore sind

Wenn die I2C Displays unterschiedliche Adressen haben können braucht man keinen Multiplexer. I2C Multiplexer sind nur nötig wenn man die Adresse nicht einstellen kann

Um welchen Multiplexer handelt es sich hier? I2C ist bidirektional. Daher gehen normale digitale Multiplexer hier generell nicht. Für sowas gibt es spezielle I2C Multiplexer.

Die Displays haben dieselbe Adresse, daher der Versuch den Multiplexer zu nehmen.

Es ist ein:
TCA9548A I2C IIC Multiplexer

Hi,
Schau Dir mal dieses Tutorial an, vielleicht hift es Dir weiter..

LG Stefan

Hast Du den Kanal richtig angesprochen?
Der Kanal muß zuerst ausgewählt werden um danach auf das Display das an diesem Kanal häng, anzusprechen.

Dazu mußt Du das Übertragungsprotokoll des Displays mit dem Auswahlprotokoll des Multiplexers erweitern.

"bin totaler Anfänger für Arduino" Da wird dies etwas zuvel für Dich sein.

Grüße Uwe

uwefed:
"bin totaler Anfänger für Arduino" Da wird dies etwas zuvel für Dich sein.

Grüße Uwe

Hallo Uwe,
dann würdest Du also sagen, dass dies für einen Anfänger, zusammen mit unserer Hilfe, nicht erlernbar ist?
Oder wie hast Du jetzt Deine Aussage gemeint?

Deltaflyer:
Hallo Uwe,
dann würdest Du also sagen, dass dies für einen Anfänger, zusammen mit unserer Hilfe, nicht erlernbar ist?

Ich heiße zwar nicht Uwe, aber ich nehme an, dass er meint, was auch mir beim Lesen des OPs durch den Kopf ging: Sich als „totaler Anfänger“ an derlei Zeug zu wagen finde ich arg ambitioniert. Das ist sozusagen vom Erdgeschoss ins fünfte OG, ohne durch die Stockwerke darunter gegangen zu sein.

Allerdings ist „totaler Anfänger“ ziemlich interpretierbar.

Gruß

Gregor

@ OP: Hast Du auch einen gezeichneten Schaltplan? Um nur anhand von Fotos die Korrektheit beurteilen zu können muss ich mir heftig das Hirn verknoten - was auch an mir liegt (andere tun sich da leichter).

Danke für euer Feedback. Ich weiß das das ganz schön ambitioniert ist, aber da muss ich jetzt durch.

Ich hatte über die Anschlüsse im Board jeden Monitor einmal direkt mit dem Arduino verbunden und dann funktionieren die auch. Das scheint zu klappen.

Mein Gefühl ist, dass ich den Multiplexer nicht angesteuert bekomme (warum auch immer).

Gibt es eine Art Scan-Code-Beispiel, mit dem man mal testen kann, ob man auf dem Multiplexer landet und welche Adresse er hat? Aktuell gehe ich vom Standard "0x70" auf, da die Steckplätze A0-A2 "leer" sind.

Ich würde gern mal testen, ob ich den Multiplexer ansprechen kann und dann kann man weitersehen.

Danke euch!

LG

kay899

kay899:
Ich würde gern mal testen, ob ich den Multiplexer ansprechen kann und dann kann man weitersehen.

Evtl. hilft Dir ein „I²C-Sniffer“. Auf die Schnelle fand ich das hier.

Gruß

Gregor

kay899:
Die Displays haben dieselbe Adresse, daher der Versuch den Multiplexer zu nehmen.

Im Auslieferungszustand ist das so, aber meine lassen sich in der Adresse ändern, indem ein Widerstand umgelötet wird. Bei mir steht auf der Rückseite "0x78" und "0x7A".

Wäre halt einfacher.

Einfach mal einen Link der verwendeten Displays posten.

Hallo Kay,

ja es gibt ein Programm um den I²C-Bus zu scannen.

https://arduino-projekte.webnode.at/meine-libraries/i2c-multiplexer-tca9548a/

schau da mal nach. Habe vor kurzem auch einen Multiplexer benutzt. Es ist nicht ganz ohne die channels dann auch richtig zu shiften.
Aber da gibt es auch noch weitere Lösungen um die richtigen Channels anzusteuern, einfach mal suchen ;).

Gruß
Kas

agmue:
Im Auslieferungszustand ist das so, aber meine lassen sich in der Adresse ändern, indem ein Widerstand umgelötet wird. Bei mir steht auf der Rückseite "0x78" und "0x7A".
Wäre halt einfacher.

Ganz so einfach war es bei meinem Versuch, die Adresse eines solchen Displays zu ändern, nicht. Ich bin allerdings kein geübter SMD-Löter. Am Ende habe ich den „Widerstand“ (IIRC mit 0 Ohm, also eine Brücke) weggefräst und einen Löt-Klacks an die richtige Stelle gesetzt.

Danach funktionierte aber alles wie erwartet. Einen Multiplexer musste ich nie benutzen.

Gruß

Gregor

gregorss:
Ganz so einfach war es bei meinem Versuch, die Adresse eines solchen Displays zu ändern, nicht. Ich bin allerdings kein geübter SMD-Löter.

Am einfachsten ist es (wenn man nicht das geeignete Werkzeug hat) mit zwei Lötkolben.

Allerdings etwas Übung braucht es schon. :wink:

Es kann aber einen Anfänger auch durchaus überfordern, wenn wir ihm empfehlen, die I2C Adresse auf einem OLED zu ändern, wenn wir 1. noch gar nicht wissen, ob das bei seinen Displays geht und wir 2. noch nicht wissen. ob der TO einen Lötkolben überhaupt schonmal gesehen oder in der Hand hatte. Und da soll er jetzt bereits auf seinem Display 'herumbraten' und dieses dabei womöglich zerstören?
Aber andererseits trauen wir ihm nicht zu, mit unserer Hilfe nen Sketch geschrieben zu bekommen, mit dem er den Multiplexer in Betrieb bekommt?

Gut, wenn wir nen link zu seinen Displays hben, wissen wir, ob er den Multiplexer überhaupt benötigt. Andererseits schadet es uch sicher nicht, wenn der TO lernt einen solchen multiplexer zu benutzen und in den Sketch einzubinden.

Deltaflyer:
Es kann aber einen Anfänger auch durchaus überfordern,
.....

Daher wurde er ja schon um einen Link seines Displays gebeten. Das sollte ihn nicht überfordern.

Also ich habe 5 von diesen Displays:

Dazu habe ich mir jetzt diesen Multiplexer gekauft:

Hoffe das man das übereinander bekommt.

Den vorgeschlagenen "Sniffer" kann ich heute Abend mal testen, wenn ich wieder zu Hause bin.

Erstmal danke für euer vieles Feedback.

LG
kay899

Das Display kann man durch Umlöten eines Widerstandes von 0x78 auf 0x7A umstellen. Das ist sogar beschriftet.
Wenn der Widerstand nach dem Ablöten nicht wieder auffindbar ist, tut es auch ein stück dünner Draht.

Gruß Tommy

Wenn du tatsächlich die verlinkten Displays hast, dann schau mal auf die Rückseite, da siehst du, dass es zwei Adressen gibt, die du durch umlöten wechseln kannst.

Da kannst du dir für dein aktuelles Projekt den Multiplexer sparen.