Monitoramento ambiental usando um Sensor de Detecção de Chuva com a Franzininho WiFi Lab01

Este post faz parte da série Franzininho WiFi com MicroPython

Introdução

Neste artigo, desenvolvido em MicroPython, utilizaremos a Franzininho WiFi Lab01, a detecção de chuva por meio de um sensor próprio para isso. Este dispositivo é reconhecido por sua capacidade de detectar chuva através da variação da resistência da placa que coleta as gotículas de água.

Sensor 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. 

Recursos necessários

Para iniciar o trabalho com os GPIOs, é essencial possuir o diagrama de pinos da placa à disposição, pois isso vai permitir que você identifique tanto os nomes quanto as funções associadas a cada um deles.

PinoRecurso
IO1LDR
IO2BT6
IO3BT5
IO4BT4
IO5BT3
IO6BT2
IO7BT1
IO8OLED_SDA
IO9OLED_SCL
IO10TFT_DC
IO11TFT_RES
IO12LED AZUL
IO13LED VERDE
IO14LED VERMELHO
IO15DHT11
IO17BUZZER
IO35TFT_SDA
IO36TFT_SCL
Tabela 1 – Franzininho WiFi Lab01 pinout

Usando os GPIOS para Conexão Externa

Para esse projeto precisaremos utilizar uma protoboard, pois o sensor de chuva não está integrado a Franzininho WiFi Lab01. Portanto, será necessário realizar a conexão por meio dos pinos GPIOs disponíveis na placa.

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 Franzininho WiFi Lab01, respectivamente;
  • O pino A0 do sensor de chuva não será utilizado nesta aplicação;
  • O pino D0 do sensor MQ135 deve ser conectado a uma das entradas digitais da Franzininho WiFi Lab01.

Código

Com a Franzininho WiFi Lab01 conectada ao seu computador, abra o Thonny e crie um novo arquivo contendo o código a seguir:

from machine import Pin, I2C
import time, ssd1306


led_red = Pin(14, Pin.OUT)
#configurando sensor
sensor_chuva= Pin(2, Pin.IN)

# atribuição de pinos da Franzininho
i2c = I2C(scl=Pin(9), sda=Pin(8), freq=100000)

# configurando display
oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)    
while True:
	#coletando data e hora atual
	current_time = time.localtime()
	formatted_time = "{:02d}/{:02d}/{} {:02d}:{:02d}".format(current_time[2], current_time[1], current_time[0], current_time[3], current_time[4])

	# limpa display
	oled.fill(0)
    
	# exibição no display
	oled.text(formatted_time, 0, 0)
    
	if sensor_chuva.value():
    	oled.text("Sem chuva", 0, 30)
    	led_red.off()
    
	else:
    	oled.text("Chovendo", 0, 30)
    	led_red.on()
   	 
	oled.show()
	time.sleep(5)

Vamos começar o código com “from machine import Pin, I2C”. Para poder acessar os pinos da placa e utilizar a comunicação I2C. A biblioteca “time” foi utilizada para adicionar pausas no código. Para utilizar o display OLED, importe a biblioteca “ssd1306”, que foi previamente instalada na sua placa.

Iniciamos nomeando o LED RGB e o associando aos pinos da placa como saída (Pin.OUT).  Consultando a tabela de pinos da Franzininho WiFi LAB01, identificamos que o pino 14 é responsável pela cor vermelha do LED RGB. 

Em seguida, configuramos o pino do sensor que foi conectado ao GPIO 2 e ajustado como entrada. Logo:

led_red = Pin(14, Pin.OUT)
#configurando sensor
sensor_chuva= Pin(2, Pin.IN)

De acordo com a tabela de pinagem, os pinos SCL e SDA da Franzininho WiFi Lab01 são os pinos 9 e 8, respectivamente. Assim, o I2C é configurado. Além disso, configuramos o display OLED, definindo a largura e altura do display, que são 128×64, e realizamos a associação ao I2C.

i2c = I2C(scl=Pin(9), sda=Pin(8), freq=100000)oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c) 

No loop principal definimos a condição em que, ao detectar um sinal pelo sensor, a mensagem “Chovendo” será apresentada no display, e o LED vermelho ficará apagado.  Do contrário, se nenhum sinal for detectado, uma mensagem indicando que não há precipitação, “Sem chuva”, será exibida e o LED vermelho acende.

A verificação será feita a cada 5 segundos. Vale ressaltar que a configuração padrão do sensor é de nível lógico alto. Em outras palavras, quando não há detecção, a saída do sensor é 1 e, ao detectar algo, sua saída é alterada para 0.

Também foi exibido no display data e hora, como nos exemplos que antecederam esse.

A seguir, apresentamos o resultado do teste realizado sem e com gota d‘água na placa metálica do sensor.

Figura 2 – Testes realizado: Quando não detecção chuva
Figura 3 – Testes realizado: Quando há chuva

Conclusão

Neste artigo, apresentamos em MicroPython uma solução para o monitoramento da do ambiente com a Franzininho WiFi Lab01 e o sensor de detecção de chuva. A utilização do sensor de chuva oferece uma abordagem eficiente para detectar a presença de precipitação.

Como sugestão, é possível implementar sinais de alerta adicionais, como ativar um efeito sonoro através do buzzer da Franzininho ou a implementação do piscar do LED. Essas adições enriquecem a capacidade de alerta do sistema e oferecem múltiplos meios de notificação.

Franzininho WiFi com MicroPython

Sistema de Monitoramento da Qualidade do Ar utilizando a Franzininho WiFi Lab01 Web Server com a Franzininho WiFi Lab01 e MicroPython
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
0 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Home » Maker » Monitoramento ambiental usando um Sensor de Detecção de Chuva com a Franzininho WiFi Lab01

EM DESTAQUE

WEBINARS

VEJA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste: