Arduino Nano - Sensor de lluvia

El sensor de lluvia puede detectar y medir los niveles de lluvia o nieve, ofreciendo salidas digitales (BAJO/ALTO) y analógicas. Este tutorial demuestra cómo usar un Arduino Nano para conectar y utilizar el sensor de lluvia, cubriendo cómo leer la señal digital para la detección de lluvia y la señal analógica para medir los niveles de lluvia.

Después de eso, puedes personalizar el código para activar un motor o un sistema de alerta al detectar lluvia o nieve.

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano Development Board
1×Cable USB A a Mini-B
1×Sensor de Lluvia
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del sensor de lluvia

El sensor de lluvia puede detectar la presencia de lluvia o medir el nivel de agua a partir de la precipitación. Ofrece dos opciones a través de un pin de salida digital y un pin de salida analógica.

El sensor de lluvia consta de dos partes: la placa de detección y el módulo electrónico.

Pinout del sensor de lluvia
image source: diyables.io

La almohadilla de detección

La almohadilla de detección, ubicada en exteriores para exponerse a la lluvia o la nieve (p. ej., en un techo), presenta trazas de cobre expuestas divididas en dos grupos: trazas de potencia y trazas de detección. Estas trazas permanecen desconectadas a menos que sean puenteadas por agua o nieve. Tanto las trazas de potencia como las de detección son intercambiables, lo que permite designar una como la traza de potencia mientras la otra funcione como la traza de detección.

El módulo electrónico

El módulo electrónico del sensor de lluvia transforma las señales de la placa de detección en valores analógicos o digitales legibles por el Arduino Nano. Incluye cuatro pines:

  • Pin VCC: Se conecta a VCC (3.3V a 5V).
  • Pin GND: Se conecta a GND (0V).
  • Pin DO: Pin de salida digital. Está en ALTO si no se detecta lluvia y en BAJO si se detecta. El umbral de detección de lluvia es ajustable con un potenciómetro incorporado.
  • Pin AO: Pin de salida analógica. El valor de salida disminuye con más agua en la almohadilla de detección y aumenta con menos agua.

Además, cuenta con dos indicadores LED:

  • Un indicador LED de alimentación.
  • Un indicador LED DO para el estado de lluvia en el pin DO, que se ilumina cuando hay lluvia.

Cómo funciona

Con respecto al pin DO:

  • El módulo cuenta con un potenciómetro integrado para ajustar el umbral (sensibilidad).
  • Cuando la intensidad supera el umbral, se detecta lluvia, el pin de salida del sensor queda en nivel bajo y el DO-LED se ilumina.
  • Por el contrario, cuando la intensidad está por debajo del umbral, no se detecta lluvia, el pin de salida queda en nivel alto y el DO-LED está apagado.

Para el pin AO:

  • El pin AO lee valores más bajos a medida que aumenta el contenido de agua en la almohadilla de detección.
  • Por el contrario, lee valores más altos a medida que disminuye el contenido de agua.

Es esencial señalar que el potenciómetro no influye en el valor del pin AO.

Diagrama de Cableado

Como se señaló anteriormente, conectar el pin VCC del sensor directamente a los pines de 3,3 V o 5 V en el Arduino Nano puede acortar la vida útil del sensor debido a la corrosión electroquímica. Para mitigar esto, se recomienda conectar el pin VCC del sensor de lluvia a un pin de salida en el Arduino Nano. De esta manera, la programación de ese pin puede configurarse para alimentar el sensor de lluvia solo durante las lecturas, minimizando el impacto de la corrosión electroquímica.

Dado que el módulo de sensor de lluvia tiene dos salidas, puedes elegir usar una o ambas, dependiendo de lo que necesites.

  • El diagrama de cableado entre Arduino Nano y el sensor de lluvia cuando se usa solo DO.
Diagrama de cableado del sensor de lluvia para Arduino Nano

This image is created using Fritzing. Click to enlarge image

  • El diagrama de cableado entre Arduino Nano y el sensor de lluvia cuando se usa solo AO.
Diagrama de cableado para detección de lluvia con Arduino Nano

This image is created using Fritzing. Click to enlarge image

  • El diagrama de cableado entre Arduino Nano y el sensor de lluvia cuando se utilizan tanto AO como DO.
Diagrama de cableado del detector de lluvia para Arduino Nano

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Nano y otros componentes.

Código de Arduino Nano - Leer valor del pin DO

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.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 }

Pasos R\u00e1pidos

  • Copia el código anterior y ábrelo con Arduino IDE
  • Haz clic en el botón Upload en el IDE de Arduino para subir el código al Arduino Nano
  • Vierte un poco de agua sobre el sensor de lluvia
  • Consulta el resultado en el Monitor Serial.
COM6
Send
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
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Por favor, tenga en cuenta que si nota que el estado del LED permanece encendido de forma constante o se apaga incluso cuando el sensor está expuesto a la lluvia, puede ajustar el potenciómetro para afinar la sensibilidad del sensor.

Código de Arduino Nano - Leer valor del pin AO

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.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 }

Pasos R\u00e1pidos

  • Copia el código anterior y ábrelo con Arduino IDE
  • Haz clic en el botón Cargar en Arduino IDE para subir el código al Arduino Nano
  • Vierte un poco de agua sobre el sensor de lluvia
  • Consulta el resultado en el Monitor Serial
COM6
Send
225 2426 236 563 687 959 975 1009 1017 1053 1078 841 743 440 279
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

Referencias de funciones

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!