// ---------------------------------------------------------
// 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
#define PIN_RECHTS 25
#define PIN_LINKS 32
#define PIN_RUNTER 33
#define PIN_RAUF 26
LiquidCrystal_I2C oLCD (I2C_ADDR, LCD_COLUMNS, LCD_LINES);
// ---------------------------------------------------------
void setup()
{
oLCD.init();
oLCD.backlight();
oLCD.printf ("Test");
}
void loop()
{
int iSpalte;
int iZeile;
int iButton_right;
int iButton_left;
int iButton_down;
int iButton_up;
iSpalte=iSpalte;
iZeile=iZeile;
iButton_right = analogRead(PIN_RECHTS);
iButton_left = analogRead(PIN_LINKS);
iButton_down = analogRead(PIN_RUNTER);
iButton_up = analogRead(PIN_RAUF);
if (iButton_right == 0)
{
oLCD.clear ();
iSpalte++;
oLCD.setCursor (iSpalte,iZeile);
oLCD.printf ("Test");
}
else if (iButton_left == 0)
{
oLCD.clear ();
iSpalte--;
oLCD.setCursor (iSpalte,iZeile);
oLCD.printf ("Test");
}
else if (iButton_down == 0)
{
oLCD.clear ();
iZeile++;
oLCD.setCursor (iSpalte,iZeile);
oLCD.printf ("Test");
}
else if (iButton_up == 0)
{
oLCD.clear ();
iZeile--;
oLCD.setCursor (iSpalte,iZeile);
oLCD.printf ("Test");
}
}