#define LED_R 32
#define LED_O 33
#define LED_G_1 25
#define LED_G_2 26
#define LED_B 27
#define CHN_0 0
#define CHN_1 1
#define CHN_2 2
#define CHN_3 3
#define CHN_4 4
#define FRQ 1000
#define PWM_BIT 8
int i = 0;
int j = 0;
int k = 0;
int l = 0;
int m = 0;
void setup()
{
Serial.begin(115200);
ledcSetup(CHN_0, FRQ, PWM_BIT);
ledcAttachPin(LED_R, CHN_0);
ledcSetup(CHN_1, FRQ, PWM_BIT);
ledcAttachPin(LED_O, CHN_1);
ledcSetup(CHN_2, FRQ, PWM_BIT);
ledcAttachPin(LED_G_1, CHN_2);
ledcSetup(CHN_3, FRQ, PWM_BIT);
ledcAttachPin(LED_G_2, CHN_3);
ledcSetup(CHN_4, FRQ, PWM_BIT);
ledcAttachPin(LED_B, CHN_4);
}
void loop()
for (int i = 0; 1 <= 255; i++) {
ledcWrite(CHN_0, 1);
Imprime(i, j, k, l, m);
delay(200);
if(i == 255){
for(int j = 0; j <= 255; j++){
ledcWrite(CHN_1, j);
Imprime(i, j, k, l, m);
delay(100);
if(j == 255){
for(int k = 0; k <= 255; k++){
ledcWrite(CHN_2, k);
Imprime(i, j, k, l, m);
delay(100);
if(k == 255){
for(int l=0; l <= 255; l++){
ledcWrite(CHN_3, l);
Imprime(i, j, k, l, m);
delay(100);
if(l == 255){
for(int m = 0; m <= 255; m++){
ledcWrite(CHN_4, m);
Imprime(i, j, k, l, m);
delay(100);
if(m == 255){
delay(10000);
}
}
}else{
m=0;
ledcWrite(CHN_4, m);
Imprime(i, j, k, l, m);
}
}
} else {
l = 0;
ledcWrite(CHN_3, l);
ledcWrite(CHN_4, m);
Imprime(i, j, k, l, m);
}
}
} else {
k=0;
ledcWrite(CHN_2, k);
ledcWrite(CHN_3, l);
ledcWrite(CHN_4, m);
Imprime(i, j, k, l, m);
}
}
} else {
j=0;
ledcWrite(CHN_1, j);
ledcWrite(CHN_2, k);
ledcWrite(CHN_3, l);
ledcWrite(CHN_4, m);
Imprime(i, j, k, l, m);
}
}
void Imprime (int i, int j, int k, int l, int m){
int Nível = (i*20/255) + (j*20/255) + (k*20/255) + (l*20/255) + (m*20/255);
Serial.print("LED Vermelho: ");
Serial.print(i);
Serial.print(" | ");
Serial.print("LED Laranja: ");
Serial.print(j);
Serial.print(" | ");
Serial.print("LED Verde Claro: ");
Serial.print(k);
Serial.print(" | ");
Serial.print("LED Verde Escuro: ");
Serial.print(l);
Serial.print(" | ");
Serial.print("LED Azul: ");
Serial.print(m);
Serial.print(" | ");
Serial.print("Reservatório: ");
Serial.print( Nível );
Serial.print("%");
Serial.print(" | ");
if (Nível == 0){
Serial.println(" COMPLETAMENTE VAZIO ");
} else if(Nível>0 && Nível <= 20){
Serial.println(" NÍVEL CRITICO ");
} else if(Nível>20 && Nível <= 40){
Serial.println(" NÍVEL MUITO BAIXO ");
} else if(Nível>40 && Nível <= 60){
Serial.println(" NÍVEL BAIXO ");
} else if(Nível>60 && Nível <= 80){
Serial.println(" REGULAR ");
} else if(Nível>80 && Nível < 100){
Seria.println(" CHEIO ");
} else {
Serial.println(" COMPLETAMENTE CHEIO");
}
}