ESP8266 - Sensor de Chuva
O sensor de chuva detecta e mede os níveis de chuva/neve, oferecendo saídas digital (LOW/HIGH) e analógica. Este tutorial mostra como usar um ESP8266 para conectar e utilizar o sensor de chuva, cobrindo:
- Conectar o sensor de chuva ao ESP8266.
- Programar o ESP8266 para detectar chuva por meio do sinal digital.
- Programar o ESP8266 para medir os níveis de chuva usando o sinal analógico.
Depois, você pode personalizar o código para acionar um motor ou um aviso quando chuva/neve for detectada.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Chuva
O sensor de chuva pode detectar a presença de chuva ou medir o nível de água. Ele oferece duas opções, por meio de um pino de saída digital e de um pino de saída analógica.
O sensor é composto por duas partes: a placa de detecção e o módulo eletrônico

A placa de detecção
A placa de detecção, posicionada ao ar livre para receber chuva/neve (por exemplo, no telhado), possui trilhas de cobre expostas divididas em dois grupos: trilhas de alimentação e trilhas de detecção. Essas trilhas permanecem desconectadas, a menos que a água ou a neve faça a ponte entre elas. As trilhas de alimentação e de detecção são idênticas, o que permite escolher livremente qual será a trilha de alimentação e qual será a trilha de detecção.
O módulo eletrônico
O módulo eletrônico do sensor de chuva converte os sinais da placa de detecção em valores analógicos ou digitais que o ESP8266 NodeMCU consegue ler. Ele inclui quatro pinos:
- Pino VCC: Conecta ao VCC (3.3V a 5V).
- Pino GND: Conecta ao GND (0V).
- Pino DO: Pino de saída digital, indicando HIGH quando a chuva não é detectada e LOW quando é detectada. O limite de detecção de chuva é ajustável com um potenciômetro embutido.
- Pino AO: Pino de saída analógica, com o valor diminuindo com mais água na placa de detecção e aumentando com menos água.
Além disso, ele possui dois indicadores LED:
- Indicador PWR-LED para a alimentação.
- Indicador DO-LED para o estado da chuva no pino DO, que acende quando há chuva.
Como Funciona
FQuanto ao pino DO:
- O módulo está equipado com um potenciômetro embutido para definir o limite de sensibilidade.
- Quando a intensidade ultrapassa o limite, a chuva é detectada, o pino de saída do sensor vai para LOW e o DO-LED acende.
- Por outro lado, quando a intensidade fica abaixo do limite, a chuva não é detectada, o pino de saída vai para HIGH e o DO-LED apaga.
Quanto ao pino AO:
- O valor do pino AO diminui com mais água na placa de detecção.
- Por outro lado, o valor do pino AO aumenta com menos água na placa de detecção.
É importante observar que o potenciômetro não influencia o valor no pino AO.
Diagrama de Ligação
Como mencionado antes, conectar o pino VCC do sensor diretamente aos pinos de 3.3V ou 5V do ESP8266 pode reduzir a vida útil do sensor devido à corrosão eletroquímica. A abordagem recomendada é conectar o pino VCC do sensor de chuva a um pino de saída do ESP8266. Programando esse pino, o sensor de chuva pode ser alimentado somente durante as leituras, minimizando o impacto da corrosão eletroquímica.
Como o módulo do sensor de chuva tem duas saídas, você pode escolher usar uma ou as duas, dependendo do que precisa.
- O diagrama de ligação entre o ESP8266 e o sensor de chuva usando somente o DO.

This image is created using Fritzing. Click to enlarge image
Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.
- O diagrama de ligação entre o ESP8266 e o sensor de chuva usando somente o AO.

This image is created using Fritzing. Click to enlarge image
- O diagrama de ligação entre o ESP8266 e o sensor de chuva usando o AO e o DO.

This image is created using Fritzing. Click to enlarge image
Código ESP8266 - Ler o valor do pino DO
Passos Rápidos
Para começar com o ESP8266 na Arduino IDE, siga estes passos:
- Confira o tutorial como configurar o ambiente para ESP8266 na Arduino IDE se esta for a sua primeira vez usando o ESP8266.
- Faça a ligação dos componentes como mostrado no diagrama.
- Conecte a placa ESP8266 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
- Copie o código acima e abra na Arduino IDE
- Clique no botão Upload na Arduino IDE para fazer o upload do código para o ESP8266
- Pingue um pouco de água no sensor de chuva
- Confira o resultado no Serial Monitor.
Lembre-se de que, se você notar que o estado do LED permanece sempre ligado ou desligado mesmo quando o sensor está voltado para a chuva, você pode ajustar o potenciômetro para regular a sensibilidade do sensor.
Código ESP8266 - Ler o valor do pino AO
Passos Rápidos
- Faça a ligação dos componentes como mostrado no diagrama.
- Conecte a placa ESP8266 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
- Copie o código acima e abra na Arduino IDE
- Clique no botão Upload na Arduino IDE para fazer o upload do código para o ESP8266
- Pingue um pouco de água no sensor de chuva
- Confira o resultado no Serial Monitor.
※ Nota:
Este tutorial usa a função analogRead() para obter dados de um ADC (Conversor Analógico-Digital) conectado a um sensor ou a outro componente. O ADC do ESP8266 funciona bem em projetos que não exigem leituras muito precisas. Mas lembre-se de que o ADC do ESP8266 não é muito preciso para medições detalhadas. Se o seu projeto precisa ser muito preciso, você pode querer usar um ADC separado, como o ADS1115, com o ESP8266, ou usar um Arduino como o Arduino Uno R4 WiFi, que tem um ADC mais confiável.