Arduino-Projekt: I2C-LCD
In diesem Projekt erkläre ich, wie man ein I2C-LCD anschließt.
Ich zeige Ihnen auch, wie Sie Text auf ein LCD bringen und ihn bewegen. Der Anschluss des von uns verwendeten Displays erfolgt über den I2C auf der Rückseite, so dass wir lediglich 4 Jumperkabel benötigen.
Auch ein Potentiometer müssen wir nicht anschließen, da dieses im I2C-Modul eingebaut ist. Dies können wir einstellen, indem wir ihn mit einem Schraubendreher weiter nach links oder weiter nach rechts drehen, wodurch wir die Helligkeit des Bildschirms verändern.
Bau und Verkabelung
Sobald Sie alle Teile gesammelt haben, können Sie sie miteinander verbinden.
Um den Arduino mit dem Display zu verbinden, müssen Sie ein Überbrückungskabel von 5 V in den VCC des Displays stecken. Sobald Sie dies getan haben, führen Sie ein Überbrückungskabel vom GND des Arduino zum GND des Displays. Verbinden Sie als Nächstes ein weiteres Überbrückungskabel von A4 mit dem SDA-Pin auf dem Display und ein Überbrückungskabel von A5 mit dem SCL-Pin auf dem Display.
Sie verwenden A4 und A5, weil dies die SDA- und SCL-Pins des Arduino UNO sind. Wobei A4 der SDA-Pin und A5 der SCL-Pin ist.
Sobald Sie alles angeschlossen haben, können Sie mit Schritt 3 der Programmierung fortfahren.

Programmierung
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
//hier zetten we alle componenten op een pin
int sensor = A0;
int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int Value = 0;
void setup(){
//Pinnen geven een puls
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
void loop(){
//Leest A0
Value = analogRead(sensor);
delay(100);
//als waar 110 of hoger is gaat lampje aan
if(Value >= 110){
digitalWrite(led1, HIGH);
}else{
//anders gaat hij uit
digitalWrite(led1, LOW);
}
if(Value >= 125){
digitalWrite(led2, HIGH);
}else{
digitalWrite(led2, LOW);
}
if(Value >= 140){
digitalWrite(led3, HIGH);
}else{
digitalWrite(led3, LOW);
}
if(Value >= 155){
digitalWrite(led4, HIGH);
}else{
digitalWrite(led4, LOW);
}
if(Value >= 170){
digitalWrite(led5, HIGH);
}else{
digitalWrite(led5, LOW);
}
}


