📺

LCD 1602 Display

Projekt B07 - Text anzeigen mit I2C

Beginner
I2C
LCD 16x2
1
Lernziele

Was du lernst

  • I2C-Kommunikation - Das wichtigste Protokoll für Sensoren und Displays
  • Bibliotheken einbinden - LiquidCrystal_I2C nutzen
  • Text formatieren - Cursor positionieren, Text ausgeben
  • I2C-Adressen - Geräteadresse verstehen

Voraussetzungen

Grundlagen aus B01-B06 verstanden

Komponenten

Was du brauchst

📺

LCD 1602 mit I2C-Backpack

Ein 16x2 Zeichen LCD mit angelötetem I2C-Adapter (PCF8574). Nur 4 Kabel statt 16!

Adresse: 0x27 oder 0x3F

Nur 4 Verbindungen

  • VCC → 5V
  • GND → GND
  • SDA → A4
  • SCL → A5

I2C beim Arduino Uno

Die I2C-Pins sind fest: A4 = SDA (Daten), A5 = SCL (Clock)

2
Vorbereitung

I2C-Adresse finden

// 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() { }

Typische Adressen

0x27 (39) - PCF8574 | 0x3F (63) - PCF8574A

In Wokwi: Das LCD1602 I2C nutzt standardmäßig 0x27.

Bibliothek einbinden

LiquidCrystal_I2C installieren

In der Arduino IDE

  1. Sketch → Bibliothek einbinden → Bibliotheken verwalten
  2. Suche nach "LiquidCrystal I2C"
  3. Version von Frank de Brabander installieren

In Wokwi ist die Bibliothek bereits verfügbar!

Wichtige Funktionen

  • lcd.init() - LCD initialisieren
  • lcd.backlight() - Beleuchtung an
  • lcd.print("Text") - Text ausgeben
  • lcd.setCursor(x, y) - Cursor setzen
  • lcd.clear() - Display löschen
3
Code

Text auf LCD anzeigen

// 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() { }

Dynamischer Text

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);
}

Tipp: Überschreiben

Füge Leerzeichen am Ende hinzu, um alte Zeichen zu überschreiben, statt lcd.clear() zu nutzen (verhindert Flackern).

📺

Geschafft!

Du kannst jetzt Text auf LCDs anzeigen

I2C

Protokoll verstanden

Bibliotheken

Module einbinden

LCD-Steuerung

Text und Cursor

Nächstes Projekt

B08: Lichtsensor (LDR) - Analoge Sensoren verstehen

← →
1 / 8