Tabla de contenido:
- Paso 1: PIEZAS y HERRAMIENTAS
- Paso 2: SONDA DE HUMEDAD DEL SUELO V1
- Paso 3: SONDA DE HUMEDAD DEL SUELO V2
- Paso 4: SONDA DE HUMEDAD DEL SUELO V3 "Katana"
- Paso 5: FUNCIONALIDAD BÁSICA
- Paso 6: PANTALLA DE 7 SEGMENTOS
- Paso 7: BOMBA y CONTROL DE BOMBA
- Paso 8: CONFIGURACIÓN y BOTONES
- Paso 9: RTC: RELOJ EN TIEMPO REAL
- Paso 10: PONIENDO TODO JUNTO
- Paso 11: BOCETOS y más
- Paso 12: *** ¡¡¡GANAMOS !!! ***
Video: APIS - Sistema automatizado de riego de plantas: 12 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
La HISTORIA: (una próxima evolución de este sistema está disponible aquí)
Hay bastantes instructivos sobre el tema del riego de plantas, por lo que apenas inventé algo original aquí. Lo que hace que este sistema sea diferente es la cantidad de programación y personalización que se incluyó en él, lo que permite un mejor control e integración en la vida cotidiana.
Aquí hay un video de una carrera de riego: carrera de riego
Así nació APIS:
Tenemos dos plantas de ají rojo picante, que apenas han "sobrevivido" a varias de nuestras vacaciones, y casi se consideran miembros de la familia en este momento. Han pasado por sequías extremas y riego excesivo, pero siempre se recuperaron de alguna manera.
La idea de construir un riego de plantas basado en Arduino fue casi la primera idea de cómo se podría aplicar Arduino como un proyecto de automatización del hogar. Así que se construyó un sencillo sistema de riego de plantas.
Sin embargo, la Versión 1 no tenía ninguna indicación de la humedad del suelo, y no había forma de saber si estaba a punto de regar las plantas o si faltaban unos días para regar.
La curiosidad, como todos sabemos, mató al gato, y la Versión 2 se construyó con un módulo de 7 segmentos de 4 dígitos para mostrar la humedad actual en todo momento.
Eso no fue suficiente. La siguiente pregunta fue "¿cuándo fue la última vez que regó las plantas"? (Ya que rara vez estábamos en casa para presenciarlo). La versión 3 usó el módulo de 7 segmentos para mostrar también cuánto tiempo hace que ocurrió la última ejecución de riego (como una cadena de texto en ejecución).
Una noche, el riego comenzó a las 4 am, despertando a todos. Frustrante … Al encontrar demasiado trabajo apagar APIS por la noche y encenderlo durante el día para evitar que se riegue en medio de la noche, se agregó un reloj en tiempo real para poner el dispositivo a dormir por la noche como parte de la Versión 4.
Dado que el reloj de tiempo real requiere ajustes periódicos (como el interruptor de horario de verano, por ejemplo), la Versión 5 incluye tres botones que permiten configurar una variedad de parámetros de riego de la planta.
No se detuvo ahí. Noté que la sonda de humedad tiende a erosionarse con bastante rapidez, posiblemente debido al hecho de que estaba (por diseño) bajo voltaje constante y, por lo tanto, había una corriente eléctrica constante entre las sondas (ánodo erosionado). La sonda de suelo barata de China sobrevivió aproximadamente una semana. Incluso un clavo galvanizado se "comió" en un mes. Una sonda de acero inoxidable aguantaba mejor, pero noté que incluso eso se estaba rindiendo. La versión 6 enciende la sonda durante solo 1 minuto cada hora (y todo el tiempo durante el riego), lo que reduce drásticamente la erosión (~ 16 minutos al día frente a 24 horas al día).
La idea:
Desarrollar un sistema de riego de plantas con las siguientes capacidades:
- Medir la humedad del suelo
- Al alcanzar una marca de humedad "baja" predefinida, encienda la bomba de agua y riegue las plantas hasta que se alcance una marca de humedad "alta"
- El riego debe realizarse en varias corridas, separadas por períodos de inactividad para permitir la saturación de agua a través del suelo.
- El sistema debe desactivarse por la noche entre las horas de "dormir" y "despertar"
- La hora de "despertar" debe ajustarse para los fines de semana a un valor posterior
- El sistema debe mantener el registro de las ejecuciones de bombeo.
- El sistema debe mostrar la lectura actual de la humedad del suelo.
- El sistema debe mostrar la fecha / hora de la última operación de la bomba.
- Los parámetros de riego deben ser ajustables sin reprogramar
- Detenga el bombeo e indique una condición de error si el funcionamiento de la bomba no provoca cambios en la humedad (falta de agua o problemas con el sensor), lo que evita que se inunde la planta y se produzcan fugas de agua.
- El sistema debe encender / apagar la sonda de humedad para evitar la erosión del metal.
- El sistema debe drenar el agua de los tubos para evitar que se forme moho en su interior.
Los siguientes parámetros deben configurarse mediante botones:
- Marca de humedad "baja", en%, para iniciar el funcionamiento de la bomba (predeterminado = 60%)
- Marca de humedad "alta", en%, para detener el funcionamiento de la bomba (predeterminado = 65%)
- Duración de una sola carrera de riego, en segundos (predeterminado = 60 segundos)
- Número de reintentos para alcanzar la humedad objetivo (predeterminado = 4 carreras)
- Hora militar para desactivar por la noche, solo horas (predeterminado = 22 o 10 pm)
- Hora militar para activar en la mañana, solo horas (predeterminado = 07 o 7 am)
- Ajuste de fin de semana para activación matutina, horas delta (predeterminado = +2 horas)
- Fecha y hora actual
APIS escribe la fecha / hora de las 10 últimas ejecuciones de riego en la memoria EEPROM. El registro podría mostrarse, mostrando la fecha y hora de las ejecuciones.
Una de las muchas cosas que aprendimos de APIS es que en realidad no es necesario regar las plantas todos los días, que era nuestra rutina hasta que vimos las lecturas de humedad del suelo en una pantalla de 7 segmentos …
Paso 1: PIEZAS y HERRAMIENTAS
Necesitará las siguientes partes para construir APIS:
CAJA DE CONTROL Y TUBERÍAS:
- Placa Arduino Uno: en Amazon.com
- Bomba de líquido peristáltica de 12v con tubo de silicona: en Adafruit.com
- Módulo JY-MCU de tubo digital con pantalla LED numérica 4X: en Fasttech.com
- Kit de placa de conexión de reloj en tiempo real DS1307: en Adafruit.com (opcional)
- Microtivity IM206 6x6x6mm Tact Switch: en Amazon.com
- Tablero Vero: en Amazon.com
- IC del controlador del motor L293D: en Fasttech.com
- 3 resistencias de 10 kOhmios
- Arduino proyectos carcasa de plástico: en Amazon.com
- Adaptador de 12 V CA / CC con un conector de alimentación de 2,1 mm: en Amazon.com
- Brochetas de bambú
- Pisada y un poco de pegamento de supercemento.
- Tubería de caucho de látex súper suave 1/8 "ID, 3/16" OD, pared 1/32 ", ámbar semitransparente, 10 pies de longitud: en McMaster.com
- Accesorio de tubo de púas de nailon duradero con sello hermético, en T para diámetro interno de tubo de 1/8 ", blanco, paquetes de 10: en McMaster.com
- Accesorio de tubo de púas de nailon duradero con sello hermético, Y para ID de tubo de 1/8 ", blanco, paquetes de 10: en McMaster.com
- Como es habitual, cables, herramientas de soldadura, etc.
SONDA DE HUMEDAD:
- Pieza pequeña de madera (1/4 "x 1/4" x 1 ")
- 2 x agujas de extracción de acné de acero inoxidable: en Amazon.com
- Módulo sensor de detección de humedad del suelo: en Fasttech.com
Paso 2: SONDA DE HUMEDAD DEL SUELO V1
La humedad del suelo se mide en función de la resistencia entre dos sondas metálicas insertadas en el suelo (aproximadamente a una pulgada de distancia). Los esquemas están representados en la imagen.
La primera prueba que probé fue la que se puede comprar en varios proveedores de Internet (como esta).
El problema con ellos es que el nivel de la lámina es relativamente delgado y se erosiona rápidamente (en cuestión de una o dos semanas), por lo que abandoné rápidamente este prefabricado por el sensor más resistente, basado en clavos galvanizados (consulte el siguiente paso).).
Paso 3: SONDA DE HUMEDAD DEL SUELO V2
La sonda de la "próxima generación" se hizo en casa con dos clavos galvanizados, una tabla de madera y un par de cables.
Como ya tenía una sonda manufacturada gastada, reutilicé la pieza de conexión y el módulo electrónico de la misma, básicamente reemplazando el componente del suelo.
Los clavos galvanizados, para mi sorpresa, también se erosionaron (aunque más lento que el papel de aluminio delgado), pero aún más rápido de lo que me gustaría.
Se diseñó otra sonda, basada en agujas de acero inoxidable para eliminar el acné. (ver siguiente paso).
Paso 4: SONDA DE HUMEDAD DEL SUELO V3 "Katana"
La sonda de acero inoxidable (que se asemeja a la espada samurái, de ahí el nombre) es la que se usa actualmente.
Creo que la rápida erosión podría atribuirse al hecho de que la sonda siempre estuvo bajo voltaje eléctrico (24x7), independientemente de la frecuencia con la que se realizó la medición real.
Para mitigar esto, cambié los intervalos de medición para que sean una vez en 1 hora (después de todo, este NO es un sistema en tiempo real) y conecté la sonda a uno de los pines digitales en lugar de 5v permanente. Actualmente, la sonda se alimenta solo ~ 16 minutos por día en lugar de 24 horas, lo que debería aumentar su vida útil drásticamente.
Paso 5: FUNCIONALIDAD BÁSICA
APIS se basa en la placa Arduino UNO.
APIS mide la humedad del suelo una vez por hora y, si cae por debajo de un umbral predefinido, enciende la bomba durante un período de tiempo predefinido, un número predefinido de veces separadas por intervalos de "saturación".
Una vez que se alcanza un umbral de humedad objetivo, el proceso vuelve al modo de medición una vez por hora.
Si no se puede alcanzar la humedad objetivo, pero se alcanzó el límite inferior, eso también está bien (se realizó al menos algo de riego). La razón podría ser la colocación desafortunada de la sonda, donde está demasiado lejos del suelo húmedo.
Sin embargo, si ni siquiera se pudo alcanzar el límite inferior de humedad, se declara una condición de error. (Lo más probable es que se deba a un problema con la sonda, o al cubo de suministro se le acabó el agua, etc.). En condiciones de error, la unidad dormirá durante 24 horas sin hacer nada y luego volverá a intentarlo.
Paso 6: PANTALLA DE 7 SEGMENTOS
PANTALLA DE 7 SEGMENTOS BASADA EN TM1650:
Originalmente, APIS no tenía ninguna capacidad de visualización. Era imposible saber el nivel actual de humedad del suelo sin conectarse a través de USB.
Para solucionarlo, agregué una pantalla de 4 dígitos y 7 segmentos al sistema: en Fasttech.com
No pude encontrar una biblioteca para trabajar con este módulo en ninguna parte (ni una hoja de datos para él), así que después de algunas horas de prueba y experimentación de puertos I²C, decido escribir una biblioteca de controladores yo mismo.
Admite pantallas de hasta 16 dígitos (siendo 4 el valor predeterminado), puede mostrar caracteres ASCII básicos (tenga en cuenta que no todos los caracteres se pueden construir con 7 segmentos, por lo que las letras como W, M, etc. no están implementadas)., Admite decimal Visualización de puntos en el módulo, secuencia de caracteres en ejecución (para mostrar más de 4 letras) y admite 16 grados de brillo.
La biblioteca está disponible en el patio de juegos arduino.cc aquí. Biblioteca de controladores TM1650
El video de muestra está disponible aquí
ANIMACIÓN:
Se implementa un poco de animación de 7 segmentos durante una carrera de agua.
- Mientras la bomba está activada, los puntos digitales en la pantalla se ejecutan en un patrón de izquierda a derecha, simbolizando una carrera de agua: video de animación de riego
- Durante el período de "saturación", los puntos se ejecutan desde el centro de la pantalla hacia afuera, simbolizando la saturación: video de animación de saturación
Innecesario, pero un buen toque.
Paso 7: BOMBA y CONTROL DE BOMBA
BOMBA
Usé la bomba de líquido peristáltica de 12v (disponible aquí) para regar las plantas. La bomba proporciona aproximadamente 100 ml / min (que es aproximadamente la mitad de un vaso; es bueno recordarlo al configurar el tiempo de funcionamiento del agua para evitar desbordamientos, y sucedió 8-))
CONTROL DE BOMBA - L293D
La bomba se controla mediante el chip controlador del motor L293D. Dado que la dirección de rotación está preestablecida, solo necesita usar el pin de habilitación del chip para el control. Los pines de dirección se pueden conectar directamente a + 5v y GND de forma permanente.
Si usted (como yo) no estaba seguro de en qué dirección irá la bomba, aún puede conectar los tres pines a Arduino y controlar la dirección mediante programación. Menos re-soldar.
Paso 8: CONFIGURACIÓN y BOTONES
BOTONES:
Usé tres botones para configurar y controlar APIS.
Todas las pulsaciones de botones se procesan en función de las interrupciones de los pines (biblioteca PinChangeInt).
- El rojo (más a la derecha) es un botón SELECT. Hace que APIS entre en modo de configuración y también confirma los valores.
- Los botones negros del extremo izquierdo y del medio (MÁS y MENOS respectivamente) se utilizan para aumentar / disminuir los valores configurables (en el modo de configuración), o mostrar la fecha / hora actual y la información de la última ejecución de riego (en modo normal).
Dado que la mayor parte del tiempo la pantalla está apagada, todos los botones primero "activarán" APIS, y solo entonces, en una segunda pulsación, realizarán su función.
La pantalla se apaga después de 30 segundos de inactividad (a menos que haya un riego en curso).
APIS se ejecuta a través de los parámetros de configuración al inicio para su revisión: video
CONFIGURACIÓN:
APIS tiene cuatro modos de configuración:
- Configurar los parámetros de riego
- Configurar reloj en tiempo real
- Riego "forzado"
- Revisar el registro de riego
PARAMETROS DE RIEGO:
- Umbral de humedad del suelo bajo (comience a regar)
- Alto umbral de humedad del suelo (dejar de regar)
- Duración de una sola pasada de riego (en segundos)
- Número de riegos en un lote
- Duración del período de saturación del suelo entre corridas dentro de un lote (en minutos)
- Hora de activación del modo nocturno (hora militar, solo horas)
- Hora de finalización del modo nocturno (hora militar, solo horas)
- Ajuste de fin de semana para la hora de finalización del modo nocturno (en horas)
CONFIGURACIÓN DEL RELOJ EN TIEMPO REAL:
- Siglo (es decir, 20 para 2015)
- Año (es decir, 15 para 2015)
- Mes
- Día
- Hora
- Minuto
El reloj se ajusta con los segundos en 00 tras la confirmación de los minutos.
La configuración tiene un período de tiempo de espera de 15 segundos, después del cual se cancelan todos los cambios.
Al guardar, los parámetros se guardan en la memoria EEPROM.
FORZAR UNA CORRIDA DE RIEGO:
Todavía no estoy seguro de por qué lo implementé, pero está ahí. Una vez activado, APIS ingresa al modo de riego. Sin embargo, el modo de riego todavía está sujeto a umbrales. Esto significa que si fuerza el riego, pero la humedad del suelo está por encima de la marca ALTA, el riego finalizará inmediatamente. Básicamente, esto funciona solo si la humedad del suelo está entre los umbrales BAJO y ALTO.
REVISIÓN DEL REGISTRO DE RIEGO:
APIS mantiene un registro de las últimas 10 ejecuciones de riego en la memoria EEPROM, que el usuario puede revisar. Solo se almacena la fecha / hora del ciclo de riego. Los umbrales (en ese momento) y el número de ejecuciones que se necesitaron para alcanzar el umbral ALTO no se almacenan (aunque en la próxima versión podrían estarlo).
Paso 9: RTC: RELOJ EN TIEMPO REAL
MODO NOCTURNO
Una vez que APIS me despertó por la noche, se me ocurrió la idea de implementar un "modo nocturno".
Un modo nocturno es cuando no se realizan mediciones, la pantalla está apagada y no se ejecuta el riego.
En un día laborable habitual, APIS se "despierta" a las 7 a. M. (Configurable) y entra en modo nocturno a las 10 p. M. (Configurable). En un fin de semana, APIS utiliza una configuración de "ajuste de fin de semana" para retrasar el despertar (hasta las 9 a. M., Por ejemplo), si el ajuste de fin de semana es de 2 horas).
TARJETA DE ROTURA RTC vs. RTC "SOFTWARE":
Usé hardware RTC (disponible aquí) para realizar un seguimiento de la fecha / hora y entrar / salir de los modos nocturnos.
Es opcional de usar, ya que los bocetos se pueden compilar para usar el llamado "software" RTC (usando la funcionalidad millis () de arduino).
El inconveniente de utilizar el software RTC es que debe configurar la hora cada vez que se enciende APIS.
Modifiqué la biblioteca RTC estándar para que coincida exactamente con la API, y también para solucionar el problema de reinversión de milisegundos. (Consulte el paso de bocetos para descargar).
Paso 10: PONIENDO TODO JUNTO
Todo el sistema (excepto la sonda), incluida la bomba, cabe en una pequeña caja para Arduino Uno.
- La pantalla TM1650 utiliza una interfaz TWI, por lo que los cables SDA y SDC van a los pines A4 y A5 de Arduino respectivamente. Los otros dos cables son + 5v y GND.
- La placa RTC utiliza una interfaz TWI, igual que la anterior. (TM1650 y RTC usan puertos diferentes, por lo que conviven pacíficamente). El pin RTC + 5v está conectado al pin 12 de arduino (alimentado a través de un pin digital en lugar de + 5v). No recuerdo por qué lo hice, no es necesario.
- Los pines L293D se conectan de la siguiente manera: habilitar (pin 1) a D5, y pines de control de dirección 2 y 7 a los pines arduino D6 y D7 respectivamente.
- Los BOTONES están conectados a los pines D2, D8 y D9 para SELECCIONAR, MÁS y MENOS respectivamente. (Los botones se implementan con resistencias desplegables de 10K, en la configuración "activa alta").
- La alimentación de + 5v del módulo PROBE está conectada al pin 10 de arduino (para permitir mediciones periódicas), y la sonda está conectada al pin analógico A1.
NOTA: El archivo de esquemas de Fritzing se ha agregado al repositorio de github.
Paso 11: BOCETOS y más
Actualización de marzo de 2015:
- Se agregó funcionalidad para drenar los tubos después del riego para evitar la formación de moho (¡Me alegro de no haber cableado la dirección de rotación de la bomba en L293D!)
- El registro más extenso incluye la fecha / hora del inicio y el final del ciclo de riego, el inicio y el final de la humedad y cuántas veces se activó la bomba durante el ciclo de riego.
- Rutina de error actualizada: el dispositivo se reiniciará después de 24 horas de ingresar la condición de error
- Recompilado con TaskScheduler 2.1.0
- Varias otras correcciones de errores
A partir del 18 de noviembre de 2015, APIS se actualizó con las siguientes características adicionales:
- Uso de la biblioteca DirectIO para cambios de pines más rápidos y fáciles
- Uso de la biblioteca de zona horaria para cambiar correctamente entre EST y EDT
- Se agregó la lógica de eliminación de rebotes de botones utilizando solo TaskScheduler
- Se agregó la funcionalidad de repetición del botón (los valores se repiten si el botón se presiona y se mantiene presionado, con la velocidad del ciclo aumentando después de 5 ciclos)
- Recompilado con IDE 1.6.6 AVR 1.6.9 contra TaskScheduler 1.8.4
- Movido a Github
BIBLIOTECAS:
APIS se basa en las siguientes bibliotecas:
- EEPROM - parte de Arduino IDE
- Cable: parte de Arduino IDE
- EnableInterrupt: disponible en Github
- Zona horaria: disponible en Github
- DirectIO: disponible en Github
Modificado (bifurcado) por mí:
- Hora: disponible en Github
- RTClib: disponible en Github
Desarrollado por mi:
- TM1650 - disponible en Github
- TaskScheduler: disponible en Github
- AvgFilter: disponible en Github
BOSQUEJO:
La última versión del boceto APIS, incluido el archivo de esquemas fritzing, está disponible en Github
HOJAS DE DATOS:
- L293D: aquí
- Placa de ruptura RTC: aquí
Paso 12: *** ¡¡¡GANAMOS !!! ***
Este proyecto ganó el segundo premio en el concurso Home Automation patrocinado por Dexter Industries.
¡Echale un vistazo! ¡¡¡WOO-HOO !!!
Segundo premio en la Automatización del Hogar
Recomendado:
Monitor inteligente de plantas para interiores: sepa cuándo su planta necesita riego: 8 pasos (con imágenes)
Monitor inteligente de plantas para interiores: sepa cuándo su planta necesita riego: Hace un par de meses, hice una varilla de control de la humedad del suelo que funciona con baterías y se puede pegar en la tierra de la maceta de su planta de interior para brindarle información útil sobre el suelo. el nivel de humedad y los LED parpadean para indicarle cuándo debe
Maceta inteligente automática para plantas (bricolaje, impresa en 3D, Arduino, riego automático, proyecto): 23 pasos (con imágenes)
Maceta inteligente automática - (bricolaje, impresión en 3D, Arduino, riego automático, proyecto): Hola, a veces, cuando nos vamos de casa por unos días o estamos muy ocupados, las plantas de la casa (injustamente) sufren porque no se riegan cuando necesito. Esta es mi solución. Es una maceta inteligente que incluye: Depósito de agua incorporado. Un senso
Riego inteligente de plantas: 5 pasos (con imágenes)
Riego inteligente de plantas: ¡Hola! Con este proyecto, puede regar sus plantas automáticamente considerando la temperatura, la humedad y la luz externas. También puede usar esto como una estación meteorológica doméstica y verificar la temperatura, la humedad y la luminosidad desde su teléfono celular o computadora ju
El riego de plantas inteligente Arduino más fácil: 7 pasos (con imágenes)
El riego de plantas inteligente con Arduino más fácil: la última vez que escribimos intructable sobre cómo hacer un sistema automático de riego de plantas con arduino y sensores, nuestro artículo ganó mucha atención y excelentes comentarios.Después, hemos estado pensando cómo podríamos mejorarlo. Parece que nuestro o
Proyecto de riego automático de plantas de flores-arduino: 8 pasos (con imágenes)
Proyecto de riego automático de plantas de flores-arduino: ¡Hola chicos! Hoy les voy a explicar cómo regar sus plantas, con un sistema de control de agua. Es súper fácil. Solo necesita un arduino, una pantalla lcd y un sensor de humedad. Lo guiaremos paso a paso a través de los procesos. Entonces, lo que estamos haciendo