#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 16
#define LCD_LINES 2
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
const int Sel = 11;
const int botaoMais = 12;
const int botaoMenos = 13;
int contador = 0;
int quantMenu = 3;
// VOID SETUP
void setup(){
lcd.init();
lcd.backlight();
pinMode(Sel, INPUT);
pinMode(botaoMais, INPUT);
pinMode(botaoMenos, INPUT);
Serial.begin(9600);
}
//VOID LOOP
void loop(){
//Serial.println(contador);
// aqui controla a opcão do menu cada vez que for apertado o botao menu é acrescentado +1 na variavel fazendo switch abaixo percorrer as opcoes
if (digitalRead(botaoMenos) == HIGH) {
lcd.clear();
delay(250);
contador=contador-1;
}
if (digitalRead(botaoMais) == HIGH) {
lcd.clear();
delay(250);
contador=contador+1;
}
if (contador>quantMenu){ // se a quantidade for maior que o selecionado na variavel, ele volta ao 0
contador=0;
}
if (contador<0){ // se a quantidade for maior que o selecionado na variavel, ele volta ao 0
contador=0;
}
// switch de opcoes para controle do manu
switch(contador){
case 0:
inicio();
break;
case 1:
opcao1();
break;
case 2:
opcao2();
break;
case 3:
opcao3();
break;
}
}
// Fim do LOOP
// Inicio das opcoes do Menu
void inicio()
{
lcd.setCursor(0,0);
lcd.print("HIVE ELETRONICA ");
lcd.setCursor(0,1);
lcd.print(" HIPER WIRE ");
}
// Funcao da opcao 1
void opcao1(){
lcd.setCursor(0,0);
lcd.print("Configurar");
lcd.setCursor(0,1);
lcd.print("Dispositivo");
if(digitalRead(Sel)==HIGH){
lcd.clear();
delay(250);
lcd.setCursor(0,0);
lcd.print("Configurando...");
delay(3000);
lcd.clear();
}
}
// Funcao da opcao 2
void opcao2(){
lcd.setCursor(0,0);
lcd.print("Conectar");
lcd.setCursor(0,1);
lcd.print("Aplicativo");
if(digitalRead(Sel)==HIGH){
lcd.clear();
delay(250);
lcd.setCursor(0,0);
lcd.print("Pareando...");
delay(3000);
lcd.clear();
}
}
// Funcao da opcao 3
void opcao3(){
lcd.setCursor(0,0);
lcd.print("Restaurar");
lcd.setCursor(0,1);
lcd.print("Dispositivo");
if(digitalRead(Sel)==HIGH){
lcd.clear();
delay(250);
lcd.setCursor(0,0);
lcd.print("Restaurando...");
delay(3000);
lcd.clear();
}
}