Inhaltsverzeichnis
Für dieses Projekt benötigst du
Anleitung zum LCD Display mit I2C Anschluss
https://www.high-endrolex.com/43
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.Hinweise zur Ansteuerung der I2C-Displays
In diesem Beispiel:
I²C-Modul ohne Lötstellen, mit fester HEX-Adresse 0x27, HEX-Adresse kann abweichen!
I²C-Modul mit rot markierten Lötstellen. Standart-HEX-Adresse 0x3F (kann abweichen!), veränderbar durch die Lötstellen A1-A3)
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 Mikrocontroller, SDA mit dem analogen Eingang A4 und SCL mit dem analogen Eingang A5.
Verkabelung am MEGA2560 R3
Bei dem MEGA2560 R3 Mikrocontroller gibt es für die SDA- und SCL-Kontakte eigene Eingänge auf dem Board unter 20 und 21.
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 Bibliotheksverwaltung der Arduino-Software hinzugefügt werden. Der angezeigte Name in der Bibliotheksverwaltung lautet „LiquidCrystal I2C by Marco Schwartz“.
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 bis zu 10% Rabatt für Schüler, Studenten und Lehrkräfte
-
Mehr als 3.500 Artikel sofort verfügbar!
-
Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.