ESP32 mit OLED Display Quick Setup

Dieses Tutorial entstand anlässlich einer WhatsApp Support Session mit einem Kunden, der versucht hat, mit einem ESP32 Dev Board un Arduino IDE das OLED Display zum laufen zu bringen (Wenn Du das ganze spannende Ereignis in echt nachlesen willst, haben wir es Dir hier abgelegt).

Material

Folgendes Material (in unserem Shop erhältlich) wird für dieses Tutorial verwendet:

[adsenseBlogResponsive]

ESP32 installieren

Wenn Du das ESP32 Modul bereits installiert hast, dann kannst Du gleich zum nächsten Abschnitt springen.

Das ESP32 Modul hängst Du per USB mit einem Micro Anschluss an Deinem Computer an. Dein OS sollte danach das Board erkennen. Normalerweise wird er Treiber aber nicht automatisch installiert. Den passenden Treiber findest Du auf der Espressif (Hersteller von ESP32) Homepage:

https://docs.espressif.com/projects/esp-idf/en/latest/get-started/establish-serial-connection.html

Wenn Du den Treiber richtig installiert hast, solltest Du im Device Manager das Board wie folgt installiert haben:

Silicon Labs CP210x USB to UART Bridge ist unser ESP32 Board

Nun kannst Du in Arduino IDE das Board mit unserer Anleitung installieren.

https://shopofthings.ch/esp32-in-arduino-ide-installieren/

Nachdem du in der Arudino IDE das passende Board ausgefwählt hast, bist Du bereit, das Programm zu erstellen und auf das Board zu laden.

OLED Treiber

Bevor wir loslegen können muss noch der passende OLED Treiber für die Arduino IDE geladen werden. Theoretisch kannst Du irgend ein SSD1306 Treiber nehmen der ESP32 unterstützt. SSD1306 ist ein Chip-Treiber für Bildschirme. Er wird in verschiedenen Displays eingebaut. Da alle denselben Chip verwenden, sind die geschriebenen Treiber auch kompatibel zu allen Displays. Wir nehmen den Adafruit Treiber, da er dem Github repository nach auch regelmässig geupdatet wird.

[adsenseBlogResponsive]

Software

In diesem Tutorial wollen wir ein “Hallo Welt” auf dem Oled Display ausgeben. Das Programm ist minimal und sieht so aus:

#include <Wire.h>
#include <Adafruit_SSD1306.h>
 
SSD1306  display(0x3c, 21, 22);
 
void setup() {
 
  display.init();
  display.drawString(0, 0, "Hallo Welt");
  display.display();
}
 
void loop() {}

Software laden

Nun sind wir bereit, die Software auf das ESP32 Modul zu laden. Drücke in der Arduino IDE auf den Upload Pfeil. Zuerst wird nun das Programm Kompiliert. Dies dauert selbst bei so einem mini Prorgamm und einem schnellen PC ein paar Sekunden. Folgendes sollte danach erscheinen wenn er mit dem Kompilieren fertig ist:

An dieser Stelle drückst Du ca. 2 Sekunden auf den Boot-Knopf auf dem ESP32 Modul. Danach sollte der Upload starten…

Wenn er nach wenigen Sekunden fertig ist sollte die IDE folgendes ausgegeben haben:

Die Sofware wurde geladen und befindet sich auf Deinem ESP32 Modul.

Display verbinden

Diesen Schritt kannst Du theoretisch auch schon früher machen, geht aber einfach zum Schluss. Hänge zur Sicherheit das USB Kabel ab (Modul Stromlos) und verbinde das Display wie folgt:

OLED DisplayESP32
GNDGND
VCC3V3
SDAD21 (Standard SDA GPIO)
SCLD22 (Standard SCL GPIO)
D22 und D21 für die Display-Daten

Wenn Du nun das Modul einsteckst, bzw. Rebootest dann sollte Dein Text auf dem Display erscheinen. Fertig!

[adsenseBlogResponsive]

Nächste Schritte

Weitere Ideen, was Du tun kannst:

[adsenseBlogResponsive]

5 Kommentare

  1. Hallo,

    ich denke, wenn die Adafruit Library included wird

    #include

    sollte die Display Declaration auch entsprechend lauten:

    Adafruit_SSD1306 display(128, 64, &Wire, -1);

    Mindestens hat SSD1306 display(0x3c, 21, 22); bei mir nicht geklappt …

    Gruss

    Matthias

Schreibe einen Kommentar