/*
GPIO VP = 36 menu subir
GPIO VN = 39 menu descer
GPIO 34 = menu entrar
GPIO 35 = menu sair
Ao iniciar
linha 0 coluna 3: Controle
linha 1 coluna 3: Temp e Umid
1. Set Crlt Temp
1.1
2. Set Crlt Umid
2.1
3. Set Velo Insf
3.1
IO
1 - subir menu
2 - descer menu
3 - entrar menu
4 - sair menu
*/
#include<LiquidCrystal_I2C.h> //biblioteca do display i2c
#include<Wire.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); //0x27 endereço no barramento i2c, 16, 2 colunas e linhas
#define Menu_up 36
#define Menu_dw 39
#define Menu_in 34
#define Menu_out 35
int menu1=0, posicao;
//gpio SDA 21
//gpio SCL 22
void setup()
{
Serial.begin(9600);
//------------configuração display-------------------
lcd.init(); //iniciar o display
lcd.backlight(); //acender o backlight
lcd.setCursor(3, 0);
lcd.print("Iniciando"); // escrever no lcd
delay(1000);
lcd.clear(); // limpar a tela do display
//---------------------ENTRADAS-----------------------
pinMode(Menu_up, INPUT);
pinMode(Menu_dw, INPUT);
pinMode(Menu_in, INPUT);
pinMode(Menu_out, INPUT);
}
void loop()
{
//if((digitalRead(Menu_up)) == HIGH);
//{
//Serial.println(Menu_up);
// delay(100);
// }
if(!menu1)
{
lcd.setCursor(0,0);
lcd.print("Desenvolvido por");
lcd.setCursor(2,1);
lcd.print("Ronys Moura");
}
else
{
switch(menu1)
{
case 1:
lcd.setCursor(0,0);
lcd.print(">> ");
lcd.setCursor(0,0);
lcd.print(" >>Set Crtl Temp");
lcd.setCursor(0,1);
lcd.print("Set Crtl Umid");
break;
case 2:
lcd.setCursor(0,0);
lcd.print("Set Crtl Temp");
lcd.setCursor(0,1);
lcd.print(">> ");
lcd.setCursor(0,1);
lcd.print(" >>Set Crtl Umid");
break;
case 3:
lcd.setCursor(0,0);
lcd.print("Set Crtl Umid");
lcd.setCursor(0,1);
lcd.print(">> ");
lcd.setCursor(0,1);
lcd.print(" >>Set vel motor");
break;
}
}
if(digitalRead(Menu_dw))
{
lcd.clear();
if(menu1 >= 3)
{
menu1=3;
}
else
{
menu1++;
}
Serial.println(String(menu1)+"\n");
delay(100);
}
if(digitalRead(Menu_up))
{
lcd.clear();
if(menu1 <= 1)
{
menu1=1;
}
else
{
menu1--;
}
Serial.println(String(menu1)+"\n");
delay(100);
}
}