1,3 Zoll OLED in Betrieb nehmen

Hallo und willkommen zu unserem heutigen Blog-Beitrag.

 

Unsere Support-Abteilung bekommt immer wieder Anfragen von Kunden bei denen das 1,3 Zoll OLED nicht funktioniert.

Falls Sie den Anweisungen in unserem eBook zum OLED Display folgen, und den Code auf den Arduino hochladen, erwartet Sie folgender Anblick:

Fehlerhaftes OLED Display?

 

Ich würde an dieser Stelle auch Vermuten dass mein Display defekt ist. Dabei fehlt dem OLED nichts.

 

Ursache für die fehlerhafte Anzeige ist, dass dieses Display nicht mit dem SSD1306, sondern mit dem SH1106 Controller-Chip ausgestattet ist. Die im eBook verwendete Adafuit_SSD1306 Bibliothek unterstützt diesen Chip jedoch nicht.

Deswegen nutzen ich im heutigen Beispiel die weit verbreitete U8g2 Bibliothek von Oliver Kraus. Sie können diese ganz einfach über den Arduino Bibliotheksverwalter nachinstallieren, oder bei GitHub herunterladen.

u8g2 Lib

Nachdem die Bibliothek installiert wurde, öffnen wir das Beispiel "Datei" -> "Beispiele" -> "u8g2" -> "full_buffer" -> "GraphicsTest".

Wie bereits aus dem Bildschirmfoto oben zu erahnen, unterstützt die u8g2 Bibliothek eine Vielzahl an Displays und Controllern. 

Ab Zeile 55 kommt eine sehr lange Liste mit Beispielkonfigurationen.

Tipp: Sie können die Zeilennummern anzeigen lassen inden Sie bei "Datei" -> "Voreinstellungen" den Haken bei "Zeilennummern anzeigen" setzen. 

Unser Display hat 128x64 Pixel, ist über I²C Bus angeschlossen, und nutzt den SH1106 Chip. 

Wir suchen uns also den passenden Eintrag, beginnend mit "U8G2_SH1106_128X64_NONAME_F_HW_I2C" welchen wir auf Zeile 75 finden, und kommentieren die Zeile aus, indem  wir die beiden Schrägstricke am Anfang der Zeile (//) auskommentieren.

 

Nach dieser kurzen Änderung können wir den Code auf unseren Mikrocontroller hochladen, und siehe da: das Display funktioniert.

Oled 1,3" am Nano

 

Falls das Hochladen nicht gelingen sollte, weil der Speicher des Arduinos nicht ausreichen sollte, können Sie alternativ die Beispieldatei unter "Datei" -> "Beispiele" -> "U8g2" -> "page_buffer" -> "GraphicsTest" verwenden. Nur muss dann Zeile 76 auskommentiert werden.

 

Hoffentlich konnten wir mit dem heutigen Blog-Beitrag vielen Kunden bei der Inbetriebnahme unseres tollen OLED Displays helfen.

Ich wünsche einen guten Start in die Woche, und verabschiede mich bis zum nächsten Blog-Beitrag.

Ihr Markus Neumann

9 Kommentare

Noa_Berlin

Noa_Berlin

Super… Markus Neumann, Vielen Dank für diesen Blog, Display funktioniert, hätte ohne diesen Beitrag den Fehler niemals finden können.
Herzlichen Dank !!! Wie schön wenn der Schmerz und Frust nachlässt ;-)

Faby

Faby

Hallo AZ-Delivery-Team,

bekomme das Display nicht zum laufen. Nutze einen ESP32 mit Arduino-Umgebung.
Finde das Display auf dem I2C Bus. Aber es zeigt nichts an, Habe schon mehrere Bibliotheken getestet.
Das komplette Display bleibt einfach komplett dunkel :-(

Viele Grüße

Moritz

Moritz

Die Libary für den Raspberry ist auf der Produkteseite in unserem Shop verlinkt.

Mario Koch

Mario Koch

Soweit so gut, aber was mache ich, wenn ich einen RaspberryPi zum Ansteuern verwende?
Für gewöhnlich benötige ich eine Bibliothek für Python od. JavaScript.

Jens Borrmann

Jens Borrmann

Super Beitrag. Dank an Oliver Kraus und Markus Neumann.

Peter Kraeft

Peter Kraeft

Hallo Oliver,
perfekt.
Gruß und vielen Dank
Peter

Peter Kraeft

Peter Kraeft

Hallo Oliver,
perfekt.
Gruß und vielen Dank
Peter

Oliver

Oliver

Hallo Peter

Sämtliche Zeichensätze der u8g2 sind hier verlinkt: https://github.com/olikraus/u8g2/wiki/fntlistall

Das Reference Manual zur U8g2 befindet sich hier: https://github.com/olikraus/u8g2/wiki/u8g2reference

Grüße,
Oliver

Peter Kraeft

Peter Kraeft

Hallo, liebes Team.
Ich habe das 1.3 OLED mit der U8G zum laufen gebracht. Mit einem DHT11 kann ich Temp und Humi anzeigen. Gibt es eine Dokumentation der der Befehle und Zeichensätze?
Viele Grüße Peter

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert