Arduino Nano - Sensor de Chuva

O sensor de chuva pode detectar e medir níveis de chuva/neve, oferecendo saídas digital (LOW/HIGH) e analógica. Este tutorial demonstra como usar um Arduino Nano para conectar e utilizar o sensor de chuva, abordando como ler o sinal digital para detectar chuva e o sinal analógico para medir os níveis de chuva.

Depois disso, você pode personalizar o código para acionar um motor ou um sistema de alerta ao detectar chuva/neve.

Hardware Necessário

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cabo USB A para Mini-B
1×Sensor de Chuva
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre o Sensor de Chuva

O sensor de chuva pode detectar a presença de chuva ou medir o nível de água da precipitação. 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 de chuva é composto por duas partes: a placa de detecção e o módulo eletrônico

Pinagem do Sensor de Chuva
image source: diyables.io

A placa de detecção

A placa de detecção, posicionada ao ar livre para encontrar chuva/neve (por exemplo, em um telhado), tem trilhas de cobre expostas divididas em dois grupos: trilhas de alimentação e trilhas de detecção. Essas trilhas permanecem desconectadas, a menos que sejam ligadas por água ou neve. As trilhas de alimentação e de detecção são intercambiáveis, o que permite designar uma como trilha de alimentação enquanto a outra funciona como trilha de detecção.

O módulo eletrônico

O módulo eletrônico do sensor de chuva transforma os sinais da placa de detecção em valores analógicos ou digitais que o Arduino Nano 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. Fica HIGH se a chuva não for detectada e LOW se for detectada. O limite de detecção de chuva é ajustável com um potenciômetro embutido.
  • Pino AO: Pino de saída analógica. O valor de saída diminui com mais água na placa de detecção e aumenta com menos água.

Além disso, ele tem dois indicadores LED:

  • Um indicador PWR-LED para a alimentação.
  • Um indicador DO-LED para o estado da chuva no pino DO, que acende quando há chuva.

Como Funciona

Em relação ao pino DO:

  • O módulo tem um potenciômetro embutido para ajustar o limite (sensibilidade).
  • Quando a intensidade ultrapassa o limite, a chuva é detectada, o pino de saída do sensor fica LOW e o DO-LED acende.
  • Por outro lado, quando a intensidade está abaixo do limite, nenhuma chuva é detectada, o pino de saída fica HIGH e o DO-LED fica apagado.

Em relação ao pino AO:

  • O pino AO lê valores menores à medida que o conteúdo de água na placa de detecção aumenta.
  • Por outro lado, ele lê valores maiores à medida que o conteúdo de água diminui.

É essencial notar que o potenciômetro não influencia o valor do pino AO.

Diagrama de Ligação

Como destacado anteriormente, conectar o pino VCC do sensor diretamente aos pinos 3,3V ou 5V do Arduino Nano pode encurtar a vida útil do sensor devido à corrosão eletroquímica. Para reduzir isso, recomenda-se conectar o pino VCC do sensor de chuva a um pino de saída do Arduino Nano. Dessa forma, a programação desse pino pode ser configurada para alimentar o sensor de chuva 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 precisar.

  • O diagrama de ligação entre o Arduino Nano e o sensor de chuva ao usar somente o DO.
Diagrama de ligação do sensor de chuva com Arduino Nano

This image is created using Fritzing. Click to enlarge image

  • O diagrama de ligação entre o Arduino Nano e o sensor de chuva ao usar somente o AO.
Diagrama de ligação da detecção de chuva com Arduino Nano

This image is created using Fritzing. Click to enlarge image

  • O diagrama de ligação entre o Arduino Nano e o sensor de chuva ao usar o AO e o DO.
Diagrama de ligação do detector de chuva com Arduino Nano

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Nano e outros componentes.

Código Arduino Nano - Lendo o valor do pino DO

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-rain-sensor */ #define POWER_PIN D5 // The Arduino Nano pin that provides the power to the rain sensor #define DO_PIN D9 // The Arduino Nano pin connected to DO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano's pin as an input pinMode(POWER_PIN, OUTPUT); // Configure the power pin pin as an OUTPUT pinMode(DO_PIN, INPUT); } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the rain sensor's power ON delay(10); // wait 10 milliseconds int rain_state = digitalRead(DO_PIN); digitalWrite(POWER_PIN, LOW); // turn the rain sensor's power OFF if (rain_state == HIGH) Serial.println("The rain is NOT detected"); else Serial.println("The rain is detected"); delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime }

Passos Rápidos

  • Copie o código acima e abra-o com o Arduino IDE
  • Clique no botão Upload no Arduino IDE para fazer o upload do código para o Arduino Nano
  • Pingue um pouco de água no sensor de chuva
  • Confira o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' on 'COM15')
New Line
9600 baud
The rain is NOT detected The rain is NOT detected The rain is NOT detected The rain is detected The rain is detected The rain is detected The rain is detected The rain is detected The rain is NOT detected The rain is NOT detected The rain is NOT detected
Ln 11, Col 1
Arduino Nano on COM15
2

Lembre-se de que, se você notar que o estado do LED permanece sempre aceso ou apagado mesmo quando o sensor está voltado para a chuva, você pode ajustar o potenciômetro para refinar a sensibilidade do sensor.

Código Arduino Nano - Lendo o valor do pino AO

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-rain-sensor */ #define POWER_PIN D5 // The Arduino Nano pin that provides the power to the rain sensor #define AO_PIN A0 // The Arduino Nano pin connected to AO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); pinMode(POWER_PIN, OUTPUT); // Configure the power pin pin as an OUTPUT } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the rain sensor's power ON delay(10); // wait 10 milliseconds int rainValue = analogRead(AO_PIN); digitalWrite(POWER_PIN, LOW); // turn the rain sensor's power OFF Serial.println(rainValue); // print out the analog value delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime }

Passos Rápidos

  • Copie o código acima e abra-o com o Arduino IDE
  • Clique no botão Upload no Arduino IDE para fazer o upload do código para o Arduino Nano
  • Pingue um pouco de água no sensor de chuva
  • Confira o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' on 'COM15')
New Line
9600 baud
225 2426 236 563 687 959 975 1009 1017 1053 1078 841 743 440 279
Ln 11, Col 1
Arduino Nano on COM15
2

Vídeo

Referências de Funções

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!