int botao11 = 14;
int botao22 = 12;
#define pot 0
bool botao1 = 0;
bool botao2 = 0;
#define led 23
int contador;
int seletor;
#define dis7seg_a 15
#define dis7seg_b 2
#define dis7seg_c 4
#define dis7seg_d 16
#define dis7seg_e 17
#define dis7seg_f 5
#define dis7seg_g 18
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C TELALCD(0x27, 16,2);
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(botao11, INPUT);
pinMode(botao22, INPUT);
pinMode(led, OUTPUT);
TELALCD.init();
TELALCD.backlight();
TELALCD.setCursor(0,0);
TELALCD.print(" LIGANDO... ");
delay(1000);
TELALCD.clear();
pinMode(dis7seg_a, OUTPUT);
pinMode(dis7seg_b, OUTPUT);
pinMode(dis7seg_c, OUTPUT);
pinMode(dis7seg_d, OUTPUT);
pinMode(dis7seg_e, OUTPUT);
pinMode(dis7seg_f, OUTPUT);
pinMode(dis7seg_g, OUTPUT);
}
void loop() {
int potvalue = analogRead(pot);
int potenciometro = map(potvalue, 0, 4095, 0, 100);
digitalWrite(dis7seg_a, 0);
digitalWrite(dis7seg_b, 0);
digitalWrite(dis7seg_c, 0);
digitalWrite(dis7seg_d, 0);
digitalWrite(dis7seg_e, 0);
digitalWrite(dis7seg_f, 0);
digitalWrite(dis7seg_g, 0);
botao1 = digitalRead(botao11);
botao2 = digitalRead(botao22);
int limitador = seletor * 10;
if (botao1 == 1){
if(seletor <= 8){
seletor++;
Serial.println(seletor);
delay(500);
}
}
if (botao2 == 1){
if(seletor > 0){
seletor--;
Serial.println(seletor);
delay(500);
}
}
switch(seletor){
case 0:
TELALCD.setCursor(0,0);
TELALCD.print("PORC.LIMITE: ");
TELALCD.setCursor(13,0);
TELALCD.print(limitador);
TELALCD.setCursor(15,0);
TELALCD.print("%");
TELALCD.setCursor(0,1);
TELALCD.print("NVL. TANQ.: ");
TELALCD.print(potenciometro);
digitalWrite(dis7seg_a, 1);
digitalWrite(dis7seg_b, 1);
digitalWrite(dis7seg_c, 1);
digitalWrite(dis7seg_d, 1);
digitalWrite(dis7seg_e, 1);
digitalWrite(dis7seg_f, 1);
break;
case 1:
TELALCD.setCursor(0,0);
TELALCD.print("PORC.LIMITE: ");
TELALCD.setCursor(13,0);
TELALCD.print(limitador);
TELALCD.setCursor(15,0);
TELALCD.print("%");
TELALCD.setCursor(0,1);
TELALCD.print("NVL. TANQ.: ");
TELALCD.print(potenciometro);
digitalWrite(dis7seg_b, 1);
digitalWrite(dis7seg_c, 1);
break;
case 2:
TELALCD.setCursor(0,0);
TELALCD.print("PORC.LIMITE: ");
TELALCD.setCursor(13,0);
TELALCD.print(limitador);
TELALCD.setCursor(15,0);
TELALCD.print("%");
TELALCD.setCursor(0,1);
TELALCD.print("NVL. TANQ.: ");
TELALCD.print(potenciometro);
digitalWrite(dis7seg_a, 1);
digitalWrite(dis7seg_b, 1);
digitalWrite(dis7seg_d, 1);
digitalWrite(dis7seg_e, 1);
digitalWrite(dis7seg_g, 1);
break;
case 3:
TELALCD.setCursor(0,0);
TELALCD.print("PORC.LIMITE: ");
TELALCD.setCursor(13,0);
TELALCD.print(limitador);
TELALCD.setCursor(15,0);
TELALCD.print("%");
TELALCD.setCursor(0,1);
TELALCD.print("NVL. TANQ.: ");
TELALCD.print(potenciometro);
digitalWrite(dis7seg_a, 1);
digitalWrite(dis7seg_b, 1);
digitalWrite(dis7seg_c, 1);
digitalWrite(dis7seg_d, 1);
digitalWrite(dis7seg_g, 1);
break;
case 4:
TELALCD.setCursor(0,0);
TELALCD.print("PORC.LIMITE: ");
TELALCD.setCursor(13,0);
TELALCD.print(limitador);
TELALCD.setCursor(15,0);
TELALCD.print("%");
TELALCD.setCursor(0,1);
TELALCD.print("NVL. TANQ.: ");
TELALCD.print(potenciometro);
digitalWrite(dis7seg_b, 1);
digitalWrite(dis7seg_c, 1);
digitalWrite(dis7seg_f, 1);
digitalWrite(dis7seg_g, 1);
break;
case 5:
TELALCD.setCursor(0,0);
TELALCD.print("PORC.LIMITE: ");
TELALCD.setCursor(13,0);
TELALCD.print(limitador);
TELALCD.setCursor(15,0);
TELALCD.print("%");
TELALCD.setCursor(0,1);
TELALCD.print("NVL. TANQ.: ");
TELALCD.print(potenciometro);
digitalWrite(dis7seg_a, 1);
digitalWrite(dis7seg_c, 1);
digitalWrite(dis7seg_d, 1);
digitalWrite(dis7seg_f, 1);
digitalWrite(dis7seg_g, 1);
break;
case 6:
TELALCD.setCursor(0,0);
TELALCD.print("PORC.LIMITE: ");
TELALCD.setCursor(13,0);
TELALCD.print(limitador);
TELALCD.setCursor(15,0);
TELALCD.print("%");
TELALCD.setCursor(0,1);
TELALCD.print("NVL. TANQ.: ");
TELALCD.print(potenciometro);
digitalWrite(dis7seg_a, 1);
digitalWrite(dis7seg_c, 1);
digitalWrite(dis7seg_d, 1);
digitalWrite(dis7seg_e, 1);
digitalWrite(dis7seg_f, 1);
digitalWrite(dis7seg_g, 1);
break;
case 7:
TELALCD.setCursor(0,0);
TELALCD.print("PORC.LIMITE: ");
TELALCD.setCursor(13,0);
TELALCD.print(limitador);
TELALCD.setCursor(15,0);
TELALCD.print("%");
TELALCD.setCursor(0,1);
TELALCD.print("NVL. TANQ.: ");
TELALCD.print(potenciometro);
digitalWrite(dis7seg_a, 1);
digitalWrite(dis7seg_b, 1);
digitalWrite(dis7seg_c, 1);
break;
case 8:
TELALCD.setCursor(0,0);
TELALCD.print("PORC.LIMITE: ");
TELALCD.setCursor(13,0);
TELALCD.print(limitador);
TELALCD.setCursor(15,0);
TELALCD.print("%");
TELALCD.setCursor(0,1);
TELALCD.print("NVL. TANQ.: ");
TELALCD.print(potenciometro);
digitalWrite(dis7seg_a, 1);
digitalWrite(dis7seg_b, 1);
digitalWrite(dis7seg_c, 1);
digitalWrite(dis7seg_d, 1);
digitalWrite(dis7seg_e, 1);
digitalWrite(dis7seg_f, 1);
digitalWrite(dis7seg_g, 1);
break;
case 9:
TELALCD.setCursor(0,0);
TELALCD.print("PORC.LIMITE: ");
TELALCD.setCursor(13,0);
TELALCD.print(limitador);
TELALCD.setCursor(15,0);
TELALCD.print("%");
TELALCD.setCursor(0,1);
TELALCD.print("NVL. TANQ.: ");
TELALCD.print(potenciometro);
digitalWrite(dis7seg_a, 1);
digitalWrite(dis7seg_b, 1);
digitalWrite(dis7seg_c, 1);
digitalWrite(dis7seg_d, 1);
digitalWrite(dis7seg_f, 1);
digitalWrite(dis7seg_g, 1);
break;
}
if (potenciometro < limitador){
digitalWrite(led, 1);
}else {
digitalWrite(led, 0);
}
}