Diese Lektion enthält folgende Themen:
1: Einführung in die OLED -Anzeige
Bevor wir uns zuerst weiter bewegen, müssen wir wissen, was ein OLED -Display ist. OLED (Organische Lichtdiode) Anzeigen werden als Alternative zu LCDs verwendet. OLED -LEDs werden verwendet, um leichte Displays auf OLED -Bildschirmen zu erzeugen. Der LCD -Bildschirm verwendet Hintergrundbeleuchtung, um seine Pixel zu beleuchten, während OLED -Displays ihre eigenen selbstemissionen LEDs haben. Es gibt Hunderte von selbstilluminierenden LEDs. Um Bilder und die Texthelligkeit dieser LEDs anzuzeigen, können Pixel von Pixel gesteuert werden.
Nun, wie wir einige Grundlagen im Zusammenhang mit OLED -Displays kennen. Der nächste Schritt besteht darin, ESP32 mit einem OLED -Anzeigemodul zu verdrahten.
2: Verkabelung OLED -Anzeigemodul zu ESP32
Das OLED -Display wird hauptsächlich mit zwei verschiedenen Kommunikationsprotokollen ausgestattet. Die beiden Protokolle sind I2C und SPI. Die serielle periphere Grenzfläche (SPI) ist im Allgemeinen schneller als I2C, aber wir haben I2C gegenüber dem SPI -Protokoll vorgezogen, da es weniger Anzahl von Stiften erforderte.
Das folgende Bild zeigt das ESP32 -Verbindungsdiagramm mit 128 × 64 Pixel (0.96 ") OLED -Anzeige.
Unten finden Sie die Verbindungstabelle:
Sobald ESP32 mit einer OLED -Anzeige miteinander verbunden ist, wird der nächste Schritt in der Liste alle erforderlichen Bibliotheken für die ESP32 -Programmierung mit Arduino IDE installiert.
3: Installation der erforderlichen Bibliotheken
In Arduino IDE sind mehrere Bibliotheken erhältlich, um ESP32 mit einer OLED -Anzeige zu programmieren. Hier verwenden wir zwei Bibliotheken von Adafruit: SSD1306 und GFX Library.
Jetzt im Arduino IDE Open Library Manager und suchen Sie nach der OLED SSD1306 -Bibliothek. Installieren Sie die SSD1306 -Bibliothek mit Adafruit aus der Suchleiste.
Alternativ kann man auch gehen: Skizze> Bibliothek einschließen> Bibliotheken verwalten
Die nächste Bibliothek, die wir installieren müssen, ist die GFX -Bibliothek von Adafruit.
Nachdem beide Bibliotheken erfolgreich installiert wurden, besteht der nächste Schritt darin, die I2C -Adresse zu überprüfen, an der ESP32 verbunden ist.
4: Überprüfen Sie die I2C -Adresse der OLED -Anzeige
I2C steht für die Kommunikation zwischen integriertem Schaltungskreislauf. Mit I2C können wir mehrere Geräte über 2 Drähte interfesten. Während das Verbinden jedes i2C -Geräts eine separate I2C -Adresse verwenden muss. Diese Adresse reicht von 0 bis 127. Wenn wir beispielsweise zwei verschiedene I2C -Geräte haben, die dieselbe i2C -Adresse verwenden, können sie nicht an derselben i2c -Linie verbunden werden.
Es ist wichtig, zuerst die I2C -Adresse zu überprüfen. So laden Sie den Code in der Artikelprüfung i2C mit Arduino IDE die in der Artikelprüfung i2C -Adresse angegebene Code hoch, um die I2C -Adresse des angeschlossenen OLED -Displays zu überprüfen.
Nach dem Hochladen von Code wird die folgende Ausgabe angezeigt. Hier in unserem Fall ist das OLED -Display unter der I2C -Adresse (0x3c) angeschlossen.
Wir werden die genannte I2C -Adresse für die OLED -Anzeige in Arduino Code verwenden.
5: Zeigen Sie den QR -Code auf dem OLED -Bildschirm mit ESP32 mit Arduino IDE an
Der erste Schritt, der benötigt wird, um einen QR -Code auf einem OLED -Bildschirm anzuzeigen. Verwenden eines Online -Bildes zum Hex -Konverter können wir Hex -Code gegen ein Bild erhalten.
Aber vor dem zuerst müssen wir einen Beispiel -QR -Code erstellen.
1: Erstellen eines QR -Code
Zum Erstellen von QR -Code sind mehrere online kostenlose Tools verfügbar. Hier ist ein kostenloser Text zum QR -Codegenerator.
Mit diesem Tool kann jeder Text oder eine Link in den QR -Code konvertiert werden. Hier haben wir einen QR -Code für LinuxHint -Website -Adresse erstellt.
2: Konvertieren von QR -Code in den Hex -Code konvertieren
Um einen QR -Code in den HEX -Code umzuwandeln, können wir jedes Online -Tool verwenden oder ein QR -Code -Image auch mit dem Windows Paint -Tool in den Hex -Code konvertieren. Folgen Sie nun den Schritten, um den Hex -Code für Ihr QR -Code -Bild zu erhalten.
Schritt 1: Klicken Sie hier, um kostenlosen Image2CPP -Konverter zu besuchen.
Schritt 2: Wählen Sie das QR -Code -Bild aus, das wir auf OLED anzeigen möchten.
Schritt 3: Nachdem Sie das QR -Code -Bild ausgewählt haben, klicken Sie auf Öffnen.
Schritt 4: In der Bildeinstellung setzen Sie die Abmessungen auf 128 x 64. Die Helligkeit kann gemäß der von der empfohlenen Zahl festgelegt werden.
Skalieren Sie das QR -Code -Bild gemäß der Größe und als Referenz finden Sie in der Ausgangsvorschau.
Schritt 5: Setzen Sie nun das Codeausgaberformat in Arduino -Code und Präfix als Bitmap fest. Danach klicken Sie auf Code generieren. Der Ausgangs -Hex -Code kann aus dem Ausgangsfenster kopiert werden.
Ersetzen Sie den kopierten Hex -Code in Arduino IDE -Beispielcode unten angegeben.
3: Code
Öffnen Sie nun die Arduino -IDE und fügen Sie den folgenden Code ein. Denken Sie daran, den Hex -Code durch den für das QR -Code -Bild zu ersetzen, den Sie auf einem OLED -Bildschirm anzeigen müssen.
/****** LinuxHint.Com ********//
#enthalten
#enthalten
#enthalten
#define screen_width 128
#define screen_height 64
Adafruit_ssd1306 display (screen_width, screen_height & draht, -1);
static const uint8_t image_hex_array [1024] =
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x00, 0x7f, 0x00, 0x60, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x00, 0x7f, 0x00, 0x60, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x00, 0x7f, 0x00, 0x60, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xff, 0xfc, 0x60, 0x0c, 0x61, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xff, 0xfc, 0x60, 0x0c, 0x61, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x60, 0x00, 0x61, 0x80, 0x71, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x7f, 0x00, 0x61, 0x80, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x7f, 0x00, 0x61, 0x80, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x60, 0x7c, 0x61, 0x80, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x60, 0x7c, 0x61, 0x80, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x60, 0x7c, 0x61, 0x80, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x7c, 0x7c, 0x61, 0x80, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x7c, 0x7c, 0x61, 0x80, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x7c, 0x7c, 0x61, 0x80, 0x71, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xff, 0xfc, 0x63, 0xe3, 0xe1, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xff, 0xfc, 0x63, 0xe3, 0xe1, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x00, 0x63, 0x80, 0x60, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x00, 0x63, 0x0c, 0x60, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x00, 0x63, 0x0c, 0x60, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x1c, 0x03, 0xe3, 0x8c, 0x71, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x1c, 0x03, 0xe3, 0x8c, 0x71, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x18, 0x03, 0xe1, 0x0c, 0x71, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x1f, 0x03, 0x1c, 0x00, 0x0c, 0x70, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x1f, 0x03, 0x1c, 0x00, 0x0c, 0x70, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x1f, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xff, 0x1c, 0x7f, 0x0c, 0x60, 0x0c, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xff, 0x1c, 0x7f, 0x0c, 0x60, 0x0c, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x1f, 0x03, 0xff, 0x00, 0x60, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x1f, 0x03, 0xff, 0x00, 0x60, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x1f, 0x03, 0xff, 0x00, 0x60, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0xe0, 0x1f, 0xfc, 0x0f, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0xe0, 0x1f, 0xfc, 0x0f, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0xe0, 0x1f, 0xfc, 0x0f, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xe3, 0x0c, 0x0c, 0x70, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xe3, 0x0c, 0x0c, 0x70, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x00, 0xe3, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x00, 0x63, 0x03, 0xe0, 0x0f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x00, 0x63, 0x03, 0xe0, 0x0f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xff, 0xfc, 0x7c, 0x7f, 0x81, 0x8f, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xff, 0xfc, 0x7c, 0x7f, 0x81, 0x8f, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xff, 0xfc, 0x7c, 0x7f, 0x81, 0x8f, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x60, 0x03, 0xe1, 0xf0, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x60, 0x03, 0xe1, 0xf0, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x60, 0x00, 0x03, 0xf0, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x63, 0xfc, 0x0f, 0xf0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x63, 0xfc, 0x0f, 0xf0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x60, 0x7c, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x60, 0x7c, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xe0, 0x1c, 0x60, 0x7c, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xff, 0xfc, 0x63, 0x0c, 0x0f, 0x81, 0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xff, 0xfc, 0x63, 0x0c, 0x0f, 0x81, 0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0xff, 0xf8, 0x63, 0x1c, 0x0f, 0x81, 0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x00, 0x60, 0x7c, 0x7f, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x00, 0x60, 0x7c, 0x7f, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x00, 0x00, 0xe0, 0xfc, 0x7f, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
;
void setup ()
Serie.Beginnen Sie (115200); // Baudrate für die serielle Kommunikation
Wenn(!Anzeige.Start (SSD1306_Switchcapvcc, 0x3c))
Serie.println (f ("SSD1306 -Allokation fehlgeschlagen");
für(;;);
Verzögerung (2000); // Verzögerung 2 Sekunden
Anzeige.ClearDisplay (); // Anzeigepuffer löschen
Anzeige.Draffitmap (0, 0, Image_hex_array, 128, 64, 1);
Anzeige.Anzeige();
void Loop ()
Der Code importierte mit dem Importieren der erforderlichen Bibliotheken, die wir zuvor installiert haben. Zwei Bibliotheken sind die Draht- und Adafruit -Bibliothek. Mit Drahtbibliotheken können wir i2c verwenden, während Adafruit den geschriebenen Text auf dem Bildschirm anzeigt.
Der nächste folgende Befehl wird geschrieben:
Adafruit_ssd1306 display (screen_width, screen_height & draht, -1);
Es enthält die BILDSCHIRMBREITE Und Screen_height Variablen. Mit diesen Variablen haben wir die Größe der OLED -Anzeige definiert. Hier verwenden wir ein 128 × 64 OLED -Display. Danach &Kabel Objekt wird für die Anzeige definiert.
Der letzte Parameter enthält (-1), Diese Anzeige, dass der von uns verwendete OLED -Bildschirm keine externe Reset -Taste enthält. Falls wir eine Reset -Taste auf der OLED -Anzeige haben. Wir werden diesen Parameter an einen GPIO -Pin übergeben. Nach dem Drücken der Reset -Taste zeigt der OLED -Bildschirm den Text an.
In der Mitte des Codes haben wir den Hex -Code für das QR -Code -Image aufgenommen und danach die I2C -Kommunikation unter der I2C -Adresse initialisiert (0x3c) ist definiert, was wir früher mit i2c Scannercode gefunden haben.
In den letzten Codezeilen wird das Hex -Array mit der Bitmap -Funktion auf OLED gedruckt.
4: Beispiel Arduino -Code für QR -Code -Bildanzeige
Hier ist ein Code für die OLED -Schnittstelle mit ESP32. Sie müssen den Hex -Code des QR -Codebilds ersetzen, den Sie auf dem Bildschirm anzeigen möchten.
/****** LinuxHint.Com ********//
#enthalten
#enthalten
#enthalten
#define screen_width 128
#define screen_height 64
Adafruit_ssd1306 display (screen_width, screen_height & draht, -1);
static const uint8_t image_hex_array [1024] =
/*******
*******
*******
[HEX -Code für das Bild hier einfügen]
*******
*******
*******/
;
void setup ()
Serie.Beginnen Sie (115200); // Baudrate für die serielle Kommunikation
Wenn(!Anzeige.Start (SSD1306_Switchcapvcc, 0x3c))
Serie.println (f ("SSD1306 -Allokation fehlgeschlagen");
für(;;);
Verzögerung (2000); // Verzögerung 2 Sekunden
Anzeige.ClearDisplay (); // Anzeigepuffer löschen
Anzeige.Draffitmap (0, 0, Image_hex_array, 128, 64, 1);
Anzeige.Anzeige();
void Loop ()
5: Ausgabe
Hier in der Ausgabe sehen wir den QR -Code, der auf dem OLED -Bildschirm angezeigt wird. Dies ist der gleiche QR -Code, den wir früher in den Hex -Code konvertiert haben.
Wir haben erfolgreich ein QR -Code -Bild auf einer OLED -I2C -Anzeige angezeigt. Verwenden der gleichen Schritte kann jeder QR -Code mit korrektem Anteil auf einem OLED -Bildschirm angezeigt werden.
6: Scannen von QR -Code aus OLED -Anzeige
Sobald der QR -Code angezeigt wurde. Die meisten Smartphones sind mit einem vorinstallierten QR -Code -Scanner ausgestattet, wenn nicht verfügbar ist. Er kann einfach im App Store heruntergeladen werden.
Stellen Sie nun die Kamera auf den QR -Code ein.
Wenn erfolgreich gescannt wird, wird der folgende Text angezeigt. Dies ist genau der gleiche Text, den wir beim Erstellen des QR -Codes gespeichert haben.
Abschluss
Ein OLED -Display ist eine großartige Möglichkeit, Ausgänge anzuzeigen, ohne dass ein serieller Monitor oder PC erforderlich ist. OLED -Displays sind mit zwei verschiedenen Protokollen I2C und SPI ausgestattet. I2C -OLED -Displays werden aufgrund einer geringeren Anzahl von Drähten bevorzugt. OLED -Anzeige kann zum Anzeigen von Informationen auf dem Bildschirm wie QR -Code oder Barcode verwendet werden. Diese Lektion enthält alle Schritte,.