Arduino UNO R4 - Sensor de lluvia

En esta guía, aprenderemos a usar un Arduino UNO R4 con un sensor de lluvia para detectar lluvia o nieve. Cubriremos los siguientes temas:

Sensor de lluvia para Arduino UNO R4

Luego puedes cambiar el código para encender un motor o una alarma cuando detecte lluvia o nieve.

Acerca del sensor de lluvia

El sensor de lluvia puede detectar y medir la cantidad de lluvia o nieve. Proporciona dos tipos de señales de salida: una señal digital (LOW o HIGH) y una señal analógica.

El sensor de lluvia tiene dos componentes:

  • La almohadilla de detección
  • La unidad electrónica
Diagrama de pines del sensor de lluvia
image source: diyables.io

La almohadilla de detección

La almohadilla de detección se coloca al aire libre, donde puede estar expuesta a la lluvia o la nieve, como en un techo. La almohadilla tiene varios conductores de cobre, divididos en dos tipos: líneas de alimentación y líneas del sensor. Estos dos tipos de líneas están separadas y no se conectan a menos que el agua o la nieve las conecte. Ambos tipos de líneas funcionan de la misma manera, por lo que puedes elegir cualquiera de las líneas para que sea la línea de alimentación y otra para la línea del sensor.

El módulo electrónico

El módulo electrónico del sensor de lluvia convierte la señal procedente de la placa de detección en un valor analógico o digital que pueda leer el Arduino UNO R4. Tiene cuatro pines.

  • Pin VCC: Conéctalo a VCC (3.3V a 5V).
  • Pin GND: Conéctalo a GND (0V).
  • Pin DO: Este es un pin de salida digital. Muestra ALTO cuando no hay lluvia y BAJO cuando se detecta lluvia. Ajusta el nivel de detección de lluvia con el potenciómetro.
  • Pin AO: Este es un pin de salida analógica. El valor de salida disminuye cuando hay más agua en la placa de detección y aumenta cuando hay menos agua.

También tiene dos luces LED:

  • Una luz indicadora de alimentación (PWR-LED).
  • Una luz indicadora del estado de lluvia (DO-LED) en el pin DO: se ilumina cuando hay lluvia.

Cómo funciona

Para el pin DO:

  • El módulo incluye un potenciómetro para ajustar la sensibilidad.
  • Si el nivel de lluvia excede el límite establecido, el pin de salida del sensor se establece en LOW, y la luz DO-LED se enciende.
  • Si el nivel de lluvia está por debajo del límite establecido, el pin de salida del sensor permanece en HIGH, y la luz DO-LED permanece apagada.

Con respecto al pin AO:

  • Cuando hay más agua en la placa de detección, el valor del pin AO es menor.
  • Cuando hay menos agua presente en la placa de detección, el valor del pin AO es mayor.

El potenciómetro no cambia el valor en el pin AO.

Diagrama de Cableado

Conecta el pin VCC del sensor a cualquiera de los pines de 3.3 V o 5 V en el Arduino UNO R4. Sin embargo, conectarlo directamente puede reducir la vida útil del sensor debido a la corrosión electroquímica. En su lugar, es mejor conectar el pin VCC del sensor a un pin de salida en el Arduino. Luego puedes programar este pin para suministrar energía al sensor solo cuando se tomen lecturas. Este método ayuda a minimizar los efectos de la corrosión electroquímica.

El módulo del sensor de lluvia tiene dos salidas. Puedes usar una o ambas salidas, según tus necesidades.

Diagrama de cableado del sensor de lluvia para Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.

Código Arduino UNO R4 - Leer valor del pin DO

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-rain-sensor */ #define POWER_PIN 3 // The Arduino UNO R4 pin that provides the power to the rain sensor #define DO_PIN 4 // The Arduino's pin connected to DO pin of the rain sensor void setup() { // initialize serial communication Serial.begin(9600); // initialize the Arduino'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

Sigue estas instrucciones paso a paso:

  • Si esta es la primera vez que usas el Arduino Uno R4 WiFi/Minima, consulta el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
  • Conecta el sensor de lluvia al Arduino Uno R4 según el diagrama proporcionado.
  • Conecta la placa Arduino Uno R4 a tu computadora usando un cable USB.
  • Abre el IDE de Arduino en tu computadora.
  • Selecciona la placa adecuada Arduino Uno R4 (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
  • Copia el código anterior y ábrelo en el IDE de Arduino.
  • Haz clic en el botón Subir en el IDE de Arduino para cargar el código en Arduino UNO R4.
  • Coloca unas cuantas gotas de agua sobre el sensor de lluvia.
  • Verifica los resultados 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, recuerda que si la luz LED permanece encendida todo el tiempo o está apagada incluso cuando el sensor está expuesto a la lluvia, puedes girar el potenciómetro para ajustar la sensibilidad del sensor.

Código Arduino UNO R4 - Leer el valor del pin AO

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-rain-sensor */ #define POWER_PIN 3 // The Arduino UNO R4 pin that provides the power to the rain sensor #define AO_PIN A0 // The Arduino UNO R4 pin connected to AO pin of the rain sensor void setup() { // initialize serial communication 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

  • Copie el código y ábralo en la IDE de Arduino.
  • Haga clic en el botón Subir en la IDE de Arduino para subir el código a Arduino UNO R4.
  • Vierta un poco de agua sobre el sensor de lluvia.
  • Verifique 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!