Zeichnen einer Fortschrittsleiste auf OLED mit ESPTOP 10 mit Arduino IDE

Zeichnen einer Fortschrittsleiste auf OLED mit ESPTOP 10 mit Arduino IDE
ESP32 ist ein IoT -basierter Leistungsschachtel -Mikrocontroller -Board. ESP32 verfügt über all die Funktionen, die ein Mikrocontroller -Board benötigt. ESP32 mit OLED kann verschiedene Arten von Daten in grafischer Form anzeigen. Hier in diesem Artikel werden wir Code abdecken, um Fortschrittsbalken auf einem OLED -Bildschirm anzuzeigen. Dies wird den Fortschritt in Echtzeit gemäß einem festgelegten Intervall bewegen.

Diese Lektion enthält folgende Themen:

  • 1: Einführung in das ESP32 OLED -Display
  • 2: Verkabelung OLED -Anzeigemodul zu ESP32
  • 3: Installation der erforderlichen Bibliotheken
  • 4: Zeichnen einer Fortschrittsleiste auf OLED -Anzeige mit Arduino IDE
  • 4.1: Code
  • 4.2: Ausgabe

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:

  • Zentrumsposition in Bezug auf X-Koordinate
  • Zentrumsposition in Bezug auf Y-Koordinate
  • Das dritte Argument ist die Breite der Bar
  • Das vierte Argument ist die Höhe des Fortschrittsbalkens
  • Das letzte Argument ist der tatsächliche Fortschritt, den wir einen ganzzahligen Wert zwischen 0 und 100 vergeben

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.