2x i2c oled ssd 1306 mit u8g2?

moin weis jemand wie ich 2 unabhängig voneinander betreiben kann?? danke

hoer173: moin weis jemand wie ich 2 unabhängig voneinander betreiben kann?? danke

Unabhängig soll heißen, jeder an einem eigenen Controller, oder wie ? Ein paar mehr Informationen sind hilfreich. Und dein bisheriger Sketch in Code-Tags hier auch. Evtl. eine zweite Instanz.

M.E. verfügen die OLED Ansteuerungen über 2 Adressen, die per Lötbrücke wählbar sind. Also ganz easy. Die 2 Displays // verdrahten und die Auswahl per SW.

mal allgemein: Wenn bei dem Display die I2C Adresse modifizierbar ist, dann 2 verschiedene Adressen einstellen und 2 verschieden Istanzen der Displayobjekte der Bibliothek. Beide Displays können am gleichen I2C Bus hängen. Wenn das Display nur fixe I2C Adressen hat dann kann man einen I2C Multipexer zB. TCA9544A oder ähnliche Bausteine. Der generiert verschiedene Subbusse an denen I2C Geräte mit gleicher Adresse hängen konnen. Um diesen zu benutzen mußt Du über I2C den I2C Subkanal auswählen und dann das Display über seine Bibotek ansprechen. Der TCA9544A kann gleichzeitig auch als Pegelwandler verwendet werden.

Grüße Uwe

also die adresse ist einstellbar! 2 lötbrücken! besser wäre natürlich 3 oleds in der groesse...

ich will per i2c 2 gleiche displays mit daten versorgen.

das eine display für sensordaten das 2. display für zustände.

ich weis nur nicht wie ich das 2. display mit der u8g2 adresserie.....:(

hoer173: ich weis nur nicht wie ich das 2. display mit der u8g2 adresserie.....:(

Post #2 lesen.

ich hab noch kein sketch! erstmal mach ich die theorie :)

hoer173:
ich hab noch kein sketch! erstmal mach ich die theorie :slight_smile:

Ok, dann lies bitte die Datenblätter deiner verwendeten Teile durch.
Da kommst du mit der Theorie auch weiter.

hoer173: also die adresse ist einstellbar! 2 lötbrücken! besser wäre natürlich 3 oleds in der groesse...

ich will per i2c 2 gleiche displays mit daten versorgen.

das eine display für sensordaten das 2. display für zustände.

ich weis nur nicht wie ich das 2. display mit der u8g2 adresserie.....:(

https://github.com/olikraus/u8g2/wiki/u8g2reference#seti2caddress

Oliver

danke oliver! funktioniert!

nun bilded sich ein anderes problem!

unzwar hab ich pro display 2 seiten! also 4 seiten auf 2 displays die abwechselnd gezeigt werden sollen.

ich arbeite nur mit text! keine grafiken oder animationen.

ist die beste lösung :

1 seite anzeigen für x sekunden display löschen 2. seite anzeigen für x sekunden display löschen und loopen

oder per firstpage nextpage?

danke

hoer173: ist die beste lösung :

1 seite anzeigen für x sekunden display löschen 2. seite anzeigen für x sekunden display löschen und loopen

oder per firstpage nextpage?

danke

clear/send vs. firstpage/nextpage ist eher eine Speicherplatzfrage. Möglich ist beides.

Wichtig: Da es sich um zwei gleiche Displays handelt, teilen sich die beiden Displays den Speicher. Man kann also nicht gleichzeitig auf beide Displays schreiben, sondern nur hintereinander. Mit firstpage/nextpage benötigt man also zwei while schleifen (hintereinander).

Oliver

ich versteh das mit firstpage nextpage eh nicht ganz..

das beispiel will irgendwie nicht in mein kopf rein sorry...

ein etwas umfangreicheres beispiel wäre vielleicht toll.

ich mach bisher alles mit .print und .println

am ende n delay dann clear.. dann die 2. seite genauso...

da ich mit dem mega2560 arbeite ist speicher vorsb eh egal :)

danke oliver.. ein besseres tutorial oder beispiel mit first und nextpage wäre klasse

hoer173: danke oliver.. ein besseres tutorial oder beispiel mit first und nextpage wäre klasse

Äh, ja, also...Hast du denn die U8g2 Beispiele in der Arduino IDE gefunden? Das wäre vermutlich schon mal ein Anfang. Und das U8g2 Wiki ist Dir auch bekannt?

Ansonsten ist das mit der first/next page hier beschrieben: https://github.com/olikraus/u8glib/wiki/tpictureloop

Dann wäre hier noch eine Kurzanleitung: https://github.com/olikraus/u8g2/wiki/setup_tutorial#u8g2-full-buffer--page-buffer-and-u8x8-mode

Grüße, Oliver

ich versteh das so das firstpage nix mit 1. seite 2.seite zutun hat... richtig?sorry bin ganz neu beim programmieren...

hoer173: .... sorry bin ganz neu beim programmieren...

Wie jetzt, du bist doch seit 2015 dabei und hast in der Zeit nichts gelernt ?

hoer173: ich versteh das so das firstpage nix mit 1. seite 2.seite zutun hat... richtig?sorry bin ganz neu beim programmieren...

"page" stammt aus dem SSD1306 Datenblatt. Damit sind die ersten 8 Zeilen Deines Displays gemeint. Aber eigentlich benötigst Du das ja gar nicht mit einem Mega2560. Nimm einfach den full buffer mode (clear/send Befehle)

Oliver

genau das hab ich jetzt gemacht!

hotsystems! ja ich bin lang dabei aber die display geschichte ist neuland:)