Projekt B07 - Text anzeigen mit I2C
Grundlagen aus B01-B06 verstanden
Was du brauchst
Ein 16x2 Zeichen LCD mit angelötetem I2C-Adapter (PCF8574). Nur 4 Kabel statt 16!
Adresse: 0x27 oder 0x3F
Die I2C-Pins sind fest: A4 = SDA (Daten), A5 = SCL (Clock)
// I2C-Scanner: Findet die LCD-Adresse
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(9600);
Serial.println("I2C Scanner...");
for (byte addr = 1; addr < 127; addr++) {
Wire.beginTransmission(addr);
if (Wire.endTransmission() == 0) {
Serial.print("Gefunden: 0x");
Serial.println(addr, HEX);
}
}
}
void loop() { }0x27 (39) - PCF8574 | 0x3F (63) - PCF8574A
In Wokwi: Das LCD1602 I2C nutzt standardmäßig 0x27.
LiquidCrystal_I2C installieren
In Wokwi ist die Bibliothek bereits verfügbar!
lcd.init() - LCD initialisierenlcd.backlight() - Beleuchtung anlcd.print("Text") - Text ausgebenlcd.setCursor(x, y) - Cursor setzenlcd.clear() - Display löschen// B07: LCD 1602 mit I2C
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// LCD: Adresse 0x27, 16 Spalten, 2 Zeilen
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.init(); // LCD initialisieren
lcd.backlight(); // Hintergrundbeleuchtung an
lcd.setCursor(0, 0); // Zeile 1
lcd.print("Hello, World!");
lcd.setCursor(0, 1); // Zeile 2
lcd.print("Arduino LCD");
}
void loop() { }Zähler und Live-Updates
// Zaehler auf LCD anzeigen
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int zaehler = 0;
void setup() {
lcd.init();
lcd.backlight();
lcd.print("Zaehler:");
}
void loop() {
lcd.setCursor(0, 1);
lcd.print(zaehler);
lcd.print(" Sek. "); // Leerzeichen ueberschreiben
zaehler++;
delay(1000);
}Füge Leerzeichen am Ende hinzu, um alte Zeichen zu überschreiben, statt lcd.clear() zu nutzen (verhindert Flackern).
Du kannst jetzt Text auf LCDs anzeigen
Protokoll verstanden
Module einbinden
Text und Cursor
B08: Lichtsensor (LDR) - Analoge Sensoren verstehen