← Alle Bauteile

LCD 16x2 mit I2C-Adapter

Aktuator

Ein kleines Textdisplay mit 2 Zeilen a 16 Zeichen. Mit I2C-Adapter braucht man nur 4 Kabel statt 16! Perfekt um Messwerte, Texte oder Status-Infos anzuzeigen.

Tipps: Die I2C-Adresse ist meistens 0x27 oder 0x3F — wenn nichts angezeigt wird, die andere Adresse probieren! Am Poti auf der Rueckseite kann man den Kontrast einstellen. Wenn das Display leuchtet aber nichts zeigt: Kontrast drehen!
Frag den Lernhelfer

Technische Daten

KategorieDisplay/Anzeige
SchnittstelleI2C
PinbelegungVCC, GND, SDA, SCL
Anzahl Pins4
Messbereich16 Zeichen x 2 Zeilen
Betriebsspannung5.0V – 5.0V
Stromverbrauch80.0 mA
DatenblattPDF oeffnen

Anschluss

Arduino Uno R3

Pins: 5V=VCC, GND=GND, A4=SDA, A5=SCL

Hinweise: I2C-Adresse mit dem I2C-Scanner-Sketch herausfinden falls unklar (0x27 oder 0x3F).

Codebeispiele

Text auf dem LCD anzeigen Mittel

Das LCD zeigt Text auf 2 Zeilen mit je 16 Zeichen an. Ueber I2C brauchen wir nur 4 Kabel. Wenn nichts angezeigt wird: Kontrast-Poti auf der Rueckseite drehen!

Benoetigte Bibliotheken: LiquidCrystal_I2C.h (im Library Manager suchen: 'LiquidCrystal I2C')

// ============================================
// LCD 16x2 (I2C): Text anzeigen
// ============================================
// Anschluss: VCC=5V, GND=GND, SDA=A4, SCL=A5

#include <Wire.h>               // I2C-Kommunikation
#include <LiquidCrystal_I2C.h>  // LCD-Bibliothek fuer I2C

// LCD-Objekt erstellen
// Adresse 0x27 (meistens) — falls nichts angezeigt wird: 0x3F probieren!
LiquidCrystal_I2C lcd(0x27, 16, 2);  // Adresse, Spalten, Zeilen

void setup() {
  lcd.init();          // LCD initialisieren
  lcd.backlight();     // Hintergrundbeleuchtung an

  // Begruessung anzeigen
  lcd.setCursor(0, 0);         // Spalte 0, Zeile 0 (oben)
  lcd.print("Arduino Sensor");
  lcd.setCursor(0, 1);         // Spalte 0, Zeile 1 (unten)
  lcd.print("Datenbank v1.0");

  delay(3000);  // 3 Sekunden anzeigen
}

void loop() {
  // Laufende Zeit anzeigen
  unsigned long sekunden = millis() / 1000;
  unsigned long minuten = sekunden / 60;
  sekunden = sekunden % 60;

  lcd.setCursor(0, 0);
  lcd.print("Laufzeit:       ");  // Leerzeichen loeschen alte Zeichen

  lcd.setCursor(0, 1);
  lcd.print("  ");
  if (minuten < 10) lcd.print("0");
  lcd.print(minuten);
  lcd.print(":");
  if (sekunden < 10) lcd.print("0");
  lcd.print(sekunden);
  lcd.print(" min:sek   ");

  delay(1000);
}

Haeufige Probleme

LCD leuchtet aber zeigt nichts an

Symptom: Hintergrundbeleuchtung ist an, aber keine Zeichen sichtbar

Ursache: Kontrast zu niedrig oder falsche I2C-Adresse

Loesung:

1. Kontrast-Poti auf der Rueckseite des I2C-Adapters mit Schraubenzieher drehen! Langsam in beide Richtungen drehen bis Text erscheint. 2. Wenn Kontrast nicht hilft: I2C-Scanner laufen lassen 3. Adresse im Code aendern: LiquidCrystal_I2C lcd(0x3F, 16, 2);

Vermeidung: Nach dem ersten Aufbau immer zuerst den Kontrast einstellen.

Projekte mit diesem Bauteil

Wetterstation mit LCD-Anzeige Mittel (Anzeige)
Temperatur-Alarm mit LCD Mittel (Anzeige)

Probleme mit LCD 16x2 mit I2C-Adapter?

KI-Lernhelfer fragen