// ---------------------------------------------------------
// I2C - LCD Anzeige
// Pinning: ESP32 D22 <=> SCL I2C_LCD
// D21 <=> SDA
// 3V3 <=> Vcc
// GND <=> GND
// Befehle:
// oLCD.init ()
// oLCD.backlight ();
// oLCD.clear ();
// oLCD.setCursor (iSpalte,iZeile);
// oLCD.printf ("Hallo");
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 16
#define LCD_LINES 2
LiquidCrystal_I2C oLCD (I2C_ADDR, LCD_COLUMNS, LCD_LINES);
// ---------------------------------------------------------
int iSpalte= 0;
int iZeile = 0;
void setup()
{
oLCD.init();
oLCD.backlight();
oLCD.printf ("Test");
pinMode(14, HIGH);
pinMode(34, INPUT);
}
void loop() {
for(;;)
{
if (digitalRead(34) == 1)
{
if (iZeile == 0)
{
iZeile = iZeile + 1;
}
}
if (digitalRead(35) == 1)
{
if (iSpalte != 0)
{
iSpalte = iSpalte - 1;
}
}
if (digitalRead(32) == 1)
{
if (iZeile != 0)
{
iZeile = iZeile-1;
}
}
if (digitalRead(33) == 1)
{
if (iSpalte != 12)
{
iSpalte = iSpalte + 1;
}
}
oLCD.clear();
oLCD.setCursor(iSpalte, iZeile);
oLCD.printf("Test");
delay(10); // this speeds up the simulation
}
}