Tabla de contenido:

Bricolaje - Riego automatizado de jardines - (Arduino / IOT): 9 pasos (con imágenes)
Bricolaje - Riego automatizado de jardines - (Arduino / IOT): 9 pasos (con imágenes)

Video: Bricolaje - Riego automatizado de jardines - (Arduino / IOT): 9 pasos (con imágenes)

Video: Bricolaje - Riego automatizado de jardines - (Arduino / IOT): 9 pasos (con imágenes)
Video: AUTOMATIZACION FACIL DE INVERNADEROS Y ARMARIOS INDOOR CON ARDUINO 2024, Mes de julio
Anonim
Bricolaje - Riego automatizado de jardines - (Arduino / IOT)
Bricolaje - Riego automatizado de jardines - (Arduino / IOT)
Bricolaje - Riego automatizado de jardines - (Arduino / IOT)
Bricolaje - Riego automatizado de jardines - (Arduino / IOT)
Bricolaje - Riego automatizado de jardines - (Arduino / IOT)
Bricolaje - Riego automatizado de jardines - (Arduino / IOT)

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

Instalar riego de jardín
Instalar riego de jardín
Instalar riego de jardín
Instalar riego de 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

Ajustar temporizador de grifo
Ajustar temporizador de grifo

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

Compilación de Arduino
Compilación de Arduino
Compilación de Arduino
Compilación de Arduino
Compilación de Arduino
Compilación de Arduino
Compilación de Arduino
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

Programación Arduino
Programación 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

Construcción del recinto
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

Pruebe el controlador antes de pegar
Pruebe el controlador antes de pegar
Pruebe el controlador antes de pegar
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

Cajas de pegamento / impermeables
Cajas de 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 pc
Instalar en pc
Instalar en pc
Instalar en pc
Instalar en pc
Instalar en pc

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

Integración de ThingsBoard: supervisión y generación de informes
Integración de ThingsBoard: supervisión y generación de 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: