Arduino - LCD I2C
In diesem Arduino LCD I2C-Tutorial lernen wir, wie man ein LCD-I2C-Display (Liquid Crystal Display) mit dem Arduino-Board verbindet. LCDs sind sehr beliebt und werden in Elektronikprojekten häufig verwendet, um Informationen anzuzeigen. Es gibt viele Arten von LCDs. Dieses Tutorial verwendet als Beispiel ein LCD 16x2 (16 Spalten und 2 Zeilen). Die anderen LCDs sind ähnlich.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V3 Starter-Kit (Arduino enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über LCD I2C 16×2
Im vorherigen Tutorial haben wir gelernt, wie man das normale LCD verwendet. Allerdings ist die Verkabelung zwischen dem Arduino und dem normalen LCD kompliziert. Daher wurde LCD I2C entwickelt, um die Verkabelung zu vereinfachen. Tatsächlich besteht LCD I2C aus einem normalen LCD, einem I2C-Modul und einem Potentiometer.
Pinbelegung
LCD I2C verwendet die I²C-Schnittstelle, daher hat es 4 Pins:
- GND-Pin: muss mit GND (0 V) verbunden werden
- VCC-Pin: die Stromversorgung für das LCD, muss mit VCC (5 V) verbunden werden
- SDA-Pin: I2C-Datensignal
- SCL-Pin: I2C-Taktsignal

LCD-Koordinate
LCD I2C 16x2 umfasst 16 Spalten und 2 Zeilen. Die Spalten und Zeilen werden ab 0 indiziert.

Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
LCD I2C | Arduino Uno, Nano | Arduino Mega |
---|---|---|
Vin | 5V | 5V |
GND | GND | GND |
SDA | A4 | 20 |
SCL | A5 | 21 |
Wie man für LCD I2C programmiert
Dank der LiquidCrystal_I2C-Bibliothek ist die Verwendung des LCD ein Kinderspiel.
- Die Bibliothek einbinden:
- Deklariere ein LiquidCrystal_I2C-Objekt mit der I2C-Adresse, der Anzahl der Spalten und der Anzahl der Zeilen:
- Initialisieren Sie das LCD.
- Bewege den Cursor an die gewünschte Position (Spaltenindex, Zeilenindex)
- Eine Nachricht auf dem LCD ausgeben.
Es gibt noch viele weitere Dinge, die wir mit LCD tun können (siehe Teil 'Do More with LCD').
※ Notiz:
Die I2C-Adresse des LCD kann je nach Hersteller variieren. Im Code haben wir 0x27 verwendet, das vom Hersteller DIYables angegeben ist (https://diyables.io/products/lcd-i2c-16x2).
Arduino-Code
Schnelle Schritte
- Navigieren Sie zum Bibliotheken-Symbol in der linken Seitenleiste der Arduino IDE.
- Suchen Sie nach "LiquidCrystal I2C", und finden Sie dann die LiquidCrystal_I2C-Bibliothek von Frank de Brabander.
- Klicken Sie auf die Schaltfläche Installieren, um die LiquidCrystal_I2C-Bibliothek zu installieren.

- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
- Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den Arduino hochzuladen
- Sehen Sie das Ergebnis auf dem LCD

- Versuchen Sie, Text und Position zu ändern
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 dem LCD
Benutzerdefinierter Charakter
Die Funktion lcd.print() unterstützt nur ASCII-Zeichen. Wenn Sie ein Sonderzeichen oder Symbol anzeigen möchten (z. B. Herz, wütender Vogel), müssen Sie den untenstehenden Zeichensatzgenerator verwenden.
LCD 16x2 kann 32 Zeichen anzeigen (2 Zeilen und 16 Spalten). Jedes Zeichen besteht aus 40 Pixeln (8 Zeilen und 5 Spalten).

Der Zeichengenerator stellt ein Zeichen dar (40 Pixel groß). Sie müssen lediglich die folgenden Schritte ausführen:
Ergebnis auf dem LCD:

Mehrere benutzerdefinierte Zeichen
Wir können bis zu 8 benutzerdefinierte Zeichen erstellen (mit Indizes von 0 bis 7). Das folgende Beispiel erzeugt und zeigt drei Zeichen.
Ergebnis auf dem LCD:

Zusammenfassung: wie man ein benutzerdefiniertes Zeichen auf dem LCD verwendet
- Verwenden Sie den obigen Zeichengenerator, um Binärcode für das benutzerdefinierte Zeichen zu erstellen.
- Geben Sie den Binärcode für das benutzerdefinierte Zeichen an (kopieren Sie ihn aus dem obigen Schritt).
- Erzeuge ein benutzerdefiniertes Zeichen und ordne es einem Indexwert zu (von 0 bis 7) in der setup()-Funktion
- Drucke das benutzerdefinierte Zeichen auf dem LCD jederzeit und überall (in der setup()- oder loop()-Funktion).
Andere Funktionen
Füge die untenstehenden Funktionen nacheinander in die loop()-Funktion ein. Füge nach jeder Funktion delay(5000) hinzu.
- Klarer LCD-Bildschirm
- Bewegen Sie den Cursor in die obere linke Ecke des LCD-Bildschirms
- Bewege den Cursor zu einer Position (Spalte, Zeile)
- Den LCD-Cursor anzeigen
- Versteckt den LCD-Cursor.
- Den blinkenden LCD-Cursor anzeigen
- Schaltet den blinkenden LCD-Cursor aus.
- Und mehr unter LiquidCrystal Library Reference
Fordere dich heraus
Verwenden Sie ein LCD, um eines der folgenden Projekte durchzuführen:
- Text vom PC (über den Serial Monitor) senden und auf dem LCD anzeigen. Hinweis: Siehe How to send data from PC to Aduino
- Die gedrückte Taste des Keypads auf dem LCD anzeigen. Hinweis: Siehe Arduino - Keypad
Fehlerbehebung bei LCD-I2C
Wenn der Text auf dem LCD I2C nicht angezeigt wird, prüfen Sie bitte die folgenden Punkte.
- Passen Sie die Helligkeit des LCDs an, indem Sie am Potentiometer auf der Rückseite des LCD drehen.
- Je nach Hersteller kann die I2C-Adresse des LCD unterschiedlich sein. In der Regel beträgt die Standard-I2C-Adresse des LCD 0x27 oder 0x3F. Probieren Sie diese Werte nacheinander aus. Wenn Sie noch immer scheitern, führen Sie den untenstehenden Code aus, um die I2C-Adresse zu finden.
Das Ergebnis im seriellen Monitor: