¿Te has preguntado cómo funciona el sensor de lluvia y cómo puedes conectarlo a Arduino? En este artículo te explicaremos todo lo que necesitas saber sobre este dispositivo y cómo puedes utilizarlo en tus proyectos de electrónica. ¡Sigue leyendo para descubrir cómo aprovechar al máximo el sensor de lluvia con Arduino!
Con el clima tan impredecible como siempre, es fácil dejar los tragaluces abiertos y de repente comienza a llover, poniendo en riesgo el espacio interior debajo. Sin embargo, puedes evitar que esto suceda con este sensor de lluvia.
Con este sensor podrás monitorizar la lluvia o aguanieve/granizo y enviar solicitudes de cierre a persianas electrónicas, ventanas, toldos o claraboyas cuando se detecte lluvia.
¿Cómo funciona el sensor de lluvia?
El funcionamiento del sensor de lluvia es bastante sencillo.
La almohadilla del sensor con una serie de rastros de cobre expuestos actúa en conjunto como resistencia variable (igual que un potenciómetro), cuya resistencia varía dependiendo de la cantidad de agua en su superficie.
Esta resistencia es inversamente proporcional a la cantidad de agua:
- Cuanta más agua haya en la superficie, mejor será la conductividad y menor la resistencia.
- Cuanta menos agua haya en la superficie, peor será la conductividad y mayor la resistencia.
El sensor genera un voltaje de salida según la resistencia, que podemos utilizar para medir si está lloviendo o no.
Descripción general del hardware
Un sensor de lluvia típico consta de dos componentes.
La almohadilla del sensor
El sensor contiene una almohadilla sensora con una serie de trazas de cobre expuestas que se coloca al aire libre, tal vez encima del techo o en un lugar donde pueda verse afectado por la lluvia.
Normalmente estas vías no están conectadas entre sí sino que están unidas por agua.
El módulo
El sensor también contiene un módulo electrónico que conecta la almohadilla del sensor al Arduino.
El módulo genera un voltaje de salida correspondiente a la resistencia de la almohadilla del sensor y está disponible en un pin de salida analógica (AO).
La misma señal se envía a un comparador de alta precisión LM393 para su digitalización y se pone a disposición en un pin de salida digital (DO).
El módulo tiene un potenciómetro incorporado para ajustar la sensibilidad de la salida digital (DO).
Puedes establecer un umbral usando un potenciómetro; Entonces, si la cantidad de agua excede el umbral, el módulo emite BAJA, de lo contrario, ALTA.
Gire la perilla en el sentido de las agujas del reloj para aumentar la sensibilidad y en el sentido contrario a las agujas del reloj para disminuirla.
Además, el módulo dispone de dos LED. El LED de encendido se enciende cuando el módulo recibe energía. El LED de estado se enciende cuando la salida digital pasa a BAJA.
Asignación de pines del sensor de lluvia
El sensor de lluvia es súper fácil de usar y solo tiene 4 pines para conectar.
AO (salida analógica) El pin nos da una señal analógica entre el valor de alimentación (5V) y 0V.
HACER (salida digital) El pin emite la salida digital del circuito comparador interno. Puedes conectarlo a cualquier pin digital de un Arduino o directamente a un relé de 5V o dispositivo similar.
Tierra es una conexión a tierra.
VCC El pin suministra energía al sensor. Se recomienda alimentar el sensor con un voltaje entre 3,3V y 5V. Tenga en cuenta que la salida analógica puede variar según el voltaje proporcionado al sensor.
Cableado del sensor de lluvia con Arduino
Conectemos el sensor de lluvia al Arduino.
Primero necesitas alimentar el sensor. Para hacer esto, puedes conectar el pin VCC del módulo a 5 V en el Arduino.
Sin embargo, un problema bien conocido de estos sensores es su corta vida útil cuando se exponen a un ambiente húmedo. Si la almohadilla del sensor recibe alimentación constante, la velocidad de corrosión se acelerará significativamente.
Para superar esto te recomendamos No opere el sensor constantemente con electricidad.pero enciéndalo sólo cuando tome las medidas.
Una forma sencilla de lograr esto es conectar el pin VCC a un pin digital de un Arduino y configurarlo en ALTO o BAJO según sea necesario.
Además, el consumo total de corriente del módulo (cuando ambos LED están encendidos) es de aproximadamente 8 mA, así que está bien. Apague el módulo mediante un pin digital en un Arduino.
Así que conectemos el pin VCC del módulo al pin digital número 7 de un Arduino y el pin GND a tierra.
Finalmente, conecta el pin DO del módulo al pin digital n.° 8 de tu Arduino.
La siguiente figura muestra el cableado.
Calibrar sensor de lluvia
Para obtener lecturas precisas de su sensor de lluvia, se recomienda calibrarlo primero.
El módulo tiene un potenciómetro incorporado para calibrar la salida digital (DO).
Girando la perilla del potenciómetro puede establecer un valor umbral. Cuando la cantidad de agua excede el umbral, el LED de estado se enciende y la salida digital (DO) emite LOW.
Ahora, para calibrar el sensor, rocíe un poco de agua en la almohadilla del sensor y ajuste el recipiente en el sentido de las agujas del reloj para que se encienda el LED de estado. Luego gire la olla nuevamente en el sentido contrario a las agujas del reloj hasta que el LED se apague.
Su sensor ahora está calibrado y listo para usar.
Detección de lluvia – Código Arduino
Una vez construido el circuito, cargue el siguiente boceto en su Arduino.
Ahora coloque el sensor de lluvia en un lugar donde la precipitación pueda caer directamente sobre el sensor, tal vez a través del techo. Además, colóquelo en un ligero ángulo (~20°) para facilitar el flujo de agua.
Tenga en cuenta que el módulo electrónico no es resistente al agua. Durante la instalación, asegúrese de que solo la almohadilla del sensor entre en contacto con el agua.
// Sensor pins
#define sensorPower 7
#define sensorPin 8
void setup() {
pinMode(sensorPower, OUTPUT);
// Initially keep the sensor OFF
digitalWrite(sensorPower, LOW);
Serial.begin(9600);
}
void loop() {
//get the reading from the function below and print it
int val = readSensor();
Serial.print("Digital Output: ");
Serial.println(val);
// Determine status of rain
if (val) {
Serial.println("Status: Clear");
} else {
Serial.println("Status: It's raining");
}
delay(1000); // Take a reading every second
Serial.println();
}
// This function returns the sensor output
int readSensor() {
digitalWrite(sensorPower, HIGH); // Turn the sensor ON
delay(10); // Allow power to settle
int val = digitalRead(sensorPin); // Read the sensor output
digitalWrite(sensorPower, LOW); // Turn the sensor OFF
return val; // Return the value
}
Una vez cargado el boceto, abra una ventana del monitor en serie para ver la salida del Arduino. Si el clima está despejado, se debe mostrar una salida digital ALTA. Para ver cómo se detecta el agua, puede rociar un poco de agua sobre la almohadilla del sensor.
Explicación del código:
El boceto comienza especificando los pines Arduino a los que están conectados los pines VCC y DO del sensor.
#define sensorPower 7
#define sensorPin 8
Ahora, en la sección Configuración, primero declaramos la conexión de alimentación al sensor como salida y luego la configuramos en nivel bajo para que inicialmente no fluya corriente a través del sensor. También configuramos el monitor serial.
pinMode(sensorPower, OUTPUT);
digitalWrite(sensorPower, LOW);
Serial.begin(9600);
En la sección de bucle llamamos readSensor()
Ejecute la función repetidamente a intervalos de un segundo e imprima el valor devuelto junto con el estado.
int val = readSensor();
Serial.print("Digital Output: ");
Serial.println(val);
if (val) {
Serial.println("Status: Clear");
} else {
Serial.println("Status: It's raining");
}
delay(1000);
El readSensor()
La función se utiliza para obtener la salida digital actual del sensor. Enciende el sensor, espera 10 milisegundos, lee el valor digital del sensor, apaga el sensor y luego devuelve el resultado.
int readSensor() {
digitalWrite(sensorPower, HIGH);
delay(10);
int val = digitalRead(sensorPin);
digitalWrite(sensorPower, LOW);
return val;
}
Funcionamiento del sensor de lluvia y su conexión a Arduino
Con el clima siendo tan impredecible como siempre, es fácil dejar las claraboyas abiertas, solo para que de repente comience a llover, dejando el interior debajo en riesgo. Con este sensor de lluvia, sin embargo, puedes evitar que esto suceda.
¿Cómo funciona el sensor de lluvia?
El funcionamiento del sensor de lluvia es bastante sencillo. La almohadilla de detección con series de trazas de cobre expuestas actúa como un resistor variable cuya resistencia varía según la cantidad de agua en su superficie. La resistencia es inversamente proporcional a la cantidad de agua:
- Cuanta más agua en la superficie, mejor conductividad y menor resistencia.
- Cuanta menos agua en la superficie, menor conductividad y mayor resistencia.
El sensor produce un voltaje de salida de acuerdo a la resistencia, lo que nos permite determinar si está lloviendo o no.
Esquema de Hardware
Un sensor de lluvia típico tiene dos componentes:
- La Almohadilla de Detección: Contiene una almohadilla con series de trazas de cobre expuestas que se coloca en un lugar expuesto a la lluvia.
- El Módulo: Conecta la almohadilla de detección a Arduino y produce un voltaje de salida según la resistencia de la almohadilla.
Además, el módulo tiene un potenciómetro integrado para ajustar la sensibilidad de la salida digital.
Pinout del Sensor de Lluvia
El sensor de lluvia es muy fácil de usar y solo tiene 4 pines para conectar:
- Pin de Salida Analógica (AO) que nos brinda una señal analógica entre el valor de suministro (5V) y 0V.
- Pin de Salida Digital (DO) que proporciona la salida digital del circuito interno de comparación.
- Conexión a Tierra (GND).
- Pin de Suministro (VCC) que proporciona energía para el sensor.
Conexión del Sensor de Lluvia con Arduino
Primero, debes suministrar energía al sensor. Conecta el pin VCC en el módulo al 5V en el Arduino. Luego, conecta el pin DO en el módulo al pin digital #8 en tu Arduino. Puedes controlar la alimentación del sensor a través de un pin digital del Arduino para prolongar su vida útil.
Finalmente, conecta el pin de suministro (VCC) en el módulo al pin digital #7 de tu Arduino y el pin GND a tierra.
Calibración del Sensor de Lluvia
Para obtener lecturas precisas de tu sensor de lluvia, se recomienda calibrarlo primero. El módulo tiene un potenciómetro integrado para calibrar la salida digital (DO).
Al girar el potenciómetro, puedes establecer un umbral. Cuando la cantidad de agua excede el valor umbral, la LED de estado se encenderá y la salida digital (DO) se establecerá en BAJO.
Detección de Lluvia – Código de Arduino
Una vez que el circuito está armado, carga el siguiente código en tu Arduino y sigue las instrucciones para colocar el sensor de lluvia y hacer las pruebas necesarias:
[Coloca aquí el código de Arduino]
Ahora que has calibrado y conectado el sensor de lluvia a Arduino, podrás detectar la lluvia y tomar medidas para proteger tu espacio interior de la misma.
Para más información detallada y paso a paso sobre cómo conectar el sensor de lluvia a Arduino, puedes verificar este sitio.
¡Interesante artículo! Nunca pensé que fuera tan fácil conectar un sensor de lluvia a Arduino. ¡Gracias por la info!
No sabía que se podía hacer eso con Arduino, ¡gracias por la explicación! ¡Buena info!