Unterschied der ansteuerung 1 oder 2 zeiliges lcd display

Inhalt des Kapitels

  • Anleitung zum LCD Display mit I2C Anschluss
    • Hinweise zur Ansteuerung der I2C-Displays
    • Verkabelung
      • Verkabelung am MEGA2560 R3
    • Installation der Bibliothek "LiquidCrystal I2C"
    • Der Programmcode
    • Erweiterung des Programmcodes
    • Funduino - Dein Onlineshop für Mikroelektronik

Anleitung zum LCD Display mit I2C Anschluss

Mit einem LCD-Display kann man Buchstaben und Ziffern darstellen. Dies ist in vielen Anwendungen nützlich, zum Beispiel, um Messwerte oder auch Menüs darzustellen.  Mit Hilfe des LCD lassen sich aber auch Daten darstellen, wenn kein Computer am Arduino-Mikrocontroller angeschlossen ist.

Das LCD Modul  mit angelötetem I2C Bus ermöglicht die Verwendung eines LCD Moduls mit einer einfachen Verkabelung. Dies ist bei komplexeren Projekten besonders vorteilhaft. Ein weiterer Unterschied zum normalen LCD Display besteht darin, dass sich auf der Rückseite des Displays ein Drehregler befindet, mit dem der Kontrast des LCD reguliert werden kann.

Unterschied der ansteuerung 1 oder 2 zeiliges lcd display
Das I²C Display am Funduino UNO R3 (alte Version)

Hinweise zur Ansteuerung der I2C-Displays

Hinweis Es gibt je nach Display unterschiedliche I²C-Module, die auf der Rückseite des LCD angelötet sind. Diese Anleitung funktioniert grundsätzlich mit verschiedenen I²C-Displays, jedoch kann die I²C-Adresse (eine HEX-Zahl) unterschiedlich sein und muss im Sketch entsprechend angegeben werden. Die typischen I²C-HEX Adressen sind „0x27“ und „0x3F“. Sollte das Display während der Durchführung dieser Anleitung nicht funktionieren, muss eine andere HEX-Adresse verwendet werden. Eine detaillierte Beschreibung zu I²C-Adressen und Tipps zur Anwendung befinden sich in der Anleitung „Zwei I²C-Module gleichzeitig verwenden“.

In diesem Beispiel:
I²C-Modul ohne Lötstellen mit fester HEX-Adresse 0x27, HEX-Adresse kann abweichen!

Unterschied der ansteuerung 1 oder 2 zeiliges lcd display

I²C-Modul mit rot markierten Lötstellen. Standart-HEX-Adresse 0x3F (kann abweichen!), veränderbar durch die Lötstellen A1-A3)

Unterschied der ansteuerung 1 oder 2 zeiliges lcd display

Verkabelung

Die Verkabelung ist sehr simpel. Am I2C LCD Modul sind nur vier Kontakte vorhanden. GND wird mit dem GND Kontakt am Mikrocontroller verbunden. VCC mit dem 5V Kontakt am Microcontroller, SDA mit dem analogen Eingang A4 und SCL mit dem analogen Eingang A5.

Verkabelung am MEGA2560 R3

Bei dem MEGA2560 R3 Microcontroller gibt es für die SDA – und SCL- Kontakte eigene Eingänge auf dem Board unter 20 und 21.

Unterschied der ansteuerung 1 oder 2 zeiliges lcd display
Die rote Markierung Kennzeichnet die SDA und SDL Pins am MEGA2560 R3

Installation der Bibliothek "LiquidCrystal I2C"

Um mit dem I²C LCD Modul arbeiten zu können, benötigt man eine Library. Wir verwenden in dieser Anleitung die „LiquidCrystal I2C“ Library. Die Library kann über die Bibliothekenverwaltung der Arduino-Software hinzugefügt werden. Der angezeigte Name in der Bibliothekenverwaltung lautet „LiquidCrystal I2C by Marco Schwartz“.

Unterschied der ansteuerung 1 oder 2 zeiliges lcd display
Bibliotheksverwaltung der Arduino IDE

Der Programmcode

#include <Wire.h> // Wire Bibliothek einbinden #include <LiquidCrystal_I2C.h> // Vorher hinzugefügte LiquidCrystal_I2C Bibliothek einbinden LiquidCrystal_I2C lcd(0x27, 16, 2); //Hier wird festgelegt um was für einen Display es sich handelt. In diesem Fall 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(0x27, 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. In diesem Fall bedeutet (0,0) das erste Zeichen in der ersten Zeile. lcd.print("Funduino GmbH"); lcd.setCursor(0, 1);// In diesem Fall bedeutet (0,1) das erste Zeichen in der zweiten Zeile. lcd.print("Viel Erfolg!"); }

Erweiterung des Programmcodes

Mit dem I2C LCD Modul können wie mit dem einfachen LCD Modul, auch Messwerte angezeigt werden.

Hier ein Beispielcode, bei dem ein Feuchtigkeitssensor an Pin A0 angeschlossen wurde :

#include <Wire.h> // Wire Bibliothek einbinden #include <LiquidCrystal_I2C.h> // Vorher hinzugefügte LiquidCrystal_I2C Bibliothek einbinden LiquidCrystal_I2C lcd(0x27, 16, 2); //Hier wird festgelegt um welches Display es sich handelt. Die HEX-Adresse 0x27 ist eine Standartadresse für LCD mit einem einfachen I²C-Modul auf der Rückseite. Wenn das I²C Modul Lötstellen zur Veränderung der HEX-Adresse aufweist, ist die Standartadresse "0x3F". In diesem Fall handelt es sich um ein LCD mit 16 Zeichen in 2 Zeilen (16,2). Für ein vierzeiliges I2C-LCD verwendet man den Code "LiquidCrystal_I2C lcd(0x27, 20, 4)". int messwert=0; void setup() { lcd.init(); //Im Setup wird der LCD gestartet lcd.backlight(); //Hintergrundbeleuchtung einschalten (lcd.noBacklight(); schaltet die Beleuchtung aus). } void loop() { messwert=analogRead(A0); // Der Messwert vom Analogen Eingang A0 soll ausgelesen, und unter der Variablen „messwert“ gespeichert werden. lcd.setCursor(0, 0); //Hier wird die Position des ersten Zeichens festgelegt. In diesem Fall bedeutet (0,0) das erste Zeichen in der ersten Zeile. lcd.print("Messwert: "); lcd.setCursor(0, 1); // In diesem Fall bedeutet (0,1) das erste Zeichen in der zweiten Zeile. lcd.print(messwert); delay(500); }

Funduino - Dein Onlineshop für Mikroelektronik

  • Dauerhaft 10% Rabatt für Schüler, Studenten und Lehrkräfte

  • Mehr als 2.000 Artikel sofort verfügbar!

  • Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.