Tabla de contenido:
- Paso 1: instale el riego del jardín
- Paso 2: Ajuste el temporizador de tap
- Paso 3: compilación de Arduino
- Paso 4: programación de Arduino
- Paso 5: construcción del recinto
- Paso 6: Pruebe el controlador antes de pegar
- Paso 7: Recintos con pegamento / impermeables
- Paso 8: instalar
- Paso 9: Integración de ThingsBoard: supervisión e informes
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:40
Este proyecto le mostrará cómo construir un controlador de riego para un jardín doméstico. Capaz de medir lecturas de humedad del suelo y activar el riego de un grifo de jardín si el suelo se seca demasiado. El controlador también incluye un sensor de temperatura y humedad. El controlador no activará el grifo del jardín si la temperatura es demasiado baja. Las lecturas de los sensores y las estadísticas sobre el uso de agua / tiempos de ejecución se registran en ThingsBoard IOT para su visualización y análisis. Se activan alertas y correos electrónicos si el controlador de riego deja de transmitir datos, el suelo se vuelve demasiado seco o demasiado saturado.
Prerrequisitos
- Conocimientos sobre Arduino que incluyen al menos codificación básica para Arduino y soldadura.
- 1x grifo de jardín presurizado
Lista de materiales
- Tubería de polietileno de riego de jardín, chorros, goteros, etc.
- Temporizador de grifo electrónico de dos esferas (es decir, temporizador de grifo electrónico digital de Aqua Systems)
- Grifo reductor de presión 300kpa
- Arduino Uno
- Escudo Lora Arduino
- Lora Gateway (no es necesario si tiene una puerta de enlace local de Things Network dentro del alcance)
- Sensor de temperatura y humedad DHT11
- Relé de 5v
- Cable telefónico
- Sujetacables
- Tubería corrugada dividida automotriz
- Tiras de conectores de terminales automotrices
- 2x clavos galvanizados
- 1x resistencia
- Silicona / masilla
- Cemento de PVC
- Imprimación de PVC
- Tubo de PVC de 32 mm de ancho x 60 mm de largo
- Tubería de PVC de 90 mm de ancho x 30 cm de largo
- 3x Tapas de extremo de empuje de PVC de 90 mm
- 1x tapón de rosca de PVC de 90 mm
- 1 conector de inserción roscado de PVC de 90 mm
- 1x tapas de extremo de empuje de PVC de 32 mm
- 1 fuente de alimentación de 3,2 V (temporizador de toque) [baterías, adaptador multivoltio de CA]
- 1x fuente de alimentación de 6-12 V (arduino) [baterías, USB, adaptador de USB a CA]
- cinta de sellado de hilo
- cinta eléctrica
Paso 1: instale el riego del jardín
Diseñe la tubería de polietileno, coloque chorros, líneas de goteo y goteros. El controlador de riego funcionará con cualquier equipamiento de riego. En esencia, mide las lecturas de humedad del suelo y activa el temporizador del grifo si el suelo está demasiado seco. El controlador se puede calibrar para establecer el punto bajo de saturación, durante cuánto tiempo se debe encender el temporizador de tap y con qué frecuencia el controlador debe verificar la saturación.
Estos ajustes pueden cambiarse en el arduino y almacenarse en la memoria EPROM. La configuración también se puede actualizar mediante la integración de IOT. Este proyecto ejecutará el controlador cada cuatro horas y abrirá el grifo durante 3 minutos si la tierra está demasiado seca. Puede ejecutarse varias veces seguidas si está seco / caliente o una vez al día o dos de lo contrario.
Paso 2: Ajuste el temporizador de tap
Coloque el temporizador del grifo y experimente con los diales ajustables para calcular la frecuencia aproximada y el tiempo de ejecución que funcione mejor para su instalación de riego. Eliminaremos el temporizador y lo modificaremos para que funcione con un Arduino.
Paso 3: compilación de Arduino
Utilice el diagrama de cableado como guía para la construcción. En las fotos se ha utilizado cableado telefónico y regletas de terminales atornilladas para los puntos de unión. Se requiere algo de soldadura.
Toque Modificación del temporizador
Desarme con cuidado el temporizador del grifo. Conectaremos los dos diales ajustables para que puedan ser controlados por el arduino en lugar de los diales manuales. El dial de frecuencia izquierdo estará cableado a la posición de reinicio para que el dial derecho se pueda alternar entre la posición de encendido / apagado. El dial derecho tendrá un cable proveniente del contacto central derecho y el contacto externo derecho como se muestra. Por defecto, el temporizador estará en la posición de apagado. Si los dos cables entran en contacto, el temporizador se encenderá. Con los dos cables conectados a un relé de 5 V, un arduino puede cerrar / abrir el contacto entre los dos cables. Con un cable en el terminal de relé común y el otro en el terminal normalmente cerrado, nos aseguraremos de que el temporizador esté apagado cuando el arduino esté apagado. Establecer el pin del relé en ALTO activará el temporizador; si lo configura en BAJO, se apagará el temporizador.
Sonda de suelo
Para este proyecto, los dos clavos se sueldan al cable conectado a los terminales de tornillo. La terminal de un clavo va directo a tierra. El otro se conecta a una entrada analógica en el arduino y una resistencia. La resistencia se conecta a la señal arduino 5v. Se muestra en el diagrama de retorcimiento.
Sensor de temperatura / humedad
El sensor de temperatura / humedad DHT11 está conectado a 5V del arduino, tierra y un pin digital en el arduino.
Escudo de lora
Este proyecto también usó un Dragino Lora Shield (no se muestra en el diagrama de cableado).
Base de PVC
La base de PVC para el arduino utilizada en este proyecto fue diseñada para que el sensor de temperatura / humedad pueda quedar expuesto mientras se mantienen todos los demás componentes asegurados dentro de la carcasa de PVC impermeable. Se perfora / corta un pequeño orificio para el sensor y se usa silicona para mantenerlo en su lugar mientras se evita que la humedad llegue al arduino. Se muestra en el diagrama.
Paso 4: programación de Arduino
Conecte los componentes juntos a través de una placa de pruebas o regletas de terminales para programar y probar
Configuración de EPROM
Primero necesitamos escribir variables de configuración en la memoria EPROM. Ejecute el siguiente código en su arduino:
Código disponible en Github
Aquí el DRY_VALUE se establece en 960. 1024 significa que el suelo está completamente seco, 0 significa saturación completa, 960 fue un buen nivel de saturación para la resistencia, la longitud del cable y los clavos utilizados. Esto puede variar según su propia configuración.
VALVE_OPEN se establece en 180000 milisegundos (3 minutos). Cuando / si se enciende el temporizador del grifo, se dejará abierto durante 3 minutos.
RUN_INTERVAL se establece en 14400000 milisegundos (4 horas). Esto significa que el controlador comprobará la humedad del suelo cada cuatro horas y activará el temporizador del grifo durante 3 minutos si la saturación es baja (superior a 960).
El código anterior se puede cambiar y estos valores se pueden modificar en cualquier momento.
Código de programa
Código disponible en Github
Dependencias:
- TimedAction
- Jefe de radio
Este ejemplo usó el escudo Dragino Lora y específicamente el ejemplo concurrente de Lora con el escudo que se conecta directamente al Dragino Lora Gateway.
Esto se puede adaptar para usar Things Network eliminando el código en la sección "BEGIN: lora vars" y cambiando el programa para incluir el siguiente ejemplo de Dragino o adaptado para trabajar con otras radios / escudos wifi, etc.
El código suministrado asume que DHT11_PIN es el pin digital 4, el RELAY_PIN es el pin digital 3 y el pin analógico de humedad del suelo es la entrada analógica 0.
Una variable de depuración se puede establecer en verdadera para que los mensajes de depuración en serie se puedan registrar a una velocidad de 9600 baudios.
Paso 5: construcción del recinto
Corta la tubería de PVC para que se adapte al temporizador del grifo y a la base Arduino. Taladre orificios para la conexión del grifo del temporizador del grifo y la conexión de la manguera. Taladre orificios en la tubería lo suficientemente anchos para el conducto del automóvil, deslice 10 cm de longitud del conducto en los orificios y saque los cables del arduino y toque el temporizador. Esto debe incluir:
Desde el Arduino
- Cables de alimentación y / o un cable usb del puerto USB del arduino.
- Cables de humedad del suelo (VCC, GND, A0)
- Dos cables de los terminales de tornillo NC y común del relé
Desde el temporizador del grifo
- Cables de alimentación
- Dos cables de los contactos del dial derecho
Paso 6: Pruebe el controlador antes de pegar
Asegúrese de que todo siga funcionando antes de sellar todo.
Las fotos de arriba muestran una configuración de muestra en un esky donde la sonda de humedad del suelo se colocó en una olla y el temporizador del grifo estaba equipado con agua proveniente de una botella de refresco.
Se adjuntó un gotero al temporizador del grifo.
Esta fue una buena manera de probar que la instalación no riega la planta por encima o por debajo del agua.
Este ejemplo podría ejecutarse durante el tiempo que sea necesario para calibrar el controlador.
Paso 7: Recintos con pegamento / impermeables
Utilice imprimación para PVC y cemento para PVC para asegurar las tapas de los extremos y el acoplamiento.
Utilice masilla / silicona para rellenar los huecos alrededor del conducto automático y los accesorios del temporizador.
Aquí se usa una tapa de tornillo en el gabinete arduino para mayor accesibilidad.
Paso 8: instalar
Instalar en un día despejado. Los componentes y cables deberán permanecer secos antes de sellarlos.
Coloque el controlador en algún lugar centrado entre el lugar donde se encuentra el grifo del jardín y el lugar donde se colocará la sonda de suelo.
Coloque el temporizador del grifo y asegúrese de que esté apagado hasta que finalice la instalación.
Coloque la sonda de suelo.
Conecte los terminales de tira a cada componente y luego coloque el cable telefónico desde los terminales de tornillo de cada componente asegurándose de que el cable esté cubierto con un conducto automático. Conectando todo junto
Selle todos los terminales y cualquier otra parte expuesta con cinta de sellado de roscas y luego con cinta aislante.
Selle las áreas sueltas / expuestas del conducto dividido con cinta selladora de roscas y luego con cinta aislante.
Conecte el temporizador a una fuente de alimentación de 3,2 V. Ya sea una batería o un adaptador de CA de 3,2 V CC conectado a una toma de corriente.
Conecte el Arduino a una fuente de alimentación de 6-12 V CC. Ya sea una batería o un adaptador USB / DC-AC conectado a una toma de corriente.
¡Enciende y prueba!
Paso 9: Integración de ThingsBoard: supervisión e informes
Este ejemplo usó A Dragino Lora Shield conectado a un Dragino Lora Gateway. Ya sea que use esta configuración, otra configuración de Lora o cualquier otra conectividad IOT, los datos recopilados por el controlador de riego se pueden enviar a una plataforma IOT como Thingsboard. De forma predeterminada, el programa transmite la siguiente cadena de datos donde cada byte de carácter está codificado en hexadecimal:
TXXXHXXXSXXXXRX
Donde T es seguido por la temperatura, H es seguido por la humedad, S es seguido por el nivel de saturación y R es seguido por un solo dígito relacionado con la acción que realizó en el último intervalo de ejecución. Puede ser de 0 a 5, donde cada dígito significa:
0: El programa se está iniciando 1: Fallo del sensor de temperatura 2: La temperatura era demasiado baja para funcionar 3: La humedad del suelo está demasiado seca, por lo que se activó el temporizador del grifo 4: La humedad del suelo es fina y el temporizador del grifo no se activó 5: El controlador de riego se ha desactivado
Hay varias formas de instalar una copia de Thingsboard en su propio equipo o puede configurar una cuenta gratuita en nuestra instalación de ThingsBoard aquí.
Configura tu dispositivo en Thingsboard
Siga estas instrucciones para agregar un nuevo dispositivo en Thingsboard llamándolo "Controlador de riego".
Enviar datos de telemetría desde el dispositivo
Siga estas instrucciones para configurar un método para enviar datos de telemetría desde el dispositivo a Thingboard a través de MQTT, HTTP o CoAp.
En nuestro servidor, estamos enviando el siguiente JSON a https://thingsboard.meansofproduction.tech/api/v1/… cada cuatro horas cuando se ejecuta el dispositivo (con datos en vivo):
También estamos enviando los siguientes atributos a https://thingsboard.meansofproduction.tech/api/v1/… periódicamente con datos sobre cuándo se vio el nodo por última vez:
Se utiliza para alertas que se activan si el dispositivo deja de transmitir datos.
Crear un tablero
Cree un tablero como se describe aquí. Nuestros widgets incluyen:
Un widget de tarjeta simple creado a partir del campo de telemetría lastRunResult. Un indicador digital vertical para el campo de telemetría de temperatura. Una tabla de series de tiempo creada a partir del campo de telemetría lastRunResult que muestra los datos de los últimos días. Una barra horizontal que muestra el campo de telemetría de saturación. Esto utiliza una función de posprocesamiento de datos:
devolver valor 1024;
Y establece un valor mínimo y máximo de 0-100. De esta manera, el nivel de saturación se puede expresar como un porcentaje. Un indicador para mostrar el valor de humedad. Un gráfico de barras de series de tiempo que incluye la temperatura, la humedad y el resultado de la ejecución, agrupados en períodos de 5 horas durante la última semana, agregados para mostrar los valores máximos.. Esto nos da una barra para un evento de cuatro horas. Se utiliza una función de procesamiento posterior de datos para expresar el resultado de la ejecución como 0 o 120, dependiendo de si se ejecutó agua o no. Eso proporciona una respuesta visual fácil para ver la frecuencia con la que corre el agua en una semana. Una tarjeta HTML estática que muestra una imagen del jardín.
Alertas de correo electrónico
Usamos reglas para configurar alertas por correo electrónico para el controlador de riego. Todos utilizan filtros de mensajes y una acción de complemento de acción de envío de correo.
Para enviar una alerta por correo electrónico si el controlador de riego no envía datos, usamos 'Filtro de atributos del dispositivo' con el siguiente filtro:
typeof cs.secondsSinceLastSeen! == 'indefinido' && cs.secondsSinceLastSeen> 21600
Para enviar un correo electrónico si el suelo se seca demasiado, utilice el siguiente filtro de telemetría
typeof saturation! = "indefinido" && saturación> 1010
Para enviar un correo electrónico basado en si el suelo se vuelve demasiado húmedo, use el siguiente filtro de telemetría
typeof saturation! = "indefinido" && saturación
Recomendado:
Pantalla de sensor de CO2 Plug & Play con NodeMCU / ESP8266 para escuelas, jardines de infancia o su hogar: 7 pasos
Pantalla de sensor de CO2 Plug & Play con NodeMCU / ESP8266 para escuelas, jardines de infancia o su hogar: le mostraré cómo construir rápidamente un enchufe & Play sensor de CO2 donde todos los elementos del proyecto estarán conectados con cables DuPont. Solo habrá 5 puntos que necesitarán soldar, porque no soldaba antes de este proyecto en absoluto
Lente macro de bricolaje con AF (diferente a todas las demás lentes macro de bricolaje): 4 pasos (con imágenes)
Lente macro de bricolaje con AF (diferente a todas las demás lentes macro de bricolaje): He visto a muchas personas fabricar lentes macro con un kit de lentes estándar (generalmente un 18-55 mm). La mayoría de ellos son una lente que simplemente se pega en la cámara al revés o se quita el elemento frontal. Hay desventajas para ambas opciones. Para montar la lente
Diseño de acuarios con control automatizado de parámetros básicos: 4 pasos (con imágenes)
Diseño de acuarios con control automatizado de parámetros básicos: Introducción Hoy en día, el cuidado de los acuarios marinos está disponible para todos los acuaristas. El problema de adquirir un acuario no es complicado. Pero para el soporte vital completo de los habitantes, protección contra fallas técnicas, mantenimiento y cuidado fácil y rápido
Maqueta de diseño de ferrocarril con revestimiento automatizado: 13 pasos (con imágenes)
Diseño de maquetas de trenes con revestimiento automatizado: Hacer diseños de maquetas de trenes es un gran pasatiempo, ¡automatizarlo lo hará mucho mejor! Echemos un vistazo a algunas de las ventajas de su automatización: Operación de bajo costo: Todo el diseño está controlado por un microcontrolador Arduino, usando un L298N mo
Motor de agua automatizado con indicador de nivel: 6 pasos (con imágenes)
Motor de agua automatizado con indicador de nivel: Hola a todos, bienvenidos a otro Instructable. En este proyecto, aprenderemos cómo crear un controlador de nivel de tanque de agua totalmente automático con función de indicador de nivel de agua utilizando Arduino Nano. Arduino es el cerebro de este proyecto. Tomará información de