ESP8266 - LCD
Dieses Tutorial zeigt Ihnen, wie Sie ein LCD-Display mit dem ESP8266 verwenden und wie Sie den ESP8266 programmieren, um Text und Sonderzeichen auf dem LCD anzuzeigen.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über LCD I2C 16×2
Der I2C-LCD ist eine bessere Alternative zum Standard-LCD. Mit nur 4 Pins ist es einfach, eine Verbindung zum ESP8266 herzustellen. Ein integriertes Potentiometer erleichtert das Einstellen des Kontrasts des LCDs.
Die LCD-I2C-Pinbelegung
Das LCD-I2C-Modul verwendet eine I2C-Schnittstelle, um sich mit dem ESP8266 zu verbinden. Es hat 4 Pins:
- GND-Pin: Dieser Pin sollte mit GND (0V) verbunden werden.
- VCC-Pin: Dies ist die Spannungsversorgung für das LCD und sollte mit VCC (5V) verbunden werden.
- SDA-Pin: Dies ist das I2C-Datensignal.
- SCL-Pin: Dies ist das I2C-Taktsignal.

LCD-Koordinate
Das LCD I2C 16x2 hat insgesamt 16 Spalten und 2 Zeilen. Die Spalten und Zeilen beginnen bei 0.

Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.
LCD I2C | ESP8266 |
---|---|
Vin | Vin |
GND | GND |
SDA | D2 (GPIO4) |
SCL | D1 (GPIO5) |
Wie man LCD über I2C programmiert
Die LiquidCrystal_I2C-Bibliothek muss eingebunden werden, um das LCD verwenden zu können.
- LCD einrichten:
Das LCD muss eingerichtet werden, bevor es verwendet werden kann.
- Schreibe auf das LCD:
Das Schreiben auf das LCD wird durch die LiquidCrystal_I2C-Bibliothek vereinfacht.
- Deklarieren Sie ein Objekt der Klasse LiquidCrystal_I2C und geben Sie dessen I2C-Adresse, die Anzahl der Spalten und die Anzahl der Zeilen an.
- Starten Sie das LCD.
- Setze den Cursor an die gewünschte Position (Spaltenindex, Zeilenindex)
- Eine Nachricht auf dem LCD-Bildschirm anzeigen.
Entdecken Sie die Möglichkeiten, was mit LCD erreicht werden kann, indem Sie den Abschnitt „Do More with LCD“ ansehen.
※ Notiz:
Die Adresse des LCD kann je nach Hersteller variieren. In unserem Code haben wir 0x27 verwendet, was vom Hersteller DIYables angegeben ist.
ESP8266-Quellcode
Schnelle Schritte
Um mit dem ESP8266 in der Arduino-IDE loszulegen, befolgen Sie diese Schritte:
- Schau dir die Anleitung zur Einrichtung der ESP8266-Umgebung in der Arduino-IDE an, falls du ESP8266 zum ersten Mal verwendest.
- Verbinde die Komponenten wie im Diagramm gezeigt.
- Verbinde das ESP8266-Board mit deinem Computer über ein USB-Kabel.
- Öffne die Arduino-IDE auf deinem Computer.
- Wähle das korrekte ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E Modul), und den jeweiligen COM-Port.
- Klicke auf das Libraries-Symbol in der linken Leiste der Arduino IDE.
- Suche nach "LiquidCrystal I2C" und finde die von Frank de Brabander erstellte LiquidCrystal_I2C-Bibliothek.
- Klicke dann auf die Install-Schaltfläche, um die Bibliothek hinzuzufügen.

- Kopieren Sie den Code und öffnen Sie ihn in der Arduino IDE.
- Klicken Sie in der Arduino IDE auf die Hochladen-Schaltfläche, um den Code zu kompilieren und auf den ESP8266 hochzuladen.
- Überprüfen Sie das Ergebnis auf dem LCD.

- Von Bildern
- Experimentieren Sie mit dem Ändern der Wörter und der Platzierung von Bildern
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.
Mehr mit LCD
Benutzerdefiniertes Zeichen
lcd.print() erlaubt nur ASCII-Zeichen. Um ein Sonderzeichen oder Symbol anzuzeigen (z. B. Herz, Angry Bird), verwenden Sie den Zeichengenerator.
Ein 16x2-LCD kann 32 Zeichen anzeigen. Jedes Zeichen besteht aus 40 Pixeln, mit 8 Zeilen und 5 Spalten.

Der Charaktergenerator erzeugt einen Charakter, der 40 Pixel groß ist. Um ihn zu verwenden, folgen Sie einfach diesen Schritten:
Das auf dem LCD-Bildschirm angezeigte Ergebnis ist:
Das auf dem LCD angezeigte Ergebnis ist:

Mehrere benutzerdefinierte Zeichen
Wir können höchstens 8 benutzerdefinierte Zeichen erstellen, die von 0 bis 7 nummeriert sind. Im folgenden Beispiel werden drei davon erstellt und angezeigt.
Das auf dem LCD angezeigte Ergebnis ist: . Das auf dem LCD gezeigte Ergebnis ist:

Zusammenfassung: wie man ein benutzerdefiniertes Zeichen auf dem LCD verwendet
- Verwenden Sie den Zeichengenerator, um Binärcode für Ihren benutzerdefinierten Charakter zu erzeugen.
- Kopieren Sie den Binärcode, der im vorherigen Schritt erzeugt wurde, und deklarieren Sie ihn.
- Definieren Sie einen von Ihnen entworfenen Charakter in der setup()-Routine und weisen ihm einen numerischen Wert zwischen 0 und 7 zu.
- Zeige das benutzerdefinierte Zeichen jederzeit auf dem LCD an, entweder in der setup()- oder loop()-Funktion.
Andere Funktionen
- Gib "Hello World" aus
Fügen Sie die folgenden Funktionen nacheinander in die loop()-Funktion ein:
- Lösche das LCD-Display
- Warte 5000 Millisekunden
- Gib "Hello World" aus
- Positionieren Sie den Cursor in der oberen linken Ecke des LCD-Bildschirms.
- Positionieren Sie den Cursor in einer bestimmten Spalte und Zeile.
- Zeige den Cursor auf dem LCD-Bildschirm an.
- Macht den LCD-Cursor unsichtbar.
- Den LCD-Cursor blinken lassen.
- Deaktiviere das Blinken des LCD-Cursors.
- Zusätzlich finden Sie Informationen unter LiquidCrystal-Bibliotheksreferenz
Fordere dich selbst heraus
Verwenden Sie ein LCD-Display, um eines der folgenden Projekte zu realisieren:
- Übertragen Sie Text vom PC (über den Serial Monitor) und zeigen Sie ihn auf dem LCD. Hinweis: Siehe How to send data from PC to Aduino
- Zeigen Sie die gedrückte Taste des Keypads auf dem LCD. Hinweis: Siehe ESP8266 - Keypad
Fehlerbehebung bei LCD I2C
- Passen Sie den Kontrast des LCDs an, indem Sie das Potentiometer auf der Rückseite des LCDs drehen.
- Je nach Hersteller kann die I2C-Adresse des LCDs variieren. In der Regel lautet die Standard-I2C-Adresse des LCDs entweder 0x27 oder 0x3F. Versuchen Sie diese Werte nacheinander. Falls dies nicht funktioniert, führen Sie den untenstehenden Code aus, um die I2C-Adresse zu bestimmen.
Die Ausgabe, die im Seriemonitor angezeigt wird, ist: .
Der Effekt, der im Seriemonitor sichtbar ist, ist: .
Was im Seriemonitor erscheint, ist: