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