#include <LiquidCrystal_I2C.h>
byte btn1=1;
byte btn2=1;
byte btn3=1;
byte btn4=1;
int btna=0;
int strMenu = 0;
int pozInfoMenu=1;
int pozSetMenu=0;
String infoMenu[]={
"---NASTAVENI----",
"Teplota Vykon",
"Oby KSp KHo TUV ",
"Kot TUV Akt Bud "};
String setMenu[]={
"1/4 Vykon 2 ",
"2/4 Vykon 3 ",
"3/4 Vypni obyvak",
"4/4 Zapni TUV "};
int setValue[]={
5,
-5,
10,
14};
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
// inicializace LCD
// zapnutí podsvícení
lcd.init();
lcd.backlight();
// vytisknutí hlášky na první řádek
lcd.print("Ocekavam zapnuti");
lcd.setCursor(0,1) ;
lcd.print("horaku");
pinMode(5, INPUT_PULLUP); //+
pinMode(18, INPUT_PULLUP); //ENTER
pinMode(4, INPUT_PULLUP); //-
pinMode(2, INPUT_PULLUP); //ESC
/*for (int i=60; i>0;i--){
lcd.setCursor(7,1);
lcd.print(i);
delay(100);
lcd.print(" ");
}*/
lcd.clear();
//lcd.noBacklight();
lcd.home();
lcd.print(infoMenu[pozInfoMenu]);
}
void loop() {
btn1 = !digitalRead(18);
btn2 = !digitalRead(5);
btn3 = !digitalRead(4);
btn4 = !digitalRead(2);
btna = btn1+btn2+btn3+btn4;
if (btna != 0) {
if (btn4) {
strMenu=strMenu - 1;
if (strMenu < 0) {strMenu = 0;}
if (strMenu == 0) {pozInfoMenu = 1;}
}
if (btn1) {
if (strMenu == 0 && pozInfoMenu == 0) {
strMenu = 1;
btn1 = 0;
} else if (strMenu == 1)
{
strMenu=2;
}
}
if (strMenu == 0){
lcd.clear();
pozInfoMenu = - btn2 + pozInfoMenu + btn3;
if (pozInfoMenu>3) {pozInfoMenu=0;}
if (pozInfoMenu<0) {pozInfoMenu=3;}
Serial.println(pozInfoMenu);
lcd.home();
lcd.print(infoMenu[pozInfoMenu]);
}
if (strMenu == 1){
lcd.clear();
pozSetMenu = - btn2 + pozSetMenu + btn3;
if (pozSetMenu>3) {pozSetMenu=0;}
if (pozSetMenu<0) {pozSetMenu=3;}
Serial.println(pozSetMenu);
lcd.home();
lcd.print(setMenu[pozSetMenu]);
}
/*
if (pozInfoMenu = 0) {
strMenu = - btn4 + strMenu + btn1;
} */
}
btna = 0;
if (strMenu == 0){
if (pozInfoMenu == 1) {
lcd.setCursor(2,1);
lcd.print("10");
lcd.setCursor(5,1);
lcd.write(223);
lcd.write(67);
lcd.setCursor(13,1);
lcd.print("1");
}
if (pozInfoMenu == 2) {
lcd.setCursor(1,1);
lcd.write(255);
lcd.setCursor(5,1);
lcd.write(95);
lcd.setCursor(9,1);
lcd.write(255);
lcd.setCursor(13,1);
lcd.write(255);
}
if (pozInfoMenu == 3) {
lcd.setCursor(1,1);
lcd.print(78);
lcd.setCursor(5,1);
lcd.print(69);
lcd.setCursor(9,1);
lcd.print(9);
lcd.setCursor(13,1);
lcd.print(8);
}
}
if (strMenu == 2) {
if (pozSetMenu == 0){
lcd.setCursor(0,1);
lcd.print("S:");
lcd.print(5);
lcd.print("N:");
lcd.print(5);
}
}
// put your main code here, to run repeatedly:
delay(75);
}