#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4); // set the LCD address to 0x27 for a 16 chars and 2 line display
String Menu[10] = {"Entrada","Prato Principal", "Sombremesa","Bebidas"};
int item=1, qtd=3,posicao=1,desce=LOW,sobe=LOW,escolha=1;
const int button = 4;
const int button2 = 3;
void desenhaMenu(int item,int qtd){
lcd.setCursor(0, 0);
lcd.print("**** CARDAPIO ****");
for (int i=item-1,posicao=1;i<item+2;i++, posicao++) {
lcd.setCursor(2, posicao);
lcd.print(Menu[i]);
}
}
void desenhaSeta(){
for (int i=1;i<4;i++){
lcd.setCursor(1, i);
if (i==escolha)
lcd.print(">");
else
lcd.print(" ");
}
int escolha2 = escolha==1?3:escolha-1;
lcd.setCursor(1, escolha2);
lcd.print(" ");
lcd.setCursor(1, escolha);
lcd.print(">");
}
void setup()
{
lcd.init();
pinMode(button,INPUT_PULLUP);
pinMode(button2,INPUT_PULLUP);
desenhaMenu(1,3);
}
void loop()
{
desce = digitalRead(button);
sobe = digitalRead(button2);
if (!desce) escolha ==3? escolha=1: escolha++; ;
if (!sobe) escolha ==1? escolha=3: escolha--;
desenhaSeta();
delay(65);
}