Você está na página 1de 6

Projeto | Monitoramento com Sensor de Detecção de

Chuva
embarcados.com.br/projeto-monitoramento-com-sensor-de-deteccao-de-chuva/

Sthefania Fernandes 26 de outubro de 2023

Este post faz parte da série Raspberry Pi Pico com MicroPython. Leia também os outros
posts da série:

Introdução
A crescente demanda por soluções eficazes de monitoramento climático tem impulsionado a
busca por tecnologias acessíveis e práticas. Como, por exemplo, o monitoramento de
chuvas com o uso do Sensor de Detecção de Chuva.

Neste projeto, exploraremos o Sensor de Detecção de Chuva que com sua capacidade de
identificar gotas de chuva por meio de variações elétricas nos permitirá verificar quando há
ou não precipitação.

-- publicidade --

Como Monitorar chuvas

1/6
Sensor de Detecção de Chuva
O sensor de chuva é um dispositivo eletrônico que possui a capacidade de detectar gotas
de chuva que caem em sua superfície metalizada. Esse componente é composto por duas
partes distintas: uma placa eletrônica (localizada à direita) e uma placa metálica coletora
(localizada à esquerda).

Figura 1 – Sensor de chuva.

O princípio de funcionamento do sensor de chuva é o seguinte: quando uma gota de água


entra em contato com a superfície da placa metálica coletora, a resistência elétrica aumenta,
resultando em uma diminuição na tensão de saída. Em contrapartida, quando a placa
metálica está seca, a resistência elétrica é menor, levando a uma tensão de saída mais alta.
Portanto, o desempenho do sensor de chuva é diretamente influenciado pela variação da
resistência da placa coletora.

Montagem da placa

Para esse projeto vamos precisar de:

1 x Raspberry Pi Pico
1 x Protoboard
1 x Cabo micro USB
1 x LED
1 x Resistor de 220 Ω
1 x Buzzer
1 x Sensor de chuva
Jumpers

2/6
Utilizando a protoboard, conecte o pino GND do Raspberry Pi Pico à linha de terra da
protoboard usando um jumper a partir do pino 38 da placa Pico. Da mesma forma, alimente
a proto conectando o pino VCC do Pico à linha de alimentação da protoboard através de um
jumper a partir do pino 36.

Para realizar a montagem correta, confira o mapa de pinos da Pico na Figura 2.

Figura 2 – Raspberry Pi Pico pinout.

O sensor de chuva possui 4 pinos: VCC, GND, A0 (saída analógica) e D0 (saída digital). A
identificação de cada um deles está impressa na parte inferior do sensor. Assim:

Os pinos VCC e GND devem ser conectados ao 3,3 V e GND da protoboard,


respectivamente;
Faremos dois experimentos:
No primeiro, o pino A0 do sensor de chuva será conectado a uma das entradas
analógicas do Raspberry Pi Pico, aqui optamos por utilizar o GP26
No segundo, o pino D0 do sensor deve ser conectado a uma das entradas
digitais da Raspberry Pi Pico, aqui optamos por utilizar o GP14.

Além disso, o terminal maior do LED (ânodo) deve ser conectado a um pino digital da placa,
aqui optamos por utilizar o GP15. O terminal menor do LED (cátodo) será conectado a um
resistor de 220 Ω que deve ser conectado ao GND.

3/6
Projeto Detecção de Chuva – Canal Analógico do Sensor de Detecção de
Chuva

Utilizando o Thonny IDE, vamos iniciar importando as bibliotecas “machine” e “utime”, que
nós já conhecemos, para poder acessar os pinos da placa e para adicionar atrasos ao
programa.

As primeiras definições do código são para configurar o led e o sensor. Na configuração do


sensor definiremos como uma entrada analógica e o led como uma saída. Depois definimos
o fator de conversão, abordado no artigo Projeto | Medidor de temperatura com
MicroPython.

1 import machine
2 import utime
3
4 sensor_chuva= machine.ADC(26)
5 led_red = machine.Pin(15,machine.Pin.OUT)
6 fator_conversao = 3.3 / (65535)

Em seguida, no loop principal definimos que a leitura do sensor será o valor em 16 bits
captado pelo ADC multiplicado pelo fator de conversão, o que nos dará um valor entre 0 e
3,3 V.

Assim, de forma empírica definimos que a detecção de chuva se dará se o valor lido for
menor ou igual a 2. Essa decisão se fundamenta no fato de que, na ausência de gotas de
chuva, o sensor fornece uma leitura de 3,3 V. À medida que gotas de chuva são captadas
pela superfície do sensor, esse valor diminui. Considerando que uma chuva consiste em
diversas gotas, foi estabelecido que um valor inferior a 2 é apropriado para indicar a
presença de chuva.

Então quando o sensor detectar uma leitura maior que 2, uma mensagem será exibida no
shell indicando não haver chuva e o led ficará apagado, do contrário uma mensagem
informando que está chovendo será mostrada e o led será aceso. A verificação será feita a
cada 2 segundos.

Abaixo temos o código completo utilizado.

Python

4/6
1 import machine
2 import utime
3
4 sensor_chuva= machine.ADC(26)
5 led_red = machine.Pin(15,machine.Pin.OUT)
6 fator_conversao = 3.3 / (65535)
7 while True:
8 leitura_chuva = sensor_chuva.read_u16() * fator_conversao
9
10 if leitura_chuva > 2:
11 print("Não está chovendo")
12 led_red.low()
13
14 else:
15 print("Está chovendo")
16 led_red.high()
17
18 utime.sleep(2)

Colocando algumas gotas de água na superfície metalizada do sensor temos a seguinte


saída no shell:

Projeto Detecção de Chuva – Canal Digital do Sensor de Detecção de Chuva

Antes de iniciar o processo, é necessário ajustar a sensibilidade do sensor ao utilizar o canal


digital. Isso envolve girar o trimpot até que o LED indicador do canal digital se apague o
mais próximo do estado de acender novamente, isso permitirá a detecção de chuva. É
importante garantir que esse ajuste seja feito com a placa coletora em estado seco.

Feito isso, as primeiras definições do código são para configurar o led e o sensor. Na
configuração do sensor definiremos como uma entrada digital e o led como uma saída.

1 import machine
2 import utime
3
4 sensor_chuva= machine.Pin(14,machine.Pin.IN)
5 led_red = machine.Pin(15,machine.Pin.OUT)

5/6
Em seguida, no loop principal definimos que se o valor lido pelo sensor for 1 significa que
não está chovendo (lembrando que esse sensor considera a ausência de chuva em nível
lógico alto) e o led deve ficar apagado. Por outro lado, se o valor lido indicar presença de
chuva, o LED é aceso e uma mensagem é exibida, informando que está chovendo.

Abaixo temos o código completo utilizado:

Python

1 import machine
2 import utime
3
4 sensor_chuva= machine.Pin(14,machine.Pin.IN)
5 led_red = machine.Pin(15,machine.Pin.OUT)
6
7 while True:
8 if sensor_chuva.value():
9 print("Não está chovendo")
10 led_red.low()
11
12 else:
13 print("Está chovendo")
14 led_red.high()
15
16 utime.sleep(2)

Conclusão
O projeto que desenvolvemos ofereceu uma abordagem abrangente para o monitoramento
da detecção de chuva, utilizando tanto a saída analógica quanto a digital do sensor. Além
disso, uma parte importante do projeto foi a calibração precisa do sensor de detecção de
chuva, permitindo que ele fornecesse resultados confiáveis e ajustados às condições
específicas do ambiente.

Trabalhando com a saída analógica, foi possível ter uma visão detalhada da intensidade da
chuva, enquanto a saída digital permitiu a detecção simples da presença ou ausência de
chuva.

Outros artigos da série

<< Projeto | Monitoramento da Qualidade do Ar com Sensor MQ135

6/6

Você também pode gostar