- Materiales necesarios
- Sensor de lluvia
- Funcionamiento del sensor de lluvia
- Diagrama de circuito
- Explicación del código
- Funcionamiento del sistema de detección de lluvia basado en Arduino
Se puede construir fácilmente un sistema de detección de lluvia simple conectando un Arduino con un sensor de lluvia. El sensor detectará cualquier lluvia que caiga sobre él y la placa Arduino lo detectará y podrá realizar las acciones necesarias. Un sistema como este se puede utilizar en muchos campos diferentes, como la agricultura y los campos del automóvil. La detección de lluvia se puede utilizar para regular automáticamente el proceso de riego. Además, los datos de lluvia continuapuede ayudar a los agricultores a utilizar este sistema inteligente para regar automáticamente el cultivo solo cuando sea absolutamente necesario. De forma similar, en el sector de los automóviles, los limpiaparabrisas pueden hacerse completamente automáticos utilizando el sistema de detección de lluvia. Y los sistemas de automatización del hogar también pueden usar la detección de lluvia para cerrar automáticamente las ventanas y ajustar la temperatura de la habitación. En este tutorial, construiremos un sensor de lluvia básico usando Arduino con un timbre. Luego puede usar esta configuración para construir cualquier cosa que desee sobre ella. Asimismo, cabe destacar que el módulo sensor de lluvia también se conoce como un sensor de gota de lluvia o sensor medidor de lluvia o sensor de agua de lluvia en función del uso, pero todos ellos se refieren al mismo sensor utilizado en este proyecto y todos trabajan en el mismo principio.
También hemos construido una alarma de lluvia simple y un limpiaparabrisas automático usando solo el temporizador 555, es posible que también desee verificar eso si no desea usar un Arduino. Dicho esto, volvamos a este proyecto y comencemos a construir nuestro pluviómetro Arduino.
Materiales necesarios
- Arduino UNO
- Sensor de lluvia
- Zumbador
- Tablero de circuitos
- Cables de conexión
Sensor de lluvia
El módulo Raindrops consta de dos tableros, a saber, Tablero de lluvia y Tablero de control.
El módulo de la placa Rain consta de dos carriles de cobre, diseñados de tal manera que en condiciones secas brindan alta resistencia a la tensión de alimentación, y esta tensión de salida de este módulo será de 5V. La resistencia de este módulo disminuye gradualmente con respecto a un aumento de la humedad en el tablero. A medida que disminuye la resistencia, su voltaje de salida también disminuye con respecto a la humedad en el módulo. El módulo de la placa de lluvia consta de dos pines que se utilizan para conectarse a la placa de control como se muestra a continuación.
El módulo del tablero de control controla la sensibilidad y convierte la salida analógica en salida digital. Si el valor analógico está por debajo del valor de umbral de la placa de control, la salida es digital baja, y si el valor analógico es mayor que el valor de umbral, la salida es digital alta. Para esta comparación y conversión, se utiliza un Comparador OP-Amp LM393. Un comparador Op-Amp es un circuito interesante que se puede usar para comparar dos valores de voltaje diferentes, ya lo hemos usado en este circuito en muchos proyectos como Smart Electronic Candle, Laser Security Alarm, Line Follower Robot y mucho más.
El módulo de control de lluvia que se muestra a continuación consta de 4 pines para conectar el Arduino, a saber, VCC, GND, D0, A0 y dos pines más para conectar el módulo de la placa de lluvia. En resumen, el módulo de la placa de lluvia detecta el agua de lluvia y el módulo de la placa de control se utiliza para controlar la sensibilidad y comparar y convertir los valores analógicos en valores digitales.
Funcionamiento del sensor de lluvia
El funcionamiento del módulo del sensor de lluvia es fácil de entender. Durante un día soleado, debido a la sequedad del módulo de la placa de lluvia, ofrece una alta resistencia a la tensión de alimentación. Este voltaje aparece en el pin de salida del módulo de la placa de lluvia como 5V. Este 5V se lee como 1023 si lo lee un pin analógico del Arduino. Durante la lluvia, el agua de lluvia provoca un aumento de la humedad en el tablero de lluvia, lo que a su vez se traduce en la disminución de la resistencia ofrecida para el suministro. A medida que la resistencia disminuye gradualmente, el voltaje de salida comienza a disminuir.
Cuando la placa de lluvia está completamente mojada y la resistencia que ofrece es mínima, la tensión de salida será lo más baja posible (aprox. 0). Este 0V se lee como valor 0 si lo lee un pin analógico del Arduino. Si el módulo de la placa de lluvia está parcialmente mojado, la salida de este módulo de placa de lluvia será con respecto a la resistencia que ofrece. Si la resistencia ofrecida por el módulo de la placa de lluvia es de tal manera que la salida es de 3V, el valor analógico leído será 613. La fórmula para encontrar el ADC puede estar dada por, ADC = (valor de voltaje analógico X 1023) / 5. Al usar esta fórmula, puede convertir cualquier voltaje analógico en un valor de lectura analógica de Arduino.
Diagrama de circuito
El siguiente diagrama de circuito muestra las conexiones de circuito para el sensor de gotas de lluvia con Arduino. El diseño se realiza mediante proteus, los módulos físicos son similares a los módulos que se muestran en el diagrama del circuito.
El módulo de pluviómetro, que se muestra en el diagrama del circuito, está conectado a la placa de control. El pin VCC de la placa de control está conectado a la fuente de 5V. El pin de tierra está conectado a tierra. Si es necesario, el pin D0 se conecta a cualquier pin digital del Arduino, y ese pin debe declararse como un pin de salida en el programa. El problema que enfrentamos con el pin D0 es que no podemos obtener el valor exacto del voltaje de salida. Si la salida cruza el voltaje umbral, entonces el módulo de control puede detectar el cambio en la salida. Necesitamos operar el zumbador, incluso si hay un cambio considerable en el voltaje de salida en el módulo de la placa de lluvia. Debido a estas razones, el pin A0 está conectado al pin analógico de Arduino, lo que facilita el monitoreo del cambio en la salida. El zumbador, que se utiliza como señal para el usuario,se puede conectar a cualquier pin digital del Arduino. Si el zumbador necesita más de 5 V, intente conectar un circuito de relé o un transistor y luego conecte la carga.
Explicación del código
El código Arduino para el sensor de lluvia se escribió utilizando el IDE de Arduino. El código completo de este proyecto se encuentra al final de la página.
#definir precipitación A0 #definir zumbador 5 valor int; int conjunto = 10;
Definir el pin A0 como lluvia y el pin 5 como un zumbador y declarar la variable "valor" y "establecer" como números enteros y establecer su valor de conjunto variable en 10. Este valor se puede cambiar según el nivel de operación requerido. Si desea que se active el timbre, incluso cuando llueve poco, ajústelo a un valor mínimo
configuración vacía () {Serial.begin (9600); pinMode (zumbador, SALIDA); pinMode (lluvia, ENTRADA); }
Inicializando la comunicación serial y configurando el zumbador. Establecer el pin de lluvia como pin de salida y pin de entrada.
bucle vacío () {valor = analogRead (lluvia); Serial.println (valor); valor = mapa (valor, 0,1023,225,0);
la función analogRead lee el valor del sensor de lluvia. El mapa de funciones mapea el valor del sensor de lluvia desde el pin de salida y asigna un valor a la variable, que va de 0 a 225.
if (valor> = set) {Serial.println ("lluvia detectada"); digitalWrite (zumbador, ALTO);
Si el valor del sensor leído es mayor que el valor establecido, entonces el programa ingresa al lazo, imprime el mensaje en el monitor serial y enciende el timbre
else {digitalWrite (zumbador, BAJO);
El programa ingresa a la función else solo cuando el valor es menor que el valor establecido. Esta función apagará el zumbador cuando el valor configurado sea superior al valor del sensor, lo que indica que no hay lluvia.
Funcionamiento del sistema de detección de lluvia basado en Arduino
Este sistema funciona de tal manera que, cuando llueve, el agua de lluvia actúa como un disparador, que enciende el timbre. En el Código Arduino del sensor de gotas de lluvia, definimos que los pines 5 y A0 son zumbador y lluvia. Al hacer esto, podemos cambiar los pines en la parte definida de la función, y la parte restante del código quedará intacta. Esto hará que el programador edite los pines fácilmente.
En el bucle vacío, el comando analogRead lee el valor del sensor. En la siguiente línea, el comando Serial.println (valor), imprime el valor en el monitor serial. Esto será útil durante la depuración. La función de mapa asigna el valor entrante entre 0 y 225. El formato de la función para el mapa es un mapa (valor, valor mínimo, valor máximo, valor a mapear para valor mínimo, valor a mapear para valor máximo). El zumbador se encenderá o apagará, según el valor establecido y la salida del sensor. Este valor se compara en la función if, con el valor establecido. Si el valor es mayor que el valor establecido, encenderá el zumbador. Si el valor es menor que el valor establecido, el zumbador se apagará.
El trabajo completo se puede encontrar en el video vinculado a continuación. Esta es una aplicación entre muchas, el mismo principio se verá en limpiaparabrisas, otros sectores de automatización del hogar, agricultura, etc. Espero que haya entendido el proyecto y haya disfrutado construyendo algo útil. Si tiene alguna pregunta, use la sección de comentarios a continuación o use nuestros foros para otras preguntas técnicas.