//DEFINIÇÃO DE NOMES
#define LED5 19
#define LED4 18
#define LED3 17 //LEDS
#define LED2 16
#define LED1 4
#define POTPIN 34 //POTENCIOMETRO
//DEFINIÇÃO DE VARIÁVEIS
unsigned int potvl;
//ROTINA DE INICIALIZAÇÃO
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(POTPIN, INPUT); //DEFININDO A ENTRADA DO CIRCUITO
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT); //DEFININDO AS SAÍDAS DOS CIRCUITO
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
}
//ROTINA DE OPERAÇÃO
void loop() {
potvl = analogRead(POTPIN);
if (potvl <= 1500)//CORRIGIR CONFORME ENUNCIADO
{
for (int i = 0; i <=15; i++) {
digitalWrite(LED1, (i & 0b00001) ? HIGH : LOW);
digitalWrite(LED2, (i & 0b00010) ? HIGH : LOW);
digitalWrite(LED3, (i & 0b00100) ? HIGH : LOW);
digitalWrite(LED4, (i & 0b01000) ? HIGH : LOW);
//digitalWrite(LED5, (i & 0b10000) ? HIGH : LOW);
delay(500);
}
}
if (potvl > 1500 && potvl <=3000) //CORRIGIR CONFORME ENUNCIADO
{
for (int i = 15; i >= 0; i--) {
digitalWrite(LED1, (i & 0b00001) ? HIGH : LOW);
digitalWrite(LED2, (i & 0b00010) ? HIGH : LOW);
digitalWrite(LED3, (i & 0b00100) ? HIGH : LOW);
digitalWrite(LED4, (i & 0b01000) ? HIGH : LOW);
//digitalWrite(LED5, (i & 0b10000) ? HIGH : LOW);
delay(500);
}
}
if (potvl > 3000) //CORRIGIR CONFORME ENUNCIADO
{
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(250);
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, HIGH);
delay(250);
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, HIGH);
//digitalWrite(LED5, LOW);
delay(250);
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(250);
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(250);
}
}