LCD-Display 2x16


Bastelseite Display + Antriebe Sensoren C++

LCD-Display 2x16

Ein LCD-Display mit I2C und 2 Zeilen zu je 16 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

LCD-Sketch        D-Zeichensatz

Das Display

Griechische, mathematische und elektronische Zeichen, sowie deutsche Umlaute

Die Anschlüsse

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 .


Nun wird es Interessant!

Die Ausgabe erfolgt in 2 Zeilen zu je 16 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 .....


I2C oder IIC - Adresseingabe

Die Adresse des Displays für den Anschluss am Arduino ist das Wichtigste. Wird einfach nur alles angeschlossen, funktioniert es zu 99% nicht.
Da jedes Display eine unterschiedliche Adresse hat, kann man diese auch auslesen. Dies geht am Besten mit einem kleinen Sketch:

I2C-Scanner        Arduino.cc

In jedem Sketch werden alle möglichen Adressen versucht auszulesen. Antwortet ein angeschlossenes z.B. Display mit seiner Adresse, wird diese am Seriellen Monitor angezeigt.


Der Sketch

Hier nun ein kleiner Sketch:

// lcd-2x16a.ino

#include <Wire.h> // Wire Bibliothek einbinden
#include <LiquidCrystal_I2C.h> // Vorher hinzugefügte LiquidCrystal_I2C Bibliothek einbinden
LiquidCrystal_I2C lcd(0x27, 16, 2);  // "0x27" ist die Adresse vom 2zeiligen Display
// Hier wird festgelegt um was für einen Display es sich handelt. 
// Hier ist es eines mit 16 Zeichen in 2 Zeilen und der HEX-Adresse 0x27. 
// Für ein vierzeiliges I2C-LCD verwendet man den Code "LiquidCrystal_I2C lcd(0x3F, 20, 4)" 

void setup() 
{
lcd.init(); //Im Setup wird der LCD gestartet 
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("abcdefghijklmnop"); // Erste Zeile mit 16 Zeichen gefüllt

lcd.setCursor(0, 1);// In diesem Fall bedeutet (0,1) das erste Zeichen in der zweiten Zeile. 

lcd.print("01234567890"); // Zweite Zeile mit 11 Zeichen gefüllt

lcd.setCursor(12, 1);// Hier bedeutet (12,1) das zwölfte Zeichen in der zweiten Zeile. 

lcd.write(0xE1); // ae = ä
lcd.write(0xEF); // oe = ö
lcd.write(0xF5); // ue = ü
lcd.write(0xE2); // scharfes s = ß

} 





Das Display

2 x 16 Zeichen mit deutschen Umlauten

Das Display

Griechische, mathematische (∑) und elektronische Zeichen, wie z.B. µ und Ω


Externe Links





Übersicht Anfang LCD 4x20 - Teil 2 D-Zeichensatz


brixelweb.de