| Bastelseite Display + Antriebe Sensoren C++ | |
Ein LCD-Display mit I2C und 4 Zeilen zu je 20 Zeichen
Durch die Ausführung von I2C benötigt das LCD-Display nur vier Anschlüsse: Plus und Minus Stromversorgung, sowie SCL und SDA.
Die Anzeige ist einfarbig.
Der benötigte Treiber:
LiquidCrystal_I2C.h

Frontansicht des 4x20 Displays
Da es ein IIC - oder auch I2C - Display ist, verläuft die Verkabelung mit nur zwei Anschlüssen recht einfach, neben 5 Volt und Ground. Die beide andere Anschlüsse sind SCL und SDA.
Am UNO R3 kommt
SCL an Pin A5
und
SDA an Pin A4 .
Im blauen Kästchen links der Anschlüsse ist ein Poti zum Einstellen des Kontrastes / Helligkeit.

Die Rückseite des Displays mit seinen 4 Anschlüssen
Die Ausgabe erfolgt in 4 Zeilen zu je 20 Zeichen.
Typisch Computer: er beginnt bei "0" zu zählen!
Das erste Zeichen beginnt also bei 0 - nicht bei 1! Die erste Zeile heißt Zeile 0, die zweite Zeile ist 1.
Vielleicht wird es jetzt verständlicher, was im Sketch "lcd.setCursor(12, 1);" bedeutet: das 13.te Zeichen in der zweiten Zeile .....
Näher betrachtet sieht man deutlich die Auflösung.

Das Wichtigste ist die richtige I2C-Adresse einzugeben. Wer sie nicht hat, beim Display 2x16 nachlesen.
// lcd-4x20a.ino
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,20 , 4);
// Hier wird festgelegt um was für einen Display es sich handelt.
// In diesem Fall eines mit 20 Zeichen in 4 Zeilen und der HEX-Adresse 0x3F.
// Für ein zweizeiliges I2C-LCD verwendet man den Code LiquidCrystal_I2C lcd(0x27, 16, 2)
void setup()
{
lcd.init();
lcd.backlight(); // Hintergrundbeleuchtung einschalten
// lcd.noBacklight(); schaltet die Beleuchtung aus
}
void loop()
{
lcd.setCursor(0, 0);
// Hier wird die Position des ersten Zeichens festgelegt.
// Es bedeutet (0,0) das erste Zeichen in der ersten Zeile,
// da der Computer bei "0" anfängt zu zählen ....
lcd.print("Hallo und Willkommen"); // Erste Zeile mit 20 Zeichen gefüllt
lcd.setCursor(0, 1);// setze den Cursor auf das erste Zeichen in der zweiten Zeile.
lcd.print("Ein LCD- Display mit"); // Zweite Zeile mit Zeichen gefüllt
lcd.setCursor(0, 2);
lcd.print("20 Zeichen in jeder");
lcd.setCursor(0, 3);// setze den Cursor auf das erste Zeichen in der zweiten Zeile.
lcd.print("der 4 Zeilen! ");
lcd.write(0xE1); // ä
lcd.write(0xEF); // ö
lcd.write(0xF5); // ü
lcd.write(0xE2); // ß
}