/* Projeto Curto Circuito - ESP32: Sensor de Chuva */
/*----Sensor de Chuva----*/
int pino_d = 12; /* Pino D12 do ESP32 ligado ao D0 do sensor */
int pino_a = 35; /* Pino D35 do ESP32 ligado ao A0 do sensor */
int val_d = 0; /* Armazena leitura do pino digital */
int val_a = 0; /* Armazena leitura do pino analógico */
/*---- LED----*/
int pin = 2; /* RGB Vermelho pino D2 do ESP32 */
int pin2 = 4; /* RGB Azul pino D4 do ESP32 */
void setup()
{
Serial.begin(9600);
/* Sensores INPUT */
pinMode(pino_d, INPUT);
pinMode(pino_a, INPUT);
/* LEDs OUTPUT */
pinMode(pin, OUTPUT);
pinMode(pin2, OUTPUT);
}
void loop()
{
/* Armazena os valores de leitura */
val_a = analogRead(pino_a);
/* Se a leitura analógica for menor que 300 */
if ( val_a < 1000)
{ /* Chuva intensa */
digitalWrite(pin, 0); /* Desliga */
digitalWrite(pin2, 1); /* Liga */
Serial.println("Chuva Intensa");
Serial.println(val_a );
}
/* Se a leitura analógica for menor que 500 e maior que 300 */
if (val_a <= 3000 && val_a >= 1000)
{ /* Chuva moderada */
digitalWrite(pin, 1); /* Liga */
digitalWrite(pin2, 1); /* Liga */
Serial.println("Chuva Moderada ou Chuvisco");
Serial.println(val_a );
}
/* Se a leitura analógica for maior que 500 */
if ( val_a > 4000)
{ /* Sem previsão de Chuva */
digitalWrite(pin, 1); /* Liga */
digitalWrite(pin2, 0); /* Desliga */
Serial.println("Sem previsão de chuva");
Serial.println(val_a );
}
}