Diese Lektion enthält folgende Themen:
1: Einführung in das ESP32 OLED -Display
Ein I2C-OLED-Display ist eine Art organische Display (Light-Emitting Diode), das das I2C-Protokoll (Inter-Integrated Circuit) für die Kommunikation verwendet. OLED-Displays sind bekannt für ihr hohes Kontrastverhältnis, den weiten Betrachtungswinkel und die schnelle Reaktionszeit, wodurch sie für eine Vielzahl von Anzeigeanwendungen gut geeignet sind.
Ein I2C -OLED -Display besteht in der Regel aus einem kleinen OLED -Bildschirm und einem Treiberkreis, der die I2C -Signale in die entsprechenden Spannungen und Ströme umwandelt, die zum Anfahren der OLED -Pixel erforderlich sind.
LEDs im OLED -Bildschirm beleuchten die Pixel, die uns verschiedene Bilder und Text anzeigen. Auf der anderen Seite verwendet der LCD -Bildschirm eine Hintergrundbeleuchtung, um seine Pixel zu beleuchten. Die Helligkeit dieser Pixel kann von Pixel kontrolliert werden.
Jetzt werden wir ESP32 mit einem OLED -Display einbinden.
2: Verkabelung OLED -Anzeigemodul zu ESP32
OLED -Bildschirme arbeiten hauptsächlich an zwei Kommunikationsprotokollen. Das sind I2C und SPI. Unter diesen beiden SPI (serielle periphere Grenzfläche) ist im Vergleich zu I2C schneller, aber die meiste Zeit wird I2C -OLED -Anzeige aufgrund einer geringeren Anzahl von Drähten bevorzugt.
I2C ist ein serielles Kommunikationsprotokoll mit zwei Draht
Mit i2c OLED -SDA und SCL reichen aus, um Bilder und Text anzuzeigen. Das angegebene Bild zeigt ESP32 mit 0.OLED-Bildschirm von 96 Zoll (128 × 64 Pixel).
ESP32 PINS -Verbindung mit OLED ist wie folgt:
Da wir ESP32 mit einem OLED -Display miteinander verbunden haben, werden wir jetzt die erforderlichen Bibliotheken in der Arduino -IDE installieren, damit wir mit Formen auf dem OLED -Bildschirm voranschreiten können.
3: Installation der erforderlichen Bibliotheken
Zum Anzeigen von Bildern müssen wir die erforderlichen Bibliotheken für die OLED -Anzeige in Arduino IDE installieren. Ohne diese Bibliotheken kann ESP32 Grafiken nicht auf OLED anzeigen.
Hauptsächlich werden zwei Bibliotheken von Adafruit verwendet: SSD1306 Und GFX -Bibliothek. Öffnen Sie zuerst die Arduino -IDE und durchsuchen Sie die SSD1306 -Bibliothek. Installieren Sie die SSD1306 OLED -Bibliothek mit Adafruit. Eine andere Art der Installation besteht darin,: Skizze> Bibliothek einschließen> Bibliotheken verwalten:
Installieren Sie nun die GFX Bibliothek von Adafruit:
Jetzt haben wir beide Bibliotheken installiert. Jetzt können wir ESP32 mit einem OLED -Display problemlos programmieren.
4: Zeichnen einer Fortschrittsleiste auf OLED -Anzeige mit Arduino IDE
Um eine Fortschrittsleiste auf einem OLED -Bildschirm zu zeichnen, werden wir die verwenden Anzeige.DrawProgressBar (20, 20, 100, 20, Fortschritt); Funktion.
Diese Funktion erfordert 5 Argumente:
Laden Sie den Code in die ESP32 -Karte hoch, nachdem Sie all diese 5 Parameter definiert haben.
1: Code
Öffnen Sie Arduino IDE, verbinden Sie ESP32 und hochladen Code:
Der Code begann mit den erforderlichen SSD1306 -Bibliotheksdateien. Danach haben wir die I2C -Adresse und die I2C -Stifte für die Kommunikation definiert.
Denken Sie daran, zuerst die I2C -Adresse zu überprüfen, bevor Sie definiert. Überprüfen Sie die I2C.
Wenn Sie mehr als ein I2C -Gerät mit derselben Adresse verwenden, müssen Sie zuerst die Adresse von ihnen ändern.
Als nächstes in Code haben wir die OLED -Anzeige initialisiert und eine Fortschrittsformel definiert.
Die Fortschrittsformel berechnet den Fortschritt und speichert den Wert des globalen variablen Fortschritts. Wir summieren einfach die 10 dem aktuellen Fortschrittswert und erhalten den Rest, indem wir ihn mit 110 mit dem Modul -Operator teilen. Sobald die Fortschrittsleiste abgeschlossen sind, werden wir 110%110 haben, was uns 0 gibt. Dies startet die Balken automatisch erneut von Null.
Nächste DrawProgressBar wird aufgerufen und diese Funktion zeigt die Fortschrittsleiste entsprechend dem aktuellen Wert des variablen Fortschritts an. Diese Funktion nimmt 5 Argumente an, wie zuvor erläutert.
#include "SSD1306.H"
SSD1306 Display (0x3c, 21, 22);
int progress = 0;
void setup ()
Anzeige.drin();
void Loop ()
Anzeige.klar();
Fortschritt = (Fortschritt + 10) % 110;
Anzeige.DrawProgressBar (20, 20, 100, 20, Fortschritt);
Anzeige.Anzeige();
Verzögerung (1000);
2: Ausgabe
Nach dem Hochladen von Code in ESP32 unten wird auf dem OLED -Bildschirm angezeigt. Diese Ausgabe zeigt, dass die Fortschrittsleiste 10% beträgt, was die anfängliche Setposition ist:
Jetzt liegt die Fortschrittsleiste bei 100%, was bedeutet, dass eine bestimmte Aufgabe erledigt ist:
Hier sind die Ausgangsstufen zwischen 0% und 100%. Wir haben das Fortschrittsintervall auf 10 festgelegt:
Abschluss
Progress Bar ist eine großartige Möglichkeit, den Echtzeit -Fortschritt eines Projekts zu zeigen. Verwenden von OLED -Anzeigen mit ESP32 können wir Echtzeitdaten übernehmen und diese über dem Bildschirm anzeigen. Die Verwendung des Codes, das eine der Daten angegeben hat, kann in Form von Fortschrittsbalken dargestellt werden.