Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos UNIVERSIDAD POLITÉCNICA SALESIANA CARRERA DE INGENIERÍA DE SISTEMAS UNIDAD DE TITULACIÓN PLAN DE PROYECTO DE TITULACIÓN Proyecto técnico Sistema de monitorización y control de cultivo de flores de un invernadero utilizando internet de las cosas IoT en el estado de New Jersey - USA Periodo 63 Docente tutor: Jaya Duche Manuel Rafael, Ing. Eva María Tipantuña Rodríguez Diciembre - 2023 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Agradecimientos Este trabajo está dedicado a mis padres, ya que han sido uno pieza fundamental en mi vida y gracias al ejemplo que ellos me han demostrado nunca me dado por vencida los quiero mucho. A mi madre y a mis hermanas que con su apoyo y animo han estado empujándome a culminar esta etapa de mi vida. A mi hijo y esposo por su cariño y paciencia en los días difíciles. A mis profesores y a la Universidad salesiana que son los forjadores de profesionales en esta hermosa carrera, con su amor por la educación y disciplina, por la cual llegamos a ser los mejores alrededor del mundo y poner en altoel nombre de nuestro país Ecuador y la institución UPS. Gracias. Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Índice general: 1.INTRODUCCIÓN ...................................................……………………………………….. 5 1.1.PROBLEMA DEL ESTUDIO ....................................................................................... 5 1.2. JUSTIFICACIÓN .........................................................................................................6 1.2.1. INVERNADEROS CONVENCIONALES ................................................................. 7 1.2.2. INTERNET DE LAS COSAS IoT ............................................................................. 7 1.3. GRUPO OBJETIVO .................................................................................................... 8 1.3.1. OBJETIVOS ESPECÍFICOS ................................................................................... 8 1.3.2. MARCO TEORICO……….…………………….……………………………………….. 9 1.3.3. ALCANCE…………………………….……………………………………….………….. 10 2. ESTUDIO PREVIO ....................................................................................................... 11 3. PROCESO DE CULTIVO EN INVERNADERO ............................................................ 12 3.1. ANÁLISIS INICIAL ..................................................................................................... 13 3.2. PARÁMETROS DE CULTIVO.................................................................................... 14 3.2.1. TEMPERATURA Y HUMEDAD AMBIENTE .......................................................... 15 3.2.2. HUMEDAD DEL TERRENO .................................................................................. 16 3.2.3. LUMINOSIDAD ...................................................................................................... 17 3.2.4. PH AGUA DE RIEGO .............................................................................................18 3.2.5. NIVEL DE AGUA EN DEPÓSITO DE SUMINISTRO ............................................ 19 3.2.6. SISTEMA DE RIEGO ............................................................................................ 20 3.2.7. SISTEMA DE VENTILACIÓN ................................................................................ 21 3.3. RESUMEN ................................................................................................................ 22 3.3.1. LÍMITES ............................................................................................................... .22 3.3.2. PROCESO ........................................................................................................... 23 3.3.3. NIVELES DE ALERTAS ....................................................................................... 25 4. HARDWARE .............................................................................................................. 31 4.1. SELECCIÓN DE COMPONENTES ........................................................................ 32 4.1.1. MÓDULO ARDUINO UNO ................................................................................... 34 4.1.2. SENSÓRICA......................................................................................................... 35 1 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 4.1.3. ACTUADORES ................................................................................................... 42 4.1.4. OTROS COMPONENTES .................................................................................. 44 4.2. VISIÓN GLOBAL DEL SISTEMA ........................................................................... 45 5. CONECTIVIDAD ........................................................................................................46 5.1. CONECTIVIDAD WiFi ............................................................................................ 47 5.1.1. COMUNICACIONES POR INTERNET ............................................................... 48 5.1.2. CONEXIÓN MODULO WiFi ................................................................................ 49 5.1.3 INSTALACIÓN Y CONFIGURACIÓN DE ARDUINO IDE…………………………. 50 5.2 CONFIGURACION DE LOS COMPONENTES………………………………………. 52 5.2. SERVIDOR WEB ................................................................................................... 53 6. SOFTWARE ............................................................................................................. 54 6.1. VISIÓN GENERAL ................................................................................................ 55 6.2. EL CÓDIGO ........................................................................................................... 56 6.2.1. CONFIGURACIÓN ............................................................................................ 57 6.2.2. LIBRERIAS ......................................................................................................... 58 6.2.3. MENSAJES LCD ............................................................................................... 59 6.2.4. INICIALIZACIÓN .............................................................................................. 60 6.2.5. FUNCIÓN PRINCIPAL ....................................................................................... 61 6.2.6. FUNCIONES SECUNDARIAS ........................................................................... 62 7. PUESTA EN MARCHA Y FUNCIONAMIENTO ....................................................... 63 8. CONCLUSIONES Y RECOMENDACIÓN ................................................................66 9. BIBLIOGRAFÍA ......................................................................................................... 67 10. ANEXOS ................................................................................................................ 68 11. PRESUPUESTO .................................................................................................... 94 2 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Índice de figuras: Ilustración 1 Sistema para el control Ilustración 2 sistema Ampliado de los Datos Ilustración 3 Foto Placa de Arduino Ilustración 4 Sistema de riego por goteo Ilustración 5 Riego por goteo Ilustración 6 Riego por tapete Ilustración 7 Riego por Rocío Ilustración 8 Sistema de agua de lluvia Ilustración 9 Diagrama de flujo del proceso del sistema de Riego Automático Ilustración 10 Diagrama de flujo del proceso del Sistema de Ventilación Automática Ilustración 11 Diagrama de flujo de proceso del Sistema de Alarma Ilustración 12 Sensores DHT22 y DHT11. Ilustración 13 Esquema Fotorresistencia LDR Ilustración 14 Conexión en Arduino Ilustración 15 Medidor PH Ilustración 16 Bomba de Agua para riego Ilustración 17 Ventilador 12V DC. Ilustración 18 Adaptador de pantalla LCD y Display LCD I2C Ilustración 19 Visión global del sistema Ilustración 20 Paquete de protocolos y capas que lo componen. Ilustración 21 Gestor de Librerías IDE de Arduino Ilustración 22 Componentes electrónicos para el proyecto Ilustración 23 Arduino IDE Ilustración 24 Conexion de la placa con la PC Ilustración 25 Puerto COM del Arduino Leonardo Ilustración 26 Conexión del sensor de humedad Ilustración 27 Conexión de elementos Ilustración 28 Esquema de programa 3 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Ilustración 29 Placa ESP32 Ilustración 30 Funcionamiento del sistema de control de invernaderos Ilustración 31 Verificando datos de riego Ilustración 32 Componentes electrónicos Ilustración 33 Funcionamiento del proyecto Tabla 1Tabla 1Diferentes de temperatura para especies de cultivos de flores Tabla 2Proceso cultivo de flores Tabla 3 Cambios de temperatura altas y bajas Tabla 4 Capacidad de PH en diferentes flores Tabla 5 Tipos de ventilación con sus ventajas y desventajas Tabla 6 Resumen límites de cultivo y alertas Tabla 7 Parámetros de los sensores DHT11 DHT22 Tabla 8 Ejemplo de valores de la familia GL55 de fotorresistores Tabla 9 Ejemplos de Niveles de pH de algunas sustancias Tabla 10 Mano de Obra directo Tabla 11 Materias Primas Tabla 12 Equipamiento puesto trabajo Tabla 13 Coste Puesto de trabajo Tabla 14 Costo Total de Proyecto 4 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 1. INTRODUCCIÓN 1.1. PROBLEMA DE ESTUDIO Vivimos en un mundo de constante cambio y un problema emergente global que es la reducción de tierra cultivable a largo plazo. Una de las actividades más grandes de la industria agrícola de flores en la cuidad de New Jersey actualmente se enfrenta con muchos problemas para continuar con un desarrollo sostenible a largo plazo ya que varía por las estaciones, entre ellos están la reducción de tierras arables para el cultivo, el uso extensivo de pesticidas, el consumo excesivo de agua dulce para riego, entre otros. La idea y la necesitad del uso de invernaderos se remonta a 1850, donde la horticultura neerlandesa comenzó a utilizarlos para el cultivo de uvas. Se descubrió que el cultivo en invernaderos con calefacción y con más alto nivel de cristal incrementaba rendimiento. Las plantas crecían más rápidamente cuando se les daba más luz y cuando el entorno cálido era constante. Más tarde y de manera continuada se hicieron investigaciones para la mejora de estos invernaderos, generando modelos de gran calidad. En España el cultivo en invernaderos prolifera en las provincias de Alicante, Murcia,Almeria y Granada a finales de los 70. Dado que el clima terrestre es caótico y complejo, debido a factores en los que el hombre no tiene influencia alguna, los diferentes tipos de cultivo se ven afectados de forma directa. Las ventajas del cultivo en invernadero son diversas residiendo su principal utilidad en la posibilidad de evitar los cambios bruscos del clima como la variación de temperatura, la escasez de lluvia o exceso de humedad en la tierra. Este incremento del valor de los productos permite que el agricultor pueda invertir tecnológicamente en su explotación mejorando la estructura del invernadero, los sistemas de riego localizado, los sistemas de gestión del clima, etc, que se reflejan posteriormente en una mejora de los rendimientos y de la calidad del producto final. El internet de las cosas permite que cualquier objeto pueda comunicarse con otras entidades ya sean otros sistemas o personas obteniendo información útil para llevar a cabo una determinada tarea o función. Así pues la idea del internet de las cosas sugiere que en vez de tener un pequeño numero de dispositivos informáticos (Smartphone, tablet, ordenador portátil, etc) , podríamos tener un sinfín de pequeños dispositivos con poca potencia como la nevera que avisa de que faltan huevos, una pulsera con tensiómetro que ayuda a controlar el ejercicio, etc. 5 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Para que un objeto esté conectado a Internet debe haber algún tipo de intercambio de información, la cual será analizada y procesada para ayudar en la toma de decisiones sobre qué acciones es necesario realizar. Estos “objetos inteligentes conectados” necesitan la suficiente autonomía (vida útil de sus baterías o uso de energías renovables) para alimentar un sistema que analice la información (procesador-microcontrolador y programación software) enviándola a otros sistemas de forma inalámbrica (conexión inalámbrica a través de WiFi, Bluetooth, ZigBee, etc). En este proyecto se va a desarrollar un sistema electrónico de monitoreo y control mediante la recopilación de datos en tiempo real del cultivo de flores utilizando IoT en la estación de primavera en el estado de New Jersey. Desde las situaciones del suelo, temperatura ambiente, el control del agua, para optimizar sus procesos y haga que sus datos funciones para un crecimiento sostenible. El desarrollo de un sistema domótica inteligente que permita controlar los invernaderos de forma autónoma, consultando su estado y actuando sobre ellos desde cualquier lugar, puede dar solución a este problema. Dicho de otro modo, un sistema IoT transformara cualquier objeto físico en un producto de datos digitales. Una vez que se conecta un sensor, el objeto físico comienza a funcionar de manera similar a cualquier otro producto digital, aportando datos sobre su uso, ubicación y estado. Con ello podemos adquirir en el mercado numerosos sistemas conectador a Internet gracias a estas tecnologías, como neveras inteligentes capaces de analizar necesidades. 1.2. JUSTIFICACIÓN El presente proyecto permite monitorear y controlar la gestión del riego para maximizar la eficiencia y reducir el desperdicio, con ellos se puede medir y responder a la variabilidad de cultivos entre campos e intracampos. Este tipo de sistema permitirá a los usuarios delegar tareas más repetitivas con el control de riego en función de la temperatura y la humedad. “De este modo, los agricultores pueden tener un control total de sus cultivos y tomar las medidas necesarias para mejorar el rendimiento. Por ejemplo, si la humedad del suelo es baja, el riego puede activarse automáticamente” (Aguilar,S. 2022 pag,6). El diseño de un sistema domótico inteligente para el control de invernaderos nos permitirá no solo resolver un problema existente en nuestra sociedad como la perdida de cultivos urbanos por falta de tiempo, sino hacerlo en base a una clara tendencia de mercado en la actualidad como es el IoT, asentando una base sólida para la futura comercialización del sistema diseñado. Un invernadero (o invernáculo) es un lugar cerrado, estático y accesible a pie que se destina a la horticultura, dotado habitualmente de una cubierta exterior translúcida de vidrio o de plástico, que permite el control de la temperatura, la humedad y otros factores ambientales, y que se utiliza para favorecer el desarrollo de las plantas. (Domínguez .L. 2002 pag,2) Dentro de un invernadero es posible obtener unas condiciones artificiales de microclima y con ello cultivas plantas en condiciones óptimas y fuera de temporada. 6 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Un microclima es un entorno que tiene diferentes condiciones ambientales a las encontradas en la misma área. En un invernadero, el microclima está presente gracias a los rayos solares que penetran en el interior quedando retenidos, lo que produce una reacción que presenta las condiciones necesarias para la siembra de un cultivo en común, como es la temperatura, humedad del suelo y humedad relativa. (Domínguez, L. 2002 pag,3) La idea y la necesidad del uso de invernaderos es para evitar los cambios bruscos del clima como la variación de temperatura, la escasez de lluvia o exceso de humedad en la tierra. Por lo tanto, es posible producir cultivos en las épocas del año más difíciles obteniendo cosechas fuera de temporada, sustituyendo el clima y alargando el ciclo del cultivo. Además se obtiene productos de mejor calidad y una mayor producción en la cosecha, algo que incrementa la economía de escala reduciendo el coste de producción. 1.2.1. INVERNADEROS CONVENCIONALES Un invernadero es un espacio cerrado, estático y accesible a pie, diseñado para la horticultura. Está equipado con una cubierta translúcida de vidrio o plástico que permite controlar la temperatura, la humedad y otros factores ambientales para favorecer el crecimiento de las plantas. En un invernadero, se pueden crear condiciones de microclima artificial para cultivar plantas en condiciones óptimas y fuera de temporada. El microclima se crea gracias a los rayos solares que penetran y quedan retenidos en el interior, creando las condiciones necesarias para el cultivo. La luz solar calienta el interior del invernadero y los materiales de la cubierta dispersan la luz para evitar la formación de sombras. El calor se acumula en la parte superior del invernadero, por lo que es necesario un sistema de ventilación. El uso de invernaderos se remonta a 1850 en la horticultura neerlandesa y ha evolucionado con investigaciones y mejoras continuas. En España, el cultivo en invernaderos se popularizó en las provincias de Alicante, Murcia, Almería y Granada a finales de los años 70. Los invernaderos son beneficiosos porque permiten controlar el clima y evitar cambios bruscos, como variaciones de temperatura, escasez de lluvia o exceso de humedad. Esto permite producir cultivos fuera de temporada, mejorar la calidad de los productos y aumentar la producción, lo que reduce los costos de producción y mejora la economía de escala. El valor añadido de los productos cultivados en invernaderos permite a los agricultores invertir en mejoras tecnológicas, como la automatización de las ventilaciones, radiómetros para medir la luminosidad y sistemas de calefacción. Estas inversiones se reflejan en una mejora de los rendimientos y de la calidad del producto final. 1.2.2. INTERNET DE LAS COSAS IoT El "Internet de las cosas" (IoT) se refiere a objetos o dispositivos cotidianos que están conectados a Internet y tienen cierta inteligencia. Esto permite que los objetos se comuniquen con otros sistemas o personas, obteniendo información útil para realizar tareas específicas. En lugar de tener pocos dispositivos informáticos potentes, podríamos tener muchos dispositivos periféricos pequeños y menos potentes que estén conectados a Internet. Estos "objetos inteligentes conectados" necesitan suficiente autonomía para 7 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos alimentar un sistema que analiza la información y la envía a otros sistemas de forma inalámbrica. El concepto de IoT se originó en el trabajo de Mark Weiser para Xerox PARC en la década de 1990, quien acuñó el término "computación ubicua". Gracias a la computación ubicua, podemos mejorar los invernaderos convencionales, gestionando de forma inteligente y sistemas autónomos como el riego y la ventilación para mantener los niveles adecuados de temperatura, humedad relativa y calidad del aire, lo que resulta en mejor rendimiento, precocidad, calidad. del producto y calidad del cultivo. Ilustración 1Sistema para el control 1.3. GRUPO OBJETIVO (Beneficiarios) El objetivo general del proyecto es diseñar e implementar un sistema de control inteligente para invernaderos. 1.3.1. OBJETIVOS ESPECÍFICOS En este punto se desglosará el objetivo general en objetivos más específicos, para formar una idea general del proyecto final deseado. Desarrollar el sistema de conectividad inalámbrica logrando enviar y recibir información a un servidor que almacenara los datos. Recopilar información de diferentes sensores, clasificando las medidas y mostrando al usuario final local y remotamente. El sistema procesara la información recopilada por los sensores, tomando decisiones localmente gracias a un modo autónomo. o Alertas de errores o alarmas o Acciones sobre actuadores que permitirán reducir el riesgo detectado El sistema dispondrá de un modo manual que permitirá al usuario actuar remotamente sobre los actuadores. 8 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 1.3.2. MARCO TEÓRICO Transformando varios procesos productivos en el mercado, la reciente tecnología está cada vez más presente también en el campo. El Internet de las cosas (IoT) en la agricultura es una tendencia que ha llegado para quedarse, porque con su capacidad de ahorrar recursos es cada vez más posible, trazando un camino más sostenible para la agroindustria. (Aguilar Zavaleta, S. 2020, pag. 6). A través de los sistemas de monitorización meteorológica, topográfica y cosechas, asociados a la combinación de datos e IoT en la agricultura, se ha reducido considerablemente la pérdida de tiempo y recursos en el campo. Desde el momento de la siembra hasta la calidad del suelo, la Agricultura Inteligente es capaz de aportar información y actuar estratégicamente en todas las fases de la siembra de los cultivos. (Esperbent, C,2016, pag. 15) Sensores Existe la posibilidad de saber desde cualquier lado cómo está funcionando el cultivo a través de los datos que proporcionan sensores acoplados a las parcelas. Estos dispositivos dan información (clave para un buen rendimiento) sobre la humedad, la temperatura o las condiciones hídricas del suelo plantado. Así, puede decidirse más ágilmente sobre los problemas que afectan al campo, con menos recursos y más rentabilidad. (Esperbent, C,2016, pag 21) Pulverizadores Aunque sea una técnica sumamente arraigada desde los inicios de la agricultura, la tecnología ha permitido optimizarla hasta permitir que existan distintos modelos Estos son los manuales (que deben accionarse cada vez que se los quiere activar), los eléctricos (recomendados para parcelas medianas) y los que funcionan con combustible (ideales para terrenos espaciosos). Estos aparatos son vitales para repeler peligros como las plagas, los insectos o las enfermedades, y su buena elección depende de fijarse también en las características del terreno, los requisitos de la plantación y el espacio disponible. (Aguilar Zavaleta, S. 2020, pag 13) Drones Es un dispositivo volador no tripulado de tamaño mediano y manejado a control remoto con el que se puede inspeccionar una plantación más rápida y eficientemente. De esta forma pueden hacerse a distancia labores sobre el terreno como el monitoreo de este, su fumigación, la pulverización de la plantación, la supervisión del estado de las plantas, el mapeo del lugar, la detección de plagas o saber sobre el estado hídrico del terreno y los cultivos. Así, se agilizan procesos otrora hechos a mano por varias personas. (MuñozHernández, G. 2002, pag 35) Láser Permite identificar el momento ideal para cosechar sin perjudicar al cultivo y sin el uso de mano de obra humana. Funciona al comparar un modelo referencial estándar con los 9 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos valores que arroja el láser, consiguiendo así un mapeo genuino del estado de la plantación que permite decidir cuándo cosechar para obtener frutos mejores y evitar el desperdicio que conlleva hacerlo antes de tiempo. También sirve para espantar aves que puedan perjudicar la labor. (Leiva, F. R. 2003,2016, pag 24) Soluciones móviles Beneficia la obtención ágil de información de las tierras en tiempo real gracias a la ampliación de las zonas de cobertura de internet, que hoy en día pueden abarcar todo un campo (y con alto ancho de banda). Esta tecnología se usa para monitorear la labor de las máquinas, gestionar los equipos de trabajo, calcular y estudiar indicadores de desempeño, y llevar a decisiones más eficientes y rentables. (Leiva, F. R. 2003,pag 26) Hacia un nuevo campo En conclusión, la aplicación de todas estas tecnologías digitales en el negocio del agro ha propulsado enormes cambios a la hora de cuidar el terreno, apresurar la siembra, controlar los cultivos o mejorar la cosecha: su buen uso va de la mano con un mercado más exigente. (Aguilar Zavaleta, S. 2020, pag 30) Sistemas Embebidos: Según Camargo Bareño un Sistema Embebido (Sistema Embebido (ES)) es (Camargo Bareño, 2011):“un sistema de propósito específico en el cual, el computador es encapsulado completamente por el dispositivo que el controla. A diferencia de los computadores de propósito general, los sistemas embebidos son diseñados para una aplicación específica, es decir, estos sistemas realizan un grupo de funciones previamente definidas y una vez el sistema es diseñado, no se puede cambiar fácilmente su funcionalidad; debido a su interacción con el entorno deben cumplir restricciones temporales estrictas, el término sistemas de tiempo real es utilizado para enfatizar este aspecto; son heterogéneos, es decir, están compuestos por componentes hardware (Programmable Logic Device (PLD)s, Application-specific integrated circuit (ASIC)s) y software (µ-controladores, µ-procesadores, Digital signal processor (DSP)s); tienen grandes requerimientos en términos de confiabilidad”. 1.3.3. ALCANCE En el siguiente proyecto se va a utilizar el Internet de las cosas para la monitorización de cultivos, además: Se desarrollará el sistema como un prototipo o modelo experimental, descartando la fabricación de una placa industrial. El sistema medirá los siguientes parámetros o Temperatura ambiente o Humedad relativa ambiente o Humedad de tierra o Luminosidad o PH agua de riego o Nivel depósito de suministro para riego El sistema dispondrá los siguientes medios de actuación: o Ventilador 10 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos o Bomba de agua El sistema alertara de errores o problemas en determinadas circunstancias, como por ejemplo heladas, falta de agua en la tierra o riego por alta temperatura. El sistema informara al usuario final mediante o Pantalla local LCD o Servidor web o Email automático. Ilustración 2 Sistema Ampliado de los Datos 2. ESTUDIO PREVIO Un sistema de riego de plantas impulsado por un tablero basado en Arduino funciona mediante la recopilación de datos de varios sensores y la ejecución de acciones basadas en esos datos. Los sensores pueden incluir medidores de humedad del suelo, sensores de temperatura y luz, entre otros. Estos sensores envían información al tablero de Arduino, que ha sido programado para interpretar estos datos y tomar decisiones basadas en ellos. Por ejemplo, si el sensor de humedad del suelo indica que el suelo está demasiado seco, el tablero de Arduino puede activar un sistema de riego para regar las plantas. Del mismo modo, si el sensor de temperatura indica que las temperaturas son demasiado altas, el sistema puede activar sombreadores o sistemas de enfriamiento para proteger las plantas. Este sistema permite un cuidado y mantenimiento de las plantas altamente automatizado y preciso, lo que puede resultar en un crecimiento más saludable y productivo de las plantas. Primero, se necesitará definir las entradas y salidas. Las entradas suelen ser sensores como sensores de humedad del suelo, sensores de luz, sensores de temperatura, etc. Las salidas serían el sistema de riego en sí, que podría ser una bomba de agua o válvulas de agua. 11 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos En el código, se inicializarían primero las entradas y salidas, y luego se entraría en un bucle principal que se ejecuta continuamente. Dentro de este bucle, se leerían los valores de los sensores y se tomarían decisiones basadas en estos valores. Por ejemplo, se podría tener un sensor de humedad del suelo que lea la humedad actual del suelo. Si la humedad es inferior a un cierto umbral, entonces se activaría la bomba de agua para regar las plantas. Si la humedad es superior a ese umbral, entonces no se haría nada. Además, se podría tener un sensor de luz que determine si es de día o de noche. Si es de noche, se podría decidir no regar las plantas, independientemente de la humedad del suelo. Este es un ejemplo muy básico y la programación real podría ser mucho más compleja, dependiendo de las necesidades específicas del sistema de riego. Se podrían tener diferentes umbrales de humedad para diferentes tipos de plantas, se podría tener un sistema de riego que riegue diferentes áreas en diferentes momentos, se podría tener un sistema que tome en cuenta la previsión del tiempo para decidir cuándo regar, etc. Todo esto se puede programar en el código de Arduino. Ilustración 3 Foto Placa de Arduino 12 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 3. PROCESO DE CULTIVO EN INVERNADERO 3.1 ANALISIS INICIAL En un invernadero, podemos regular las demandas de nuestras plantas en relación a las condiciones climáticas del mismo. Es importante señalar que cada variedad de planta tiene requerimientos específicos, y por lo tanto, unos límites aceptables de climatización. Además, debemos ser conscientes de la abundancia de parámetros a monitorear y gestionar en un cultivo. Por esta razón, es necesario limitar el sistema, de manera que se determina: Los factores a medir: temperatura, humedad relativa, humedad de suelo, luminosidad, ph de agua de riego y cantidad de agua en el depósito. Relaciones entre los valores medidos: Este aspecto es vital para el manejo de los actuadores del invernadero y la gestión de alertas. Se decidió actuar sobre el riego y la ventilación. En las siguientes secciones, se presentará de manera general los parámetros a medir en el invernadero del proyecto desarrollado. Así como de manera más específica, se ha elegido un cultivo específico (las rosas) para establecer los límites. 3.2 PARAMETOS DE CULTIVO 3.2.1 TEMPERATURA Y HUMEDAD AMBIENTE Estos factores, incluida la humedad del suelo, son de suma importancia y deben ser considerados cuidadosamente dentro de un invernadero. Sin embargo, para una gestión efectiva de estos parámetros, es crucial tener un conocimiento profundo de las necesidades específicas y las limitaciones inherentes de la especie que se está cultivando. Este conocimiento permite una optimización del entorno del invernadero, lo que a su vez puede conducir a una mejora en la salud y productividad del cultivo. Temperatura mínima letal. Aquella por debajo de la cual se producen daños en la Planta. Temperaturas máximas y mínimas biológicas. Indican valores, por encima o por debajo respectivamente del cual, no es posible que la planta alcance una determinada fase vegetativa, como floración, fructificación, etc. Temperaturas nocturnas y diurnas. Indican los valores aconsejados para un correcto desarrollo de la planta. 13 Eva M Tipantuña Rodríguez Tº mínima letal Tª mínima biológica Tª óptima Tª máxima biológica Tª máxima letal ROSAS -6,67 °C 20 °F -12 a -15 °C 5 a 10 °F 18 a 21 °C Sistema de monitorización y control para invernaderos 25 °C DALIAS -2 °C 28 °F -6 a -9°C 20 a 15 °F 15 y 25 °C 59 a 77 °F 32 °C GIRASOLES -5 °C 23 °F -6 a -8°C 20 a 18 °F 20 y 30°C 68 a 86 °F 40 °C HYDRENGEA -15°C 5 °F -15 a 20°C 5 a -4 °F 16 y 24°C 60 a 75 °F 32 °C 35 °C 35 - 40 °C 45 - 50 °C 35 - 40°C Tabla 1Diferentes de temperatura para especies de cultivos de flores Los factores ambientales impactan directamente en los procesos vitales de las plantas. Un ambiente desfavorable puede causar interrupción de la fotosíntesis, problemas de respiración, disminución de las reservas, desarrollo deficiente del sistema radicular y alteraciones de los procesos metabólicos. Estrés por temperatura (altas/bajas). Fisiopatías hídricas. Cambios en el balance hormonal. Entorno favorable para desarrollo de plagas. Bajo porcentaje de humedad relativa. Disminución del CO2 (disminuye producción) Fotorrespiración (menos fotosintatos) Cultivo Rosas Crecimiento Floración Noche 10-12 ⁰C 14-16 ⁰C Dia 10-12 ⁰C 24-25 ⁰C Tabla 2Proceso cultivo de flores a humedad relativa ideal para las flores puede variar dependiendo del tipo de flor y su etapa de crecimiento. Sin embargo, muchas flores prosperan en un ambiente con una humedad relativa del 50% al 70%. Es importante tener en cuenta que una humedad demasiado alta o demasiado baja puede ser perjudicial para las flores, causando problemas como el crecimiento de moho o la deshidratación. Las rosas son bastante resistentes y pueden soportar una variedad de temperaturas, pero hay ciertos rangos que son ideales para su crecimiento y floración. Temperaturas altas: Las rosas pueden soportar temperaturas altas, pero si las temperaturas superan los 32 grados Celsius (90 grados Fahrenheit), las plantas pueden comenzar a sufrir estrés por calor. Esto puede resultar en flores más pequeñas y un crecimiento más lento. Es importante proporcionar suficiente agua y sombra durante los períodos de calor extremo para ayudar a las plantas a sobrevivir. 14 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Temperaturas bajas: Las rosas también pueden soportar temperaturas frías, pero si las temperaturas caen por debajo de -12 grados Celsius (10 grados Fahrenheit), las plantas pueden sufrir daños por congelación. Durante el invierno, es importante proteger las rosas del frío extremo cubriendo las bases de las plantas con mantillo o paja. En general, las rosas prefieren temperaturas diurnas de alrededor de 20 a 27 grados Celsius (68 a 80 grados Fahrenheit) y temperaturas nocturnas de alrededor de 10 a 17 grados Celsius (50 a 62 grados Fahrenheit). Estas temperaturas promueven el crecimiento saludable y la floración abundante. Temperatura Altas Bajas Efecto Aumento de la respiración (también conocida como fotorespiración) lo que conlleva a un mayor consumo de energía. Pérdida de agua a través de la evaporación, lo que provoca que las células se reduzcan en tamaño y pierdan su turgencia. Deficiencia de materia seca. Reducción en la longitud de los tallos y el tamaño del botón floral. Desnaturalización de las proteínas, lo que puede resultar en una pérdida de color. Disminución de la vida útil de la flor una vez cortada y puesta en un florero. El aumento de la ceguera en las plantas, la pérdida de hojas debido a la vernalización, la decoloración de las hojas por falta de hierro, y la falta de renovación del sistema radicular son problemas que pueden surgir. Otros problemas pueden incluir bordes de hojas quemados, deficiencias de calcio, lignificación y precipitación de manganeso debido al frío. Los tallos de las flores pueden romperse. Además, las plantas pueden mostrar signos de bronceado o ennegrecimiento. Recomendaciones Control periódico de temperatura. Las fumigaciones temprano en la mañana. No cosechar a altas temperaturas. Invernaderos altos con cubiertas reflectoras. Ventilación (cortinas, cenitales, ventiladores). Sombreado (mallas, blanqueo de cubiertas). Aumento de humedad (humificadores, riego de duchas). Estimulación (Aminoácidos, trihormonales, auxinas). Realizar un chequeo semanal de las raíces. Para mantener temperaturas moderadas durante la noche, se pueden construir invernaderos pequeños o hacer divisiones internas para retener el calor. Cuando la temperatura suba, se deben hacer aplicaciones de calcio al suelo. Tabla 3 Cambios de temperatura altas y bajas 15 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 3.2.2. HUMEDAD DEL TERRENO La humedad del suelo se refiere a la cantidad de agua que se encuentra en un volumen específico de tierra. Es crucial observar adecuadamente y en el momento correcto para asegurar un rendimiento óptimo del cultivo. Si se aplica demasiada agua, puede inhibir el crecimiento al mover los nitratos a una profundidad que las raíces de las plantas no pueden alcanzar. Además, el exceso de agua puede desplazar el aire en el suelo, lo que resulta en una falta de oxígeno para las raíces de las plantas. Por otro lado, no solo el exceso de agua puede ser dañino, sino también su escasez. La falta de humedad puede llevar a la caída de las hojas y al surgimiento de plagas. En contraste, demasiada humedad puede causar pudrición, puntas de hojas marrones o manchas, así como el desarrollo de enfermedades fúngicas. Las rosas generalmente prefieren un suelo bien drenado que se mantenga húmedo pero no empapado. Un buen rango de humedad del suelo para las rosas es entre el 40% y el 70%. Sin embargo, este rango puede variar dependiendo de la variedad específica de la rosa y las condiciones climáticas locales. Es importante recordar que un riego excesivo puede llevar a problemas como la pudrición de la raíz, mientras que un riego insuficiente puede hacer que las rosas se sequen y mueran. Por lo tanto, es una buena idea comprobar periódicamente la humedad del suelo y ajustar el riego según sea necesario. Además, las rosas suelen preferir un riego profundo y menos frecuente en lugar de riegos ligeros y frecuentes. Esto ayuda a promover el crecimiento de raíces más profundas, lo que puede hacer que las plantas sean más resistentes a la sequía. Las dalias prefieren un suelo con humedad entre el 60% y el 70%. Es importante evitar el riego excesivo para prevenir la pudrición de la raíz.Además, las dalias suelen preferir un riego profundo y menos frecuente en lugar de riegos ligeros y frecuentes. Esto ayuda a promover el crecimiento de raíces más profundas, lo que puede hacer que las plantas sean más resistentes a la sequía. Las hortensias prefieren un suelo que se mantenga constantemente húmedo. Un rango de humedad del suelo ideal para las hortensias es entre el 60% y el 80%. Sin embargo, es crucial evitar la saturación de agua, ya que puede provocar problemas como la pudrición de las raíces. Las hortensias también pueden necesitar riego adicional en períodos de sequía o calor extremo para mantener la humedad adecuada del suelo. 16 Eva M Tipantuña Rodríguez 3.2.3 Sistema de monitorización y control para invernaderos LUMINOSIDAD En términos generales, con un aumento de la luz en el interior del invernadero, es necesario elevar la temperatura y la humedad para maximizar la fotosíntesis; por otro lado, si la luz es limitada, las demandas de otros factores pueden reducirse. Para realzar la luz natural, se emplean los siguientes recursos: Materiales de cubierta con buena transparencia. Orientación adecuada del invernadero. Materiales que reduzcan el mínimo las sombras interiores. Aumento del ángulo de incidencia de las radiaciones sobre las cubiertas. Acolchados del suelo con plástico blanco. Para reducir la luminosidad se emplean: Blanqueo de cubiertas. Mallas de sombreo. Acolchados de plástico negro. Durante el verano en Nueva Jersey Las rosas necesitan mucha luz solar para crecer y florecer adecuadamente. Sin embargo, también es importante protegerlas de la luz solar directa y fuerte durante las horas pico del día para evitar quemaduras en las hojas y los pétalos. Se pueden utilizar mallas de sombra o plantarlas en un lugar donde reciban luz solar indirecta durante las horas más calurosas del día. Mantener un buen riego durante el verano para ayudar a las rosas a manejar el calor y la luz solar intensa. En New Jersey, durante la estación de invierno: La luz natural puede ser limitada debido a los días más cortos. Para las flores que se cultivan en invernaderos durante este tiempo, se pueden utilizar luces de crecimiento artificiales para complementar la luz solar natural. Estas luces pueden ser de varios tipos, como luces fluorescentes, luces de descarga de alta intensidad (HID), o luces de diodos emisores de luz (LED). Pueden ayudar a mantener la fotosíntesis y el crecimiento de las plantas durante los meses de invierno cuando la luz natural es escasa. Además, es importante tener en cuenta las necesidades específicas de cada tipo de flor, ya que algunas pueden requerir más luz que otras. Por ejemplo en invierno en Nueva Jersey, para las rosas en invernaderos, se usan luces artificiales como fluorescentes, HID o LED para complementar la luz solar limitada y mantener la fotosíntesis y el crecimiento. En la primavera en Nueva Jersey Las flores en general se benefician de un aumento en la luz solar debido a los días más largos. 17 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos En días nublados o lluviosos, se pueden usar luces artificiales como fluorescentes, HID o LED en los invernaderos para asegurar suficiente luz para la fotosíntesis y el crecimiento. Podemos usar sombra parcial, mallas de sombra o plantas más altas para proporcionar sombra. En el otoño en Nueva Jersey, a medida que los días se acortan 3.2.4 Las flores pueden necesitar luz adicional para mantener la fotosíntesis y el crecimiento. En los invernaderos, se pueden usar luces artificiales como fluorescentes, HID o LED para complementar la luz solar decreciente. PH AGUA DE RIEGO Antes de comprender los niveles de pH en los que debe ubicarse nuestro sistema, es vital discernir qué tipo de parámetro vamos a inspeccionar y por qué. El pH es una cuantificación de la acidez o alcalinidad de una solución, y su escala oscila de 0 a 14. El pH denota la concentración de iones de hidrógeno [H]+ presentes en ciertas sustancias. Se puede calcular con precisión utilizando un sensor que mide la diferencia de potencial entre dos electrodos: un electrodo de referencia (plata / cloruro de plata) y un electrodo de vidrio que es sensible al ión de hidrógeno. Esto es lo que constituirá la sonda. Además, es necesario emplear un circuito electrónico para acondicionar la señal de manera correcta. Hablaremos de este sensor en detalle más adelante. Por ahora, nos interesa entender que las necesidades de pH de una planta varían si se cultiva en el suelo o en cultivos hidropónicos, por lo que es importante adaptar su nivel de pH a su método de crecimiento. Establecer un rango de valores de pH toma importancia especialmente para la capacidad de absorción de nutrientes del cultivo en cuestión. En cuanto al líquido de irrigación, que sea de excelente calidad es una condición necesaria para la irrigación en experimentos. Por lo general, existen diversas fuentes de agua a disposición, pero los recursos acuáticos pueden ser escasos: agua desionizada (alternativa más segura), agua de precipitaciones, agua de la red pública o de un pozo, y agua superficial de lagos u otras fuentes. (la peor opción). La calidad del agua de las diferentes fuentes varía considerablemente debido a sus concentraciones de iones y contaminaciones con agentes biológicos. La contaminación por patógenos puede estar presente en el agua de precipitaciones y en las fuentes de agua de superficie, por lo que podría requerir un proceso de desinfección. Si el establecimiento cuenta con un sistema de desinfección, el agua de lluvia podría ser una alternativa viable al agua desionizada. El pH del agua de riego es un factor crucial para el crecimiento saludable de las flores. La mayoría de las flores prosperan en un rango de pH de 6,0 a 7,0, que es ligeramente ácido a neutro. Sin embargo, algunas flores pueden preferir un pH más ácido o alcalino. Por ejemplo 18 Eva M Tipantuña Rodríguez Rosas Las rosas generalmente prefieren un pH del suelo que oscile entre 6.0 y 6.5, que es ligeramente ácido. Sistema de monitorización y control para invernaderos Dalias Las dalias prefieren un pH del suelo que varía entre 6,5 y 7,0, que es ligeramente ácido a neutro. Hortensias Las hortensias azules requieren un pH del suelo más ácido alrededor de 5.5, mientras que las hortensias rosadas prefieren un pH más alcalino alrededor de 7.0. Las hortensias prefieren un pH del suelo que oscile entre 5,5 y 6,5, que es ácido a ligeramente ácido. Tabla 4 Capacidad de PH en diferentes flores Para cada una de las flores sí el agua de riego tiene un pH muy alto (alcalino) o muy bajo (ácido), puede afectar la capacidad de las rosas para absorber nutrientes del suelo. Por lo tanto, es importante probar el pH del agua de riego y ajustarlo según sea necesario Es importante probar el pH del agua de riego y ajustarlo según las necesidades específicas de las flores que cultivas. 19 Eva M Tipantuña Rodríguez 3.2.5 Sistema de monitorización y control para invernaderos NIVEL DE AGUA EN DEPOSITO DE SUMINISTRO Para tener una granja o huerto en la ciudad o un invernadero en casa , es importante pensar en un sistema de riego que pueda proporcionar agua al menos durante una semana o más. Esto es útil para no tener que preocuparse constantemente, ya sea por estar ocupado con el trabajo o por irte de vacaciones. Por eso, es práctico usar un sensor que te indique cuánta agua queda en el tanque. Además, se utilizará una bomba de agua sumergible capaz de suministrar agua a todas las plantas. La bomba no puede funcionar sin agua, por lo que es útil conocer cuánta agua queda en el tanque para evitar que la bomba se dañe por cavitación. Un sensor de nivel es un aparato electrónico que determina la cantidad de material, normalmente líquido, dentro de un recipiente. Existen diferentes tipos, como los de punto fijo o medición continua, y los de contacto o sin contacto. Algunos funcionan con ultrasonidos, capacitancia o radar. En este proyecto, se utiliza un sensor de ultrasonidos que es compatible con Arduino. 3.2.6 SISTEMA DE RIEGO Existen varios métodos para la distribución efectiva de agua en la superficie del terreno. Hoy en día, existen diversas formas de riego que simplifican esta tarea, proporcionando el suministro necesario para el óptimo desarrollo de las plantas. Limitando estos métodos, nos enfocamos en los más utilizados en el cultivo en invernaderos. Sistema de riego por goteo: Los sistemas de riego por goteo son beneficiosos y son de los más populares en la actualidad. Son excelentes para la conservación del agua, ya que el volumen de agua puede ser medido y controlado, además de que dirigen el agua directamente al terreno ya las raíces de las plantas. El sistema de riego por goteo se fundamenta en la conducción de agua mediante tubos de PVC que se dividen para alcanzar todos los espacios requeridos del invernadero. La instalación es fácil, cada tubo pequeño está equipado con boquillas individuales para la entrega de agua a cada planta. Además, es posible añadir temporizadores, electroválvulas y sensores como caudalímetros para su automatización. 20 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Ilustración 4Sistema de riego por goteo Gracias al riego por goteo, se impide el crecimiento de malezas y moho y la pérdida de agua. Sin embargo, la desventaja radica en la posibilidad de que los goteros y las boquillas se obstruyan. Ilustración 5 Riego por goteo 21 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Riego por tapete: El riego por tapete se utiliza principalmente cuando las plantas del invernadero están en contenedores o bandejas, como en el caso de los semilleros o plantas jóvenes. El sistema funciona por acción capilar, manteniendo húmedo un tapete grueso, que está instalado sobre una mesa con un extremo anclado en un canal lleno de agua. Las plantas absorben el agua del tapete a través de los agujeros de los contenedores que las albergan. Las principales desventajas de este sistema son, por un lado, que los tapetes con el tiempo se obstruyen con algas, y por otro lado, su uso se limita a plantas de tamaño pequeño. Ilustración 6 Riego por tapete Rocío: Este sistema de riego se coloca por encima de las plantas, de manera que el agua llega a ellas a través de unas delicadas boquillas de los tubos de montaje. La aspersión mantiene los brotes de las plantas húmedas y ayuda a regular la humedad, ya que la fina bruma tiende a evaporarse. Además, contribuye a reducir la temperatura interna del invernadero. Este sistema es perfecto para plantas epífitas y tropicales. Ilustración 7 Riego por Rocío 22 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Sistema de agua de lluvia: Un sistema de agua de lluvia es quizás el sistema de irrigación más adaptable que existe. Un método común es emplear conductos de PVC y barriles para recolectar agua de lluvia. Este es un sistema muy respetuoso con el medio ambiente y que también disminuye los costos. Ilustración 8 Sistema de agua de lluvia l sistema de riego utilizado en este trabajo es el riego por goteo, debido a su capacidad para controlar el flujo de agua necesario para cualquier tipo de cultivo, su facilidad de instalación y su eficiencia en el uso del agua. Aunque el sistema de recolección de agua de lluvia puede ser una opción económica, es importante tener en cuenta que el agua de lluvia puede no ser la más adecuada para los cultivos y se deben controlar los parámetros nutricionales del agua almacenada, como el pH. Lo más relevante no es el tipo de sistema de riego utilizado, sino cómo se activa. El usuario final puede elegir el sistema más adecuado para su cultivo, siempre que permita controlar la activación y desactivación del sistema de riego en función de ciertos parámetros que automatizarán el proceso. La activación del riego puede hacerse manual o automáticamente, y esta selección se puede hacer de forma remota a través de un servidor web. El objetivo es automatizar y facilitar el sistema de riego, que también podría utilizarse para tareas de fertilización y tratamientos fitosanitarios, incluyendo estos en la disolución del agua. 23 Eva M Tipantuña Rodríguez 3.2.7 Sistema de monitorización y control para invernaderos SISTEMA DE VENTILACION En un invernadero, puede ocurrir un sobrecalentamiento debido a que la radiación infrarroja emitida por los cultivos queda atrapada. Para combatir esto, se propone un sistema de ventilación que reemplace el aire caliente interior (en la parte superior) con una masa de aire más frío del exterior. Esto permite evacuar gran parte del exceso de calor, reduciendo la temperatura y modificando la concentración de gases y la humedad. Existen dos opciones de ventilación: natural y mecánica activa. La ventilación natural ofrece poco control sobre las condiciones climáticas dentro del invernadero, mientras que la ventilación mecánica activa sí lo permite. Ambas opciones tienen sus ventajas y desventajas. TIPO VENTILACIÓN Natural DE DESCRIPCIÓN VENTAJAS DESVENTAJAS Extracción e ingreso de aire a través de aberturas con malla. Coste bajo de instalación y mantenimiento Baja capacidad de controlar y determinar las condiciones climáticas internas No necesita electricidad Activa (Mecánica simple + mecánica húmeda) Extracción de aire mediante ventiladores electromecánicos Admisión de aire mediante ventilador y paneles húmedos Control de las condiciones climáticas internas Mejores resultados anuales sin dependencia de condiciones externas Alta dependencia de las condiciones climáticas externas Mayores costos en comparación con la ventilación natural Dependencia del suministro de electricidad Tabla 5 Tipos de ventilación con sus ventajas y desventajas 24 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Ventilación natural En la ventilación natural, el aire caliente dentro del invernadero sube y sale al exterior a través de dos aberturas en la cubierta, mientras que el aire fresco entra a través de dos aberturas en la parte inferior de las fachadas laterales. Esto crea un flujo de aire que cubre todo el interior. Este tipo de ventilación requiere grandes aberturas, entre el 15% y el 25% de la superficie de la cubierta, y no permite controlar la velocidad del aire en las plantas. Existen tecnologías, como los circuladores de aire, que pueden aumentar el flujo de aire interno y mejorar los resultados, aunque estos están influenciados por las condiciones climáticas externas y la ubicación geográfica de los cultivos. Ventilación mecánica simple La ventilación mecánica implica la renovación del aire mediante ventiladores electromecánicos instalados en la cubierta o en la parte alta de un lateral del invernadero, con entradas de aire en la parte baja de la pared opuesta. Este sistema mantiene la temperatura interior al nivel de la temperatura exterior. Los ventiladores se distribuyen a lo largo del invernadero, separados entre 7 y 10 metros. Los ventiladores laterales tienen persianas por gravedad para evitar corrientes contrarias cuando no están en uso. Se utilizan rejas para proteger las entradas de aire de pájaros o roedores, y deflectores si el aire exterior que entra impacta directamente en los cultivos más cercanos. Ventilación mecánica húmeda El sistema de ventilación mecánica húmeda funciona saturando de humedad el aire de entrada al pasar por paneles de gran tamaño hechos de un material fibroso empapado en agua. Si el invernadero es muy ancho, se deben usar ventiladores de techo y entradas de aire con paneles húmedos en ambos lados del edificio. Este sistema renueva el aire, altera el nivel de humedad interior y enfría el ambiente. Cuanto más seco sea el aire exterior introducido, mayor será el grado de enfriamiento. Ventilación activa Este sistema puede considerarse como una combinación de ventilación mecánica simple y húmeda. La ventilación en los invernaderos es esencial y tiene un impacto significativo en los resultados de los cultivos. Los aumentos en los niveles de temperatura y humedad pueden dañar el rendimiento y afectar la calidad de los cultivos. El sistema de ventilación activa permite lograr condiciones climáticas internas ideales, lo que resulta en un mayor rendimiento y calidad del cultivo. En este proyecto, se ha optado por implementar un sistema de ventilación mecánica simple, con un solo ventilador colocado en la parte superior del invernadero para extraer el aire caliente acumulado cuando la temperatura y la humedad aumentan considerablemente. Sin embargo, al igual que con la selección del sistema de riego, se deja abierta la posibilidad de modificar el sistema de ventilación, posiblemente 25 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos incluyendo un sistema de ventilación activado para un control más completo del ambiente dentro del invernadero. 3.3 RESUMEN 3.3.1. LIMITES A modo resumen, se recogen en una tabla los límites establecidos de los parámetros a controlar. En la última columna se detallan las alertas que se mostrarán al usuario final. PARÁMETROS ÓPTIMOS MÍNIMO ADMISIBLE 10 ºC MÁXIMO ADMISIBLE 35 ºC Temperatura (Tª en ºC) 16 – 26 ºC Humedad Relativa (%HR) 65 – 75 %HR 55 % HR 85 % HR Humedad de tierra (en %) 26 – 45 % 25 % 46 % Luminosidad (en %) pH de agua de riego 30 -60 % (Media) 5 - 6 pH 60 % (Baja) 30 % (Alta) 5 pH 6,5 pH Nivel de agua en depósito de suministro (%) 20 - 95 % 15 % 95 % ALERTAS Helada (0ºC) Tª Baja (10ºC) Tª Alta (35ºC) HR Baja (55%HR) HR Alta (85%HR) Suelo seco (25%) Suelo humedo (46%) No se alertará Agua ácida (pH 5) Agua básica (pH 6,5) Nivel de agua crítico. Peligro bomba (15%) Peligro desborde en depósito (95%) Tabla 6 Resumen límites de cultivo y alertas Los parámetros de luminosidad y humedad del suelo se convierten de una escala de 0 a 4095 a una escala porcentual (de 0 a 100). Se establecen porcentajes para los niveles analíticos de proceso, luminosidad (alta, media o baja) y humedad del suelo (ideal, seco o húmedo). Es importante destacar que la escala de luminosidad es inversa, por lo que un nivel alto indica una luminosidad baja. 26 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 3.3.2. PROCESO Una vez establecidos los límites de regulación, se propone una solución de intervención para ajustar los parámetros del cultivo. Para ello se toman decisiones sobre la intervención del riego y la ventilación del invernadero. Para el control de la humedad del suelo, actuarem os activando el riego siempre que no tengamos una humedad suficientemente elevada. En la práctica, este sistema puede provocar que el riego se active en momentos no óptimos como por ejemplo, mediodía, momento en el que el sol irradia con más intensidad generando más temperatura en el invernadero. Para irrigar el cultivo con eficacia, el mejor instante del día es al anochecer, ya que la temperatura disminuye y por lo tanto la evaporación del agua aportada al suelo se reducirá considerablemente hasta el día siguiente. Por lo tanto, dará más tiempo a que las raíces de las plantas se hidraten bien y retengan el agua con mayor eficacia para cuando salga de nuevo el sol y se eleve la temperatura. Teniendo en cuenta este efecto, incorporamos un sensor que nos informa de las condiciones lumínicas del invernadero. Tomando esto como base, el riego se activará siempre que haya una humedad menor a la deseada y la luz incidente sea “baja”, con baja quedan contempladas prácticamente todas las horas del día menos las centradas en torno a mediodía, cuando la luz incidente es considerablemente mayor. Como medida adicional, tendremos en cuenta que la bomba de agua no puede funcionar en vacío, por lo que aseguraremos que el riego se active únicamente si hay agua suficiente en el depósito de suministro. 27 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Ilustración 9Diagrama de flujo del proceso del sistema de Riego Automático El sistema de ventilación se adaptará a las condiciones climáticas nocturnas y diurnas. Si la luminosidad es baja, se activará el control nocturno, y si es alta, el control diurno. 28 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos El límite de humedad relativa será el mismo en ambos casos (75%HR), pero los límites de temperatura ambiente variarán. Tanto en condiciones diurnas como nocturnas, el ventilador se activará si la temperatura y la humedad ambiente aumentan considerablemente. Ilustración 10 Diagrama de flujo del proceso del Sistema de Ventilación Automática 29 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 3.3.3. NIVELES DE ALERTAS Las alertas se clasificarán por niveles y se mostrarán al usuario final a través de un menú en el display local y en una lista en la página web. Debido a las limitaciones del servidor gratuito que se utiliza, solo se puede enviar una alerta a la vez. Si ocurren varias alarmas al tiempo, solo se enviará la primera generada. Este problema se podría solucionar ampliando el servidor para más conexiones. Por lo tanto, se priorizarán las alertas más importantes en la clasificación. Ilustración 11Diagrama de flujo de proceso del Sistema de Alarma 30 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 4. HARDWARE 4.1 COMPONENTES NECESARIOS El sistema de riego de rosas puede incluir varios componentes de hardware, dependiendo de la complejidad del sistema. Aquí hay algunos ejemplos: 1. Tubos de riego: Estos son los conductos principales que transportan el agua desde la fuente hasta las rosas. 2. Aspersores: Estos dispositivos dispersan el agua en un patrón amplio, y son útiles para regar grandes áreas de rosas a la vez. 3. Goteadores: Estos liberan agua lentamente en puntos específicos, lo que es útil para el riego directo de rosas individuales. 4. Válvulas de control: Estas permiten el control del flujo de agua, permitiendo que el sistema de riego se encienda y apague según sea necesario. 5. Controladores de riego: Estos son dispositivos electrónicos que permiten programar el riego para que se realice automáticamente en momentos específicos. 6. Sensores de humedad: Estos sensores pueden medir la humedad del suelo y ajustar el riego en consecuencia para evitar el riego excesivo o insuficiente. 7. Bombas de agua: Si el sistema de riego requiere un aumento de presión o necesita mover agua desde una fuente distante, se puede utilizar una bomba. 8. Filtros: Estos se utilizan para eliminar las partículas y los sedimentos del agua antes de que llegue a las rosas, para evitar obstrucciones en el sistema y daños a las rosas. Estos son solo algunos ejemplos de los componentes de hardware que podrías encontrar en un sistema de riego de rosas. El hardware específico utilizado puede variar dependiendo de las necesidades específicas de tus rosas. Velocidad del CPU o ritmo de reloj: Se refiere a la rapidez con la que se ejecuta una orden, escrita en lenguaje de máquina proveniente de un software. Esto significa que cuanto más veloz sea el CPU, más órdenes realizará por segundo. La velocidad de los microprocesadores se mide en decenas de MHz, mientras que en un SoC se mide en cientos de MHz o en unos pocos GHz. Si el proyecto no requiere mucha capacidad de cálculo, será suficiente con un microcontrolador, sin embargo, si se deben manejar grandes volúmenes de datos, como implica el procesamiento de un video en tiempo real, deberíamos usar una plataforma SoC. La ventaja de un SoC es que puede ofrecer mucha potencia de procesamiento en un espacio muy pequeño, lo que lo hace ideal para dispositivos móviles y otros sistemas electrónicos compactos. Además, como todos los componentes están en un solo chip, 31 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos pueden trabajar juntos de manera más eficiente, lo que puede mejorar el rendimiento y reducir el consumo de energía. Un ejemplo de uso de una plataforma SoC podría ser en un proyecto de invernadero automatizado, donde se necesite procesar grandes cantidades de datos, como el monitoreo en tiempo real de las condiciones del invernadero y la automatización de los sistemas de riego y climatización. RAM La memoria RAM en un sistema de riego de flores nos ayudaría en varias formas. En un sistema de riego automatizado, la RAM necesitaría almacenar temporalmente datos relevantes para el funcionamiento del sistema. Por ejemplo, necesitaríamos guardar información sobre los niveles actuales de humedad del suelo, la temperatura, la luz solar y otros factores ambientales que podrían afectar las necesidades de riego de las flores. Además, si nuestro sistema de riego está programado para seguir un horario específico o para ajustarse en base a ciertas condiciones, la RAM necesitaría almacenar estos programas y ajustes. También necesitaríamos suficiente RAM para ejecutar cualquier software o firmware que controle el sistema de riego. En resumen, necesitamos la memoria RAM para almacenar y procesar información en tiempo real, lo que nos permite tener un sistema de riego eficiente y reactivo. REDES Con IoT, puedes monitorear y controlar tu sistema de riego de flores de forma remota a través de una aplicación en tu smartphone o computadora. Esto te permite hacer ajustes según sea necesario, incluso cuando no estás físicamente presente. En resumen, el IoT puede hacer que el sistema de riego de flores sea más inteligente y eficiente, ahorrando agua, mejorando la salud de las plantas y facilitando el cuidado de las flores. Los sensores se conectarían a la red a través de Wi-Fi o cualquier otra tecnología de conectividad inalámbrica. Necesitarías asegurarte de que tu jardín esté dentro del alcance de la red. Los datos recogidos por los sensores se enviarían a un sistema centralizado, como un servidor o una nube, donde se procesarían y analizarían. GASTO ENERGETICO Arduino puede variar dependiendo de varios factores, incluyendo el tipo de sensores y actuadores utilizados, la frecuencia con la que se riegan las plantas, y la cantidad de tiempo que el sistema está en funcionamiento. 32 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos En términos generales, un sistema de riego de Arduino puede ser bastante eficiente en términos de energía. Arduino en sí mismo consume muy poca energía. Sin embargo, los componentes adicionales del sistema, como los sensores de humedad del suelo, los sensores de luz, las bombas de agua y otros actuadores, pueden aumentar el consumo de energía. CIRCUITOS Y OTROS COMPONENTES El dispositivo que estás buscando parece ser un microcontrolador o una placa SoC (Sistema en un Chip) que tiene capacidades de conectividad a Internet, así como la capacidad de interactuar con sensores y actuadores. Estos dispositivos recogen datos de su entorno, muestran los datos recogidos y actúan de acuerdo con una lógica de control definida. Para conectar el circuito, necesitarás utilizar algún tipo de bus periférico, como SPI (Interfaz Periférica Serial) o I2C (Inter-Integrated Circuit). Estos son protocolos de comunicación que permiten la transferencia de datos entre el microcontrolador y otros componentes, como sensores y actuadores. Además, el dispositivo debe ser capaz de leer y/o escribir datos digitales y analógicos. Los datos digitales pueden ser manejados a través de GPIOs (General Purpose Input/Output) para entradas y salidas On/Off. Los datos analógicos, por otro lado, pueden ser manejados a través de DACs (Convertidores Digital a Analógico) y CADs (Convertidores Analógico a Digital) para entradas y salidas de voltaje variable. Hay muchos microcontroladores y placas SoC en el mercado que ofrecen diferentes combinaciones de estas interfaces. Un ejemplo es el ESP32 que mencionaste anteriormente, que tiene capacidades de Wi-Fi y Bluetooth. Un DAC, o Convertidor Digital a Analógico, es un dispositivo que transforma una señal digital (usualmente binaria) en una señal analógica (normalmente voltaje o corriente). En otras palabras, toma valores discretos y los convierte en una señal continua. Esto es útil en muchas aplicaciones, como la generación de señales de audio en un sistema de sonido. Por otro lado, un CAD, o Convertidor Analógico a Digital, realiza la operación opuesta. Toma una señal analógica, como una señal de audio o video, y la convierte en una forma digital que puede ser procesada por un microcontrolador o un sistema en un chip (SoC). Esto es esencial para cualquier sistema que necesite procesar información del mundo real, ya que la mayoría de los datos del mundo real son analógicos. En el contexto de un microcontrolador o una placa SoC, los DACs y CADs son fundamentales para interactuar con el mundo exterior. Los CADs permiten al dispositivo leer datos del mundo real, como la temperatura o la luz, mientras que los DACs permiten al 33 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos dispositivo generar señales que pueden interactuar con el mundo real, como generar una señal de audio. 4.1.1 ARDUINO UNO Utilizando un Arduino Uno Sensores de humedad del suelo Estos sensores se insertan en el suelo y pueden medir la cantidad de agua en el suelo. Normalmente, estos sensores utilizan dos sondas para pasar corriente a través del suelo y luego leen la resistencia para obtener una medida de la humedad. Conexión del sensor al Arduino : Los sensores de humedad del suelo tienen generalmente tres pines: VCC (alimentación), GND (tierra) y SIG (señal). VCC se conecta a 5V en el Arduino, GND a uno de los pines GND del Arduino, y SIG a una entrada analógica en el Arduino, por ejemplo, A0. Programación del Arduino: Necesitarás escribir un programa (un "sketch" en la terminología de Arduino) que lea la entrada analógica a la que has conectado el sensor. El Arduino puede leer un valor de 0 a 1023 de sus entradas analógicas, y puedes programarlo para que cuando el valor leído caiga por debajo de un cierto umbral (indicando que el suelo está demasiado seco), active una salida digital. Conexión de la bomba de agua al Arduino: La bomba de agua se puede conectar a una salida digital del Arduino, por ejemplo, el pin D13. Sin embargo, como las bombas de agua suelen requerir más corriente de la que puede suministrar un pin de Arduino, es posible que necesites usar un transistor o un relé para activar la bomba. Activación y desactivación de la bomba de agua: En tu programa, cuando la lectura del sensor de humedad caiga por debajo del umbral que has establecido, puedes escribir un valor HIGH en la salida digital a la que has conectado la bomba, lo que la activará. Cuando la lectura del sensor suba por encima del umbral, puedes escribir un valor LOW en la salida digital, lo que desactivará la bomba. Espero que esto te dé una idea más clara de cómo puedes usar un Arduino Uno para automatizar un sistema de riego. Por supuesto, este es sólo un ejemplo básico y hay muchas otras maneras en las que podrías configurar y programar tu sistema. // Definir los pines const int sensorPin = A0; // El sensor de humedad del suelo está conectado al pin A0 const int relayPin = 13; // El relé está conectado al pin digital 13 // Definir el umbral de humedad const int umbral = 300; 34 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos void setup() { pinMode(sensorPin, INPUT); // Configura el pin del sensor como entrada pinMode(relayPin, OUTPUT); // Configura el pin del relé como salida digitalWrite(relayPin, HIGH); // Inicialmente, la bomba está apagada } void loop() { int valorSensor = analogRead(sensorPin); // Lee el valor del sensor if (valorSensor < umbral) { digitalWrite(relayPin, LOW); // Si el suelo está seco, enciende la bomba } else { digitalWrite(relayPin, HIGH); // Si el suelo está húmedo, apaga la bomba } delay(1000); // Espera un segundo antes de la próxima lectura } 4.1.2. SENSÓRICA 4.1.2.1. SENSOR TEMPERATURA Y HUMEDAD Para el control de la temperatura y humedad relativa encontramos los sensores DHT11 y DHT22. Para el prototipo se eligió este tipo de sensor por la sencilla razón de que con un único sensor se puede medir temperatura y humedad. Una particularidad de estos sensores es que la señal de salida es digital, por lo tanto, lo tendremos que conectar a pines digitales. Ilustración 14 - Sensores DHT22 y DHT11. Llevan un pequeño microcontrolador interno para hacer el tratamiento de señal. Los DHT11 y 22 se componen de un sensor capacitivo para medir la humedad y de un termistor para medir temperatura. La principal diferencia entre ambos es que el ciclo de operación es menor en el DHT11 que en el DHT22, y que el DHT22 tiene rangos de medida más amplios y mayor resolución. La diferencia en precio es pequeña, algo más caro el DHT22, pero merece la pena decantarse por éste. Ambos sensores están calibrados en laboratorio y tienen una buena fiabilidad. Esto supone una gran ventaja, ya que simplifican las conexiones a realizar en la placa. En el mercado existen tres tipos de encapsulado: 35 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos - El sensor suelto, con un encapsulado azul y cuatro pines disponibles para conectar. (Será necesario añadir la resistencia pull-up). - El sensor con una placa soldada, con tres pines disponibles para conectar y una resistencia pull-up (normalmente de 4,7-10 kΩ). - El mismo formato que el anterior, pero con un condensador de filtrado (normalmente de 100 nF). La captación de los valores de temperatura y humedad en el prototipo de invernadero realizado se ha hecho escogiendo el sensor. Ilustración 12Sensores DHT22 y DHT11. El DHT11 es un sensor de temperatura y humedad comúnmente utilizado. Aquí están sus principales parámetros: 1. Voltaje de funcionamiento: de 3.3 a 5V DC 2. Corriente de funcionamiento: Máximo de 2.5mA durante la transferencia de datos. 3. Rango de humedad: del 20 al 80% con una precisión del 5%. 4. Rango de temperatura: de 0 a 50°C con una precisión de ±2°C. 5. Tasa de muestreo: una vez cada segundo. Por favor, ten en cuenta que el sensor DHT11 no es muy preciso y su respuesta es lenta. Si necesitas más precisión, podrías considerar usar el sensor DHT22 en su lugar. 36 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Tabla 7 Parámetros de los sensores DHT11 DHT22 4.1.2.2 HIGROMETRO Al explorar opciones para medir la humedad del suelo en un terreno de cultivo, nos topamos con el higrómetro YL-69, un dispositivo económico y compatible con Arduino. Este sensor puede determinar la humedad del suelo al aplicar una tensión mínima entre sus terminales. La corriente que fluye entre estos terminales se basa en la resistencia que el suelo genera, que a su vez está influenciada por la humedad. La sonda YL-69 recibe energía a través de dos cables desde el módulo YL-38. Este módulo incorpora un comparador LM393, un LED de encendido y otro para la activación de la salida digital. Cuenta con cuatro pines: alimentación (VCC), tierra (GND), salida digital (D0) y salida analógica (AO). La salida analógica ofrece un valor de voltaje basado en el nivel de humedad, mientras que la salida digital cambia de estado bajo a alto cuando se alcanza el nivel de humedad ajustado por el potenciómetro. Los datos obtenidos se basan en las referencias [19, 20]. Especificaciones: • Voltaje de entrada: 3.3 - 5 V • Voltaje de salida: 0 – 4.2 V • Corriente máxima (Imáx): 35 mA • Tamaño YL-69: 60 x 30 mm • Tamaño YL-38: 30 x 16 mm • Salida analógica (A0): Proporciona un voltaje en relación con la humedad. 37 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos • Salida digital (D0): Permite ajustar el nivel lógico de la salida a través del potenciómetro. El módulo humedad v2.0 opera de manera simple. Al aplicar una tensión mínima entre los terminales del dispositivo, se genera una corriente que varía en función de la resistencia creada en el terreno, la cual está altamente influenciada por la humedad. Conforme la humedad se incrementa o disminuye, la corriente hace lo mismo, siendo 0 equivalente a humedad total (como si estuviera sumergido en agua) y el valor máximo de la escala corresponde a un suelo extremadamente seco (o en el aire). La escala se determina por el ADC de nuestro controlador, en nuestro caso, será una escala de 0 a 4095, dado que el ADC que el ESP32 ofrece es de 12 bits, como vimos anteriormente. Si se utiliza un ESP8266, el ADC es de 10 bits, lo que nos da una escala de valores de 0 a 1023. Además, un suelo moderadamente húmedo proporcionaría valores típicos de 2400-2800, mientras que un suelo seco tendría valores de 3200-4095. Para evitar trabajar directamente con esta escala, se sugiere una conversión a una escala de 0 a 100, para operar en una lógica de control basada en un porcentaje de humedad. 4.1.2.3 LDR FOTORRESISTENCIA Funcionamiento de un fotoresistor LDR? De manera matemática, la correlación entre la iluminancia y la resistencia de una LDR se rige por una función de potencia. Donde R0 es la resistencia a una intensidad I0, ambas conocidas. La constante gamma es la inclinación de la gráfica logarítmica, o la disminución de resistencia por década. Su valor suele oscilar entre 0.5 y 0.8.. Para regular la cantidad de luz en un prototipo de invernadero, se emplea una fotocélula o resistencia dependiente de la luz (LDR). Esta fotocélula funciona como una resistencia variable que ajusta su valor en respuesta a la intensidad de luz que recibe. La valoración entre la resistencia de la LDR y el nivel de luz se puede describir a través de una ecuación matemática específica. 𝑅𝐿 = 𝑅0 L0 L 𝛼 Donde L es la iluminación (en lux), α es una constante que depende del material y RL y R0 son las resistencias a los niveles L y L0, respectivamente. Estos valores pueden ser obtenidos del datasheet del componente. Por ejemplo, para la familia GL55 de fotorresistores son los siguientes: 38 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Modelo Pico espectral (nm) Resistencia luz brillante (KΩ) Resistencia oscuridad (KΩ) gamma Tiempo respuesta (ms) GL5516 540 5-10 500 0.5 30 GL5528 540 10-20 1000 0.6 25 GL5537-1 540 20-30 2000 0.6 25 GL5537-2 540 30-50 3000 0.7 25 GL5539 540 50-100 5000 0.8 25 GL5549 540 100-200 10000 0.9 25 Tabla 8 Ejemplo de valores de la familia GL55 de fotorresistores Sin embargo, siempre existirán pequeñas variaciones entre dispositivos, incluso dentro de la misma familia, debidos a la fabricación del componente. El comportamiento potencial hace que estas pequeñas diferencias supongan grandes variaciones en la medición, por lo que no es posible, en general, emplear estos valores de forma absoluta sin un proceso de calibración. Esquema eléctrico El esquema eléctrico sería el siguiente. Ilustración 13Esquema Fotorresistencia LDR 39 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Montaje Por su parte, el montaje eléctrico en una protoboard quedaría de la siguiente manera. Ilustración 14 Conexión en Arduino Código Usamos las entradas digitales para hacer parpadear el LED integrado en la placa mientras el LDR recibe luz suficiente. const int LEDPin = 13; const int LDRPin = 2; void setup() { pinMode(LEDPin, OUTPUT); pinMode(LDRPin, INPUT); } void loop() { int value = digitalRead(LDRPin); if (value == HIGH) { digitalWrite(LEDPin, HIGH); delay(50); 40 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos digitalWrite(LEDPin, LOW); delay(50); } } = 13; const int LDRPin = A0; const int threshold = 100; void setup() { pinMode(LEDPin, OUTPUT); pinMode(LDRPin, INPUT); } void loop() { int input = analogRead(LDRPin); if (input > threshold) { digitalWrite(LEDPin, HIGH); } else { digitalWrite(LEDPin, LOW); } } Observar que los cálculos se realizan con aritmética de enteros, evitando emplear números de coma flotante, dado que ralentizan mucho la ejecución del código. 4.1.2.4 SENSOR DE PH El pH del agua es un factor crítico en cualquier sistema de riego, incluyendo los sistemas automáticos. Aquí te explico por qué: El pH del agua puede afectar la disponibilidad y absorción de nutrientes en el suelo. Si el pH es demasiado alto o demasiado bajo, ciertos nutrientes pueden volverse menos accesibles para las plantas, lo que puede afectar su crecimiento y salud. La salud de las plantas también puede verse afectada por un pH inadecuado. Esto puede causar estrés en las plantas, lo que puede hacerlas más susceptibles a enfermedades y plagas. En un sistema de riego automático, un pH incorrecto puede causar problemas con la infraestructura del sistema. Por ejemplo, un pH muy bajo (ácido) puede corroer los componentes metálicos del sistema de riego. Por lo tanto, es importante monitorear y ajustar el pH del agua en un sistema de riego automático para asegurar la salud de las plantas y la eficiencia del sistema. El sensor de es un dispositivo utilizado para medir el pH de una solución. Algunas de sus características técnicas incluyen: 41 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Voltaje de Alimentación: 5VDc +/- 0.2V Corriente: 5 a 10mA Rango de PH: 0 a 14 Rango de temperatura: 0 a 80°C Tiempo de Respuesta: 5seg Tiempo de estabilización: 60Sg Temperatura de trabajo: 10 a 50ªC Ideal 20ºC Humedad de trabajo: 95 RH sin condensación Dimensiones de la tarjeta: 42.5 X 32.6 X 20 mm Mediciones: Temperatura y PH Disposición de los pines To: Salida Analógica de Temperatura. Do: Salida Digital de PH limite. Po: Salida Analógica de PH. G: Tierra Vcc: 5V Incluye juego de 4 tornillos, 3 tuercas y 2 arandelas. Ilustración 15 Medidor PH Monitoreo de la calidad del agua: con un sensor de pH y una placa Arduino, puedes supervisar y regular el pH del agua de forma automatizada, enviando alertas cuando el pH llegue a niveles riesgosos o inapropiados Cultivo de vegetales: con un sensor de pH y una placa Arduino, puedes supervisar y regular el pH del suelo, ajustando automáticamente el riego o la fertilización según sea necesario para mantener el pH en un nivel ideal para el crecimiento de las plantas Investigación científica: los sensores de pH son extremadamente útiles en la investigación científica para medir y controlar el pH de soluciones y reactivos Con un sensor de pH y una 42 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos placa Arduino, puedes automatizar y supervisar el pH de manera precisa y constante durante experimentos científicos Trabajar con sensores de pH en proyectos de Arduino presenta ciertos retos y aspectos a considerar Algunos de estos retos incluyen: Calibración: es crucial calibrar el sensor de pH de manera regular Sustancia pH Aproximado Jugo de limón 2,4 – 2,6 Coca cola 2,5 Vinagre 2,5 – 2,9 Zumo de naranja o manzana 3,5 3,5 Cerveza 4,5 Café 5,0 Té 5,5 Leche 6,5 Agua 7,0 . Tabla 9 Ejemplos de Niveles de pH de algunas sustancias Antes de iniciar las mediciones, es esencial calibrar el sensor. En el circuito presentado, se identifican dos controles: uno cercano al conector BNC de la sonda, que ajusta el desplazamiento, y otro que establece el límite de pH. 43 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 4.1.3. ACTUADORES En esta sección se describirán los sistemas que permitirán manejar las condiciones ambientales dentro del invernadero, interactuando directamente con él. Se detallarán los dispositivos utilizados en el prototipo para los sistemas de riego y ventilación. 4.1.3.1. BOMBA DE AGUA PARA RIEGO El prototipo diseñado cuenta con un sistema de riego por goteo accionado por una bomba de agua sumergible de 12 V DC sin escobillas. La función de la bomba es succionar agua de un depósito y conducirla hacia las plantas a través de un tubo, utilizando su potencia eléctrica. La bomba elegida tiene las siguientes características : Marca: LEDGLE Material: ABS Voltaje: DC 12V Tasa de energía: 4.8W Resistencia al agua: IP68 a prueba de agua Consumo: 400mA Altura máxima de elevación: 3 m Flujo máximo: 240L / H Diámetro de entrada / salida: 8 mm Volumen de ruido: ≦ 40dB Temperatura máxima del agua: 60°C Dimensiones del producto: 5,5 x 3,4 x 4,1 cm ; 68 g Longitud del cable 17.7 '' / 45cm Referencia del fabricante: 10L5AL24488TJTSPOF1BKW755 Ilustración 16 Bomba de Agua para riego Para asegurar el funcionamiento óptimo de la bomba de riego por goteo del prototipo, es crucial que opere sumergida y evitar su funcionamiento en seco para prevenir daños por cavitación. La lógica de control está programada para detener el riego si el nivel del depósito cae por debajo del 15% de su capacidad, con un sistema de alarmas para alertar sobre esta situación. Se utiliza un módulo para activar la bomba según la lógica de control. Este sistema se ha seleccionado pensando en su aplicabilidad a invernaderos más grandes, donde se requeriría una bomba de mayor potencia para abastecer áreas más extensas. 44 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 4.1.3.2. VENTILADOR PARA EXTRACCION DE AIRE El ventilador del prototipo utiliza un motor eléctrico que, al girar, mueve sus aspas y acelera las moléculas de aire, incrementando su energía cinética sin alterar significativamente su volumen. Por esta razón, se clasifican como máquinas hidráulicas en vez de turbomáquinas. Los ventiladores son comunes en electrónica para enfriar componentes, como en computadoras, y en la industria se usan para controlar la temperatura, así como en sistemas de aire acondicionado, extracción de gases y humos, refrigeración y maquinaria. Se presentarán las especificaciones del ventilador utilizado en el prototipo. Tamaño: 40X40X10mm Conector: 2pin(2.0mm) Voltaje de operación: 12V DC Corriente de operación: 0.11±0.02 A Velocidad de operación: 6500 ±10%rpm Flujo de aire: 9.8CFM Ruido: 15±10%dBA Largo del cable: 13cm Peso: 14g Ilustración 17 Ventilador 12V DC. Se contempla la posibilidad de instalar un ventilador de mayor calidad en el futuro, similar a la bomba de agua, para facilitar la expansión del invernadero. Además, se planea agregar un ventilador adicional en la parte baja del invernadero para introducir aire del exterior, con el objetivo de mejorar el control de la climatización y establecer un sistema de ventilación activado. 45 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 4.1.4. OTROS COMPONENTES 4.1.4.1. DISPLAY I2C LCD En proyectos con Arduino, es común usar pantallas LCD para monitorear datos debido a su bajo costo, eficiencia energética y variedad de tamaños. Sin embargo, requieren muchos pines para conectarse, lo cual se soluciona con el adaptador Serial I2C PCF8574. Este adaptador permite transformar pantallas LCD estándar de 16x2 o 20x4 caracteres en una versión serial que se conecta al ESP32 usando solo dos pines digitales (SDA y SCL) del bus I2C. También es posible adquirir pantallas que ya vienen con el adaptador incorporado, lo que evita errores de soldadura. Ilustración 18Adaptador de pantalla LCD y Display LCD I2C A continuación se muestran las características del adaptador pantalla LCD 16×2 serial I2C PCF8574: Basado en el expansor I/O PCF8574. Solamente 4 lineas en total (incluyendo alimentación) para conectar una pantalla al microcontrolador. Soporta múltiples dispositivos en el mismo bus I2C. Jumpers soldables para selección de dirección en el bus I2C, pueden coexistir varios de estos módulos en el mismo bus I2C. Compatible con pantalla LCD 16×2 o 20×4. Utiliza el protocolo I2C, por lo que puede compartir el bus con otros dispositivos. Se pueden colocar varias pantallas en el mismo bus. Control de la iluminación del display por software y hardware (jumper). Librería dispone para arduino que facilita el uso de este dispositivo. 46 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 4.2. VISIÓN GLOBAL DEL SISTEMA A continuación se recopila a modo resumen todo el hardware empleado para el prototipo del proyecto diseñado Ilustración 19 Visión global del sistema ESP32: Como controlador principal del sistema Sensórica: Uso de 5 sensores para la lectura de parámetros del sistema (DHT22, YL69, LDR, Ultrasonidos y Sensor de PH) Sistema de actuación: Gracias a un módulo de dos relés accedemos a los actuadores (bomba de agua y ventilador) Sistema de alimentación: Compuesto por dos placas solares, un acumulador y un regulador de descarga. Información del sistema: El usuario podrá acceder a la información recogida localmente mediante el Display LCD I2C y remotamente mediante un ordenador, portátil, móvil o Tablet. 47 Eva M Tipantuña Rodríguez 5. Sistema de monitorización y control para invernaderos CONECTIVIDAD 5.1. CONECTIVIDAD WIFI Antes de trabajar con WiFi en un proyecto, es crucial comprender el módulo de comunicación y sus protocolos de conexión a Internet, lo cual puede ser complejo y causar dificultades, especialmente si no se está familiarizado con los protocolos o los fundamentos de Internet. Esta etapa requiere una investigación y desarrollo exhaustivos y puede ser desafiante. Además, es esencial evaluar y verificar la información obtenida de Internet y libros con cuidado, ya que las búsquedas pueden arrojar múltiples respuestas que no siempre son claras, concisas o correctas. 5.1.1. COMUNICACIONES POR INTERNET Este apartado ofrece un resumen de los conceptos fundamentales de la comunicación en Internet. Para profundizar en el entendimiento de estos temas, se sugiere la lectura del libro "Internet de las Cosas" , que explica la tecnología IoT de manera accesible y con numerosos ejemplos. El paquete de protocolos TCP/IP: El protocolo TCP/IP es una combinación de dos protocolos: TCP (Protocolo de control de transmisión) e IP (Protocolo de Internet). IP se encarga de enviar paquetes de datos entre máquinas, incluyendo las direcciones de origen y destino, pero sin garantizar la entrega ni la integridad de los datos y limitándose al tamaño del paquete. TCP, que se construye sobre IP, añade funcionalidades como la numeración secuencial de paquetes, confirmaciones de recepción y retransmisiones, permitiendo el envío de mensajes de cualquier longitud y asegurando que los datos lleguen correctamente al destinatario. Ilustración 20 Paquete de protocolos y capas que lo componen. 48 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Las capas de protocolos de Internet se organizan desde las más internas, que son de bajo nivel, hasta las más externas, que representan niveles de abstracción más altos. La capa de conexión gestiona la transferencia de bits a través de diferentes medios físicos como Ethernet, Wi-Fi o conexiones telefónicas. La capa de Internet simplifica los detalles de las conexiones, permitiendo el uso de direcciones sencillas. La capa de transporte, que incluye el protocolo TCP, ofrece un control más avanzado en el envío de mensajes. Finalmente, la capa de aplicación contiene protocolos para navegar en la web, enviar correos electrónicos y realizar llamadas por Internet, siendo el HTTP el protocolo más común en la web y muy útil en el IoT El protocolo TCP no es el único existente en la capa de transporte; También está el protocolo UDP, que a diferencia de TCP, no garantiza la llegada de los mensajes al destinatario. A pesar de esto, UDP es valioso en aplicaciones que requieren transmisión en tiempo real sin retrasos, como el streaming de datos, donde es aceptable perder algunos datos. Un ejemplo de uso de UDP es Skype, un servicio de telefonía basado en computadora. 5.1.2. CONEXIÓN MODULO WIFI Para conectar un módulo ESP32 a Internet, se selecciona Arduino IDE como entorno de programación por su facilidad de uso. Es esencial utilizar la versión 1.8 o posterior de Arduino IDE. A diferencia del ESP8266, que se instala fácilmente a través del gestor de tarjetas de Arduino, el ESP32 requiere un proceso de instalación más complejo que implica el uso de Python 2.7 y GIT GUI. Una vez instalado, se puede programar el módulo para conectarse a una red WiFi. Una vez que se tiene acceso a la placa de desarrollo en Arduino (seleccionando en Herramientas la opción "ESP Dev Module"), se procede a agregar la biblioteca requerida para habilitar la conexión del ESP32 a una red WiFi. Es necesario incorporar la biblioteca "WiFi.h" (o "ESP8266WiFi.h" para el ESP8266). Dentro del menú del IDE, debe ir a: Sketch > Incluir biblioteca > Administrar bibliotecas. Luego, en el campo de búsqueda, escribe WiFi. La captura de pantalla muestra la biblioteca ya agregada. Este procedimiento se debe realizar cada vez que se desee agregar una nueva biblioteca para su utilización. #include <Wire.h> #include "U8glib.h" U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // I2C #include "Wire.h" #include "RTClib.h" RTC_DS1307 RTC; Ilustración 21 Gestor de Librerías IDE de Arduino #include "DFRobot_PH.h" 49 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 5.1.3. INSTALACIÓN Y CONFIGURACIÓN DE ARDUINO IDE. . Ilustración 22Componentes electrónicos para el proyecto En este proyecto vamos a utilizar el Arduino Leonardo ya que es una placa de microcontrolador basada en el ATmega32u4. Tiene 20 pines de entrada / salida digital (de los cuales 7 se puedes usar como salidas PWM y 12 como entradas analógicas), un oscilador de cristal de 16 MHz, una conexión micro USB, un conector de alimentación, pines ICSP y un botón de reinicio. A continuación vamos a proceder con el montaje de cada uno de los implementos para la configuración del sistema 1. Descargar el Arduino IDE Utilice la última versión del IDE de Arduino para su sistema informático. - Aquí están los enlaces a la última versión Arduino 2.2.1 2. Configure la placa controladora se utilizará en el IDE de Arduino En la parte superior del IDE de Arduino, haga clic en "Herramientas>Placa>" y seleccione "Arduino" entre las opciones disponibles. 50 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Ilustración 23 Arduino IDE 3. Conecte el lado micro USB del cable a la placa inteligente y conecte el otro extremo del cable USB a un puerto USB de su computadora. Ilustración 24Conexion de la placa con la PC 51 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 4. Configurar qué puerto de comunicación usar El IDE de Arduino necesita saber en qué puerto USB del ordenador está conectado el controlador ArduinoLeonardo para poder comunicarse con él. - Para hacerlo seleccione “Herramientas>Puerto” y seleccione el puerto COM que indica ArduinoLeonardo. Tenga en cuenta que los números reales después de la palabra "COM" variarán de una computadora a otra, por lo que podrían ser diferentes de los que se muestran en la figura. Ilustración 25 Puerto COM del Arduino Leonardo 5.2 CONFIGURACION DE LOS COMPONENTES En el proyecto actual, donde se utilizan numerosas variables, se ha buscado dividirlas en secciones para facilitar su comprensión. A continuación, se describen estos grupos de variables. El código de cada uno de los componentes está en el Anexo 1 Cargar el código a la placa Arduino - Haga clic en para cargar el código. Montaje de los componentes 52 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 5.2 CONFIGURACION DE LOS COMPONENTES Conecte el cable a los sensores de humedad del suelo como se muestra en la figura. Repita para cada sensor. Ilustración 26 Conexión del sensor de humedad Conecte los sensores de humedad del suelo a la placa de inteligente Ilustración 27 Conexión de elementos 53 Eva M Tipantuña Rodríguez 6. Sistema de monitorización y control para invernaderos SOFTWARE 6.1 VISIÓN GENERAL El desarrollo del código se puede organizar en distintas partes, de manera que se comprenda el mecanismo del programa y el procedimiento global de manera completa. Más específicamente, se pueden percibir los procesos menores o tareas que se implementan dentro del código en su totalidad. Por esta razón, se expone el siguiente diagrama que caracteriza al programa como una entidad unificada y, al mismo tiempo, en segmentos más reducidos. Ilustración 28 Esquema de programa 6.2. EL CODIGO En el comienzo del código, se realiza la configuración básica, donde se especifican las librerías y se declaran las variables globales, que estarán disponibles a lo largo de todo el programa. Estas variables actúan como contenedores de datos que pueden cambiar durante la ejecución del código. En el proyecto se organizan las numerosas variables en bloques distintos para simplificar su interpretación. A continuación, se proporciona un resumen de estos bloques de variables 6.2.2. LIBRERIAS Las bibliotecas son un conjunto de archivos que se pueden importar o añadir a nuestro código, los cuales incluyen definiciones de funcionalidades preestablecidas para ciertos sistemas, como por ejemplo, la interpretación de entradas de un teclado o la visualización de información en un monitor. En el presente trabajo se han añadido 6 librerías con las siguientes funcionalidades: Establecer conexión Wi-Fi del ESP32 a una red 54 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Generar un cliente Wi-Fi Establecer conexión al Servidor Adafruit por MQTT Generar un cliente MQTT Definición y lectura del sensor de humedad y temperatura DHT Definición y escritura del display I2C LCD. 6.2.3 MENSAJES LCD Se han definido variables para exhibir mensajes y datos específicos en la pantalla LCD de 2x16 (dos filas por dieciséis columnas). Cada variable contiene texto que se ajusta a una línea y puede mostrarse en la primera o segunda fila del display. Estas cadenas de texto, almacenadas como variables tipo String, están etiquetadas como ERROR, INIT, MODO y ALERTA para identificar mensajes de error, de inicialización (que ocurren una sola vez durante el Setup), selección de modo (Autónomo/Manual) y alertas. El código agrupa y maneja estas variables para la visualización adecuada en el LCD. 6.2.3.1. PINES Se definen los pines digitales y analógicos empleados del módulo ESP32, donde irán conectados los sensores y actuadores. Estos pines son, como ya vimos anteriormente: Sensor DHT22 – GPIO 23 / SPI MOSI / Empleado como entrada digital Sensor YL69 – GPIO 36 / ADC1-0 / Empleado como entrada analógica Fotorresistencia LDR – GPIO 39 / ADC1-3 / Empleado como entrada analógica Sensor PH – GPIO 34 / ADC1-6 / Empleado como entrada analógica Ultrasonidos – GPIO 17 / TXDu2 / Empleado como salida digital para Trigger Ultrasonidos – GPIO 19 / SPI MISO / Empleado como entrada digital para Echo Relé 1 – GPIO 27 / Empleado como salida digital para activar ventilador Relé 2 – GPIO 14 / Empleado como salida digital para activar bomba de agua Buzzer – GPIO 12 / Empleado como salida digital para activar alarma Display LCD I2C – GPIO 21 / Wire SDA Display LCD I2C – GPIO 22 / Wire SCL 6.2.3.4. VAIABLES GLOBALES En el código se han establecido distintos conjuntos de variables globales, cada una con propósitos específicos y comportamientos diferenciados. A continuación, se describen los tres conjuntos principales: CONTROL TIEMPO Se han implementado diversas variables encargadas de registrar los intervalos de tiempo, expresados en milisegundos, que son utilizados para la recolección de datos y para controlar los periodos de envío y recepción de información con el servidor. 55 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos CONTROL WIFI Este grupo incluye variables destinadas a guardar las credenciales de acceso a redes WiFi y contadores para los tiempos de espera de conexión. Las credenciales necesarias varían según la red a la que se desee conectar y pueden obtenerse del módem proporcionado por el proveedor de servicios de telecomunicaciones o configurando un punto de acceso personal a través de un dispositivo móvil. SENSORES Contiene variables para almacenar la información recabada por los sensores, que pueden ser de tipo "float" (números con decimales), "int" (números enteros) o "bool" (valores booleanos que pueden ser verdadero o falso). Todas estas variables tienen un valor inicial asignado y algunas, como la velocidad del sonido (VelSon) o la altura total (AlturaTotal), se utilizan en cálculos internos pero no experimentan cambios durante la ejecución del programa. TIPO STRING CHAR Las variables de tipo String y char son utilizadas en el código para distintos propósitos. Las variables String pueden contener secuencias de caracteres, como palabras o frases, y son útiles para manejar texto que puede variar en longitud. Por otro lado, las variables de tipo char almacenan un único carácter y pueden ser utilizadas individualmente o como parte de un arreglo para formar cadenas de caracteres. En el contexto de las funciones que miden la humedad del suelo y la luminosidad, estas variables se utilizan para guardar y manipular los datos textuales que se generan. Además, se establecen variables específicas para gestionar un "modo vacaciones", que probablemente altera el comportamiento del sistema durante periodos en los que no se requiere la misma interacción o monitoreo habitual. Estas variables permiten una configuración y adaptación flexible del sistema a diferentes situaciones y necesidades. 6.2.4 INICIALIZACION En la fase de inicialización global del sistema, que ocurre al conectar o reiniciar el dispositivo, se lleva a cabo una serie de configuraciones esenciales. Estas configuraciones se implementan dentro de la función `Setup`, que es característica del entorno de desarrollo integrado (IDE) de Arduino. En esta función se establecen los pines como entradas o salidas y se realizan otras inicializaciones importantes, como la del puerto Serial, que permite la visualización de datos en pantalla. 56 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Para manejar situaciones excepcionales que puedan surgir durante la ejecución del código, se utilizan estructuras de control de excepciones try-catch. El bloque try encapsula el código que podría generar una excepción, ejecutándose hasta que ocurre un error o hasta que se completa sin problemas. El bloque catch captura y maneja las excepciones que se producen. Puede usarse sin argumentos para capturar cualquier excepción o con un argumento específico para tratar tipos concretos de excepciones. Dentro del código de la función `Setup`, se han identificado distintos procesos para facilitar la comprensión: - LCD: Se configura el display LCD para mostrar un mensaje de bienvenida. Si ocurre un error durante este proceso, se captura la excepción correspondiente y se muestra un mensaje de error relacionado con la inicialización o la escritura en el LCD. - SERIAL: Se establece la comunicación Serial para permitir el intercambio de datos con otros dispositivos o con la computadora utilizada para la programación. Estas medidas aseguran que el sistema se inicie correctamente y que esté preparado para manejar posibles errores de manera efectiva, mejorando la robustez y fiabilidad del código. En la etapa inicial de puesta en marcha del sistema, dentro de la función de configuración del entorno de desarrollo de Arduino, se llevan a cabo varios procedimientos esenciales para asegurar la operatividad del sistema de gestión para invernaderos automatizados. Los pasos fundamentales incluyen: - CONFIGURACIÓN DE PINES: Se activa el sensor de temperatura y humedad y se asignan los pines de los sensores y dispositivos de control como entradas o salidas. Los sensores generalmente se establecen como entradas, a excepción del pin 'trigger' que se designa como salida. Por otro lado, los dispositivos de control se marcan como salidas. - CONECTIVIDAD WiFi : Se ejecuta la función `configuraConexionesWifi()`, cuyo propósito es conectar el módulo ESP32 a la red inalámbrica, garantizando la comunicación en red del sistema. - ESTABLECIMIENTO DE CANALES DE COMUNICACIÓN: Se configuran canales de comunicación usando el protocolo MQTT a través de Adafruit IO. Se generan canales dedicados para diferentes controles, como la selección del modo de operación, el encendido del sistema de riego y la activación del sistema de ventilación, cada uno manejando su propio conjunto de datos. 57 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos - PRIMER MONITOREO DE SENSORES: A través de un bloque de manejo de excepciones try-catch, se realiza la primera solicitud de datos a los distintos sensores para obtener y mostrar las lecturas iniciales. Si la lectura del sensor es exitosa, se muestra un mensaje de confirmación "OK" en la pantalla LCD. Si ocurre un error, se muestra un mensaje de error "KO". Es importante mencionar que el sensor de ultrasonidos puede demorar un poco más en mostrar la lectura en esta primera instancia, ya que calcula un promedio de las primeras diez mediciones para ofrecer un resultado más exacto antes de presentarlo en pantalla. 6.2.5 FUNCION PRINCIPAL La función esencial, o en el contexto de Arduino, el "loop", debe definirse invariablemente ya que es la encargada de establecer y guiar el algoritmo que resuelve la tarea en cuestión. Como su nombre lo sugiere, dicta la operación principal del programa. Para abordar las necesidades del sistema, se han desarrollado una serie de procedimientos, cada uno con la responsabilidad de ejecutar una acción particular. A continuación, se describen estas gestiones de manera secuencial y detallada, evitando así la copia de contenido previo. 6.2.5.1. LEER DATOS SENSORES La tarea inicial que llevará a cabo la función principal será la recolección de información de los distintos sensores incorporados en el proyecto. Esto implica que recogerá las lecturas de cada sensor de forma individual y asignará estos datos a las variables globales previamente establecidas. Es importante destacar que se continúa utilizando un sistema de control de excepciones para asegurar que los datos recogidos no contengan errores. Estos datos se obtienen a través de los valores que retornan las funciones auxiliares diseñadas para este fin. Cada una de estas funciones auxiliares está diseñada específicamente para capturar una lectura precisa del sensor correspondiente. 6.2.5.2. CONFIGURACIÓN Y GESTIÓN DE ALARMAS El siguiente paso en la función principal será la administración de las alarmas. Como se ha mencionado anteriormente, se contará con un único canal para la publicación de alarmas, por lo que se ha decidido gestionarlas de manera jerarquizada según su importancia. De esta forma, la Alarma 1 tendrá la máxima prioridad y será la primera en ser evaluada en la estructura condicional, mientras que la Alarma 4 será la de menor prioridad. 58 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos En este proyecto, se visualizarán en el feed de Alarmas de Adafruit los distintos niveles de alerta, ordenados de mayor a menor urgencia: - Alarma 0: Sin alertas. No se requiere acción alguna. - Alarma 1: Nivel de agua en el depósito bajo (menor o igual al 15% de su capacidad total). - Alarma 2: Humedad del suelo baja, indicando sequedad. (Esta alarma se activará únicamente en modo Manual, ya que en modo Autónomo el riego se gestiona automáticamente. Se considera oportuno notificar al usuario en modo Manual para que pueda activar el riego). - Alarma 3: Temperatura ambiente baja, con riesgo de heladas (menor o igual a 5 °C). - Alarma 4: Temperatura ambiente alta, con condiciones de calor extremo (mayor o igual a 45 °C). 6.2.5.3. MOSTRAR ESTADO POR PANTALLA LCD El procedimiento que se llevará a cabo a continuación es la visualización en el display LCD del modo operativo actual (ya sea Autónomo o Manual) y las condiciones actuales del invernadero (como la humedad y la temperatura), siempre y cuando no se haya activado ninguna alarma. En la pantalla, la primera línea mostrará el modo de operación, el estado de la conexión WiFi (indicado con una "W" si está conectado o un guion "-" si no lo está), y si el sistema de ventilación y/o riego está en funcionamiento (en el modo Manual se mostrará una "V" para ventilación y una "R" para riego si están activos, o un guion "-" si están desactivados o si el sistema está en modo Autónomo). El primer paso en este segmento es invocar a la función "getTextoModo()", la cual proporcionará el texto adecuado para la primera línea del display en función del modo operativo en el que se encuentre el sistema, así como para indicar si el WiFi, la ventilación y/o el riego están activados. Posteriormente, y solo si no se ha registrado ninguna alarma (es decir, si la variable Alarmas es igual a 0), se mostrarán en la segunda línea del display los datos recogidos de los sensores de manera individual y secuencial, siguiendo un orden establecido por un menú de navegación. Por ejemplo, si el último dato mostrado fue la Humedad ambiente, el sistema accederá al menú y a continuación presentará la Temperatura ambiente. 6.2.5.4 PUBLICACION DE DATOS 59 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Antes de proceder con la publicación de cualquier dato, es esencial verificar que la conexión WiFi se haya establecido de manera correcta y que la comunicación con el servidor Adafruit IO a través de MQTT esté funcionando. Siguiendo el procedimiento ya utilizado, se encapsulará todo dentro de una estructura try-catch para manejar adecuadamente cualquier excepción o error que pueda surgir. Una vez confirmado que todas las conexiones están operativas, se procederá a publicar los datos en intervalos de 20 segundos. Este intervalo es ajustable mediante la variable tiempoConexionServidor. Independientemente de si la publicación de un dato específico ha sido exitosa o no, se podrá realizar un seguimiento a través del puerto Serial de Arduino. 6.2.5.5 PUBLICACION DE ALARMAS En esta sección del código, se llevará a cabo la publicación de mensajes de alerta en el feed de Alarmas, al mismo tiempo que se visualizan en la pantalla LCD. Esta operación se gestionará a través de un menú que evaluará la variable Alarma comparándola con valores numéricos como 1, 2, 3, etc. Por ejemplo, si Alarma es igual a 1, el código accederá al caso 1 del menú y mostrará el mensaje de alerta correspondiente, que en este escenario sería una notificación informando al usuario de que el nivel de agua en el depósito está críticamente bajo. Durante una alarma, la pantalla LCD dejará de mostrar el modo de operación y otros datos para enfocarse exclusivamente en la alerta activa. Además, al igual que con las publicaciones de datos anteriores, se podrá verificar a través del puerto Serial de Arduino si la alarma ha sido publicada correctamente o no. 6.2.5.6. SUBSCRIPCIONES Este periodo puede ser personalizado a través de la variable "tiempoConexionSuscripcio n", que por omisión está configurada a 5 segundos. Se configura un canal de suscripción que se cotejará con los canales correspondientes a cada interruptor. Es decir, se procederá a una evaluación condicional: si el paquete de datos recibido proviene de la suscripción de un interruptor específico, como podría ser "modoAuto", el dato ("A" o "M") se convertirá a formato String, se exhibirá por el puerto Serial y se registrará en la variable "modo". Además, el cambio de modo se visualizará en la pantalla LCD, tal como se menciona en la sección 5.2.3.3 del documento. 6.2.5.7. CONFIGURACIÓN DEL MODO VACACIONES Se establecerán las configuraciones operativas a través de estructuras condicionales. Por ejemplo, si el usuario planea ausentarse por vacaciones, podrá confiar en el modo Automático para mantener la autonomía del sistema de su invernadero. Este modo se activa mediante el interruptor de selección en el Servidor Web de Adafruit IO. Por defecto, el sistema operará en modo Automático para garantizar la actividad del invernadero incluso si 60 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos la conexión WiFi falla. La implementación de esta parte del código es bastante sencilla y se ha llevado a cabo utilizando dos estructuras condicionales anidadas. El primer condicional activa la función "modoAutomatico()" cuando se selecciona el modo Automático (modo = "A"). En cambio, si se elige el modo Manual (modo = "M"), se procede a evaluar los siguientes condicionales. Estos determinarán si se debe activar el riego y la ventilación, activando los actuadores pertinentes según sea necesario. 6.2.6. FUNCIONES SECUNDARIAS Se ha desarrollado una colección de funciones, cada una diseñada para ejecutar una tarea específica con un conjunto de instrucciones precisas. Algunas de estas funciones no retornan ningún valor (void), mientras que otras devuelven valores de tipo String, float o bool. Estas funciones están diseñadas para ser invocadas por la función principal, aunque también pueden ser llamadas desde otras funciones. A continuación, se presenta un resumen de las funciones secundarias y una breve descripción de su propósito: - DHT – void getDHT(): Esta función recopila datos del sensor de humedad y temperatura DHT22. Si se encuentra con una lectura inválida, generará un mensaje de error. - Humedad tierra – String HumedadTierra(): Obtiene datos del higrómetro YL69. Convierte la lectura analógica de 0 a 4095 (debido al ADC de 12 bits del ESP32) a un porcentaje de humedad del 0 al 100%. En lugar de mostrar el porcentaje, clasifica la humedad del suelo como "seco", "ideal" o "húmedo" según los parámetros previamente definidos. - Luminosidad – String NivelLuminosidad(): Recoge datos del sensor LDR. Al igual que con la humedad del suelo, si la lectura no es válida, se informará un error. Aquí se definen los niveles de luminosidad como "alta", "media" o "baja". - Nivel de agua – float NivelAguaDeposito(): Utiliza un sensor de ultrasonidos para medir el nivel del agua. Si la lectura es inválida, se notificará un error. La función inicia la medición con "iniciarTrigger()" y realiza cálculos para determinar la altura del agua en el depósito en centímetros, así como el porcentaje de llenado para su visualización y publicación. - Iniciar trigger – void iniciarTrigger(): Inicia la secuencia del sensor de ultrasonidos para la medición. - pH agua – float pHAguaRiego(): Recoge datos del sensor de pH, que debe estar calibrado previamente con muestras conocidas (por ejemplo, PH7 y PH4) para obtener lecturas realistas. El sensor se coloca en el depósito de agua o se puede usar una muestra del agua de riego para la medición. - Modo automático – void modoAutomatico(): No retorna ningún valor, ya que su función es ejecutar el sistema en modo Automático. Realiza tareas de riego y ventilación según la lógica de control establecida, basada en condicionales anidados que evalúan los parámetros del sistema. 61 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos - Conexión mqtt – bool MQTT_connect(): Intenta conectarse al servidor Adafruit.io mediante MQTT, realizando hasta tres intentos cada 10 segundos. Retorna true si la conexión es exitosa, false en caso contrario. - Mostrar en LCD – bool showInLCD(String lineaA, String lineaB): Muestra dos líneas de texto en la pantalla LCD, con los datos proporcionados en las variables de tipo String lineaA y lineaB. - Conexión wifi – void configuraConexionesWifi(): Gestiona la conexión a la red WiFi, realizando reintentos hasta un límite definido. Retorna true si la conexión es exitosa, false en caso contrario. - Texto modo – String getTextoModo(): Obtiene el texto descriptivo del modo de funcionamiento para su visualización. 7. PUESTA EN MARCHA Y FUNCIONAMIENTO "En esta etapa del proceso, procedemos a realizar las conexiones necesarias entre los componentes seleccionados para nuestro proyecto, utilizando como eje central la placa de desarrollo ESP32-DevKitC. Para profundizar en el entendimiento de esta herramienta, se presenta a continuación una representación gráfica de la misma, donde se destacan y etiquetan los diversos puertos GPIO disponibles, proporcionando una guía visual para su identificación y uso correcto." Ilustración 29 Placa ESP32 "Es importante destacar que el sistema se alimenta mediante un módulo que entrega voltajes de 5V y 3.3V en corriente continua (DC). Las especificaciones de este módulo incluyen: - Un botón para activar o desactivar la corriente. - Un diodo emisor de luz (LED) que indica si el dispositivo está en funcionamiento. 62 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos - Recibe un voltaje de entrada que oscila entre 6.5 y 9 Vcc, conectado a través de un conector Jack tipo hembra. - Ofrece un voltaje de salida ajustable entre 3.3 y 5 V. - La corriente máxima que puede suministrar es de 700 mA. - Permite el control independiente de los niveles de voltaje de salida, pudiendo seleccionar entre 0, 3.3 o 5 V." Lo siguiente será elegir el depósito de agua, y modificar la altura total de depósito en el código. Luego se colocarán los sensores y actuadores en su lugar correspondiente de la bomba de agua. Que será el encargado de contener el agua impulsada por la bomba y que llegará a la tierra del invernadero/semillero. "El siguiente paso consiste en transferir el software al módulo ESP32-DevKitC. Durante este proceso, es crucial mantener presionado el botón 'boot' del módulo para activar el modo de programación. Este procedimiento se debe repetir cada vez que se desee instalar un nuevo código en el dispositivo. Una vez que se suministra energía al circuito ensamblado, se podrá observar su operatividad en tiempo real. Lo primero que se notará es el arranque del sistema, seguido por el proceso de recopilación de datos. Posteriormente, es posible visualizar la información recabada tanto en el servidor de Adafruit IO como en la aplicación móvil correspondiente. Con estos pasos completados, se logra un control eficiente del invernadero, que no se limita a la intervención directa, sino que también incluye la gestión a distancia a través de la tecnología IoT." Ilustración 30 Funcionamiento del sistema de control de invernaderos 63 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Ilustración 31 Verificando datos de riego Ilustración 32 Componentes electrónicos 64 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Ilustración 33 Funcionamiento del proyecto 65 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 8. CONCLUSIONES Y PROXIMOS PASOS "Este proyecto ha logrado con éxito la creación de un prototipo funcional, cumpliendo con varios de los objetivos iniciales. No obstante, aún queda un camino considerable por recorrer para desarrollar un producto comercializable. Entre los primeros pasos a seguir está el diseño de una placa de circuito impreso de grado industrial. En la situación actual, cualquier cambio en los parámetros de cultivo, las credenciales de WiFi o del servidor, requiere una modificación directa en el código fuente y una posterior reprogramación del módulo ESP32-DevKitC. Esto no solo es propenso a errores, sino que también complica la actualización de ciertos ajustes, como los límites de temperatura, que deben sincronizarse con el servidor y la aplicación móvil. Una mejora significativa sería la implementación de una aplicación móvil que permita ingresar y almacenar las credenciales de WiFi y del servidor, facilitando así la modificación del código de manera externa. Además, la aplicación podría ofrecer la selección del tipo de cultivo para el invernadero, adaptando automáticamente los parámetros de control a las necesidades específicas de cada planta, superando la limitación actual de cultivar únicamente tomates. La posibilidad de ajustar los parámetros de control del invernadero de manera externa, sin alterar el código del programa, podría explorarse mediante la creación de una base de datos o biblioteca que contenga distintos tipos de cultivos con sus parámetros y límites característicos. Las mejoras y ampliaciones propuestas, que no se han implementado por restricciones de tiempo o conocimiento, incluyen la optimización del algoritmo de control automático, la configuración remota a través de un servidor dedicado, una gestión más eficiente de las alertas, la integración de una cámara para monitoreo en tiempo real, el diseño de una placa industrial profesional y la transición del proyecto a una arquitectura basada en el protocolo REST, ampliamente adoptado en el ámbito empresarial para sistemas interconectados." 66 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 9. BIBLIOGRAFÍA Aguilar Zavaleta, S. (2020). Diseño de una solución basada en el internet de las cosas (IoT) empleando Lorawan para el monitoreo de cultivos agrícolas en Perú. Domínguez-Domínguez, J., González-Valadez, M., & Muñoz-Hernández, G. (2002). Una estrategia para optimizar el proceso de densificación mecánica de residuos agrícolas y agroindustriales. Agrociencia, 36(5), 593-604. Leiva, F. R. (2003, July). La agricultura de precisión: una producción más sostenible y competitiva con visión futurista. In Memorias VIII Congreso de la Sociedad Colombiana de Fitomejoramiento y Producción de Cultivos (Vol. 93, pp. 997-1006). Esperbent, C. (2016). Robots: la próxima revolución del campo: En un futuro cercano, la incorporación de la inteligencia artificial a lo agropecuario permitirá tomar mejores decisiones y optimizar aún más las prácticas agrícolas. Desarrollos argentinos que transformaron el trabajo en el campo. RIA. Revista de investigaciones agropecuarias, 42(1), 8-13. Justin Cooper (2015, Enero 22). MQTT Api. [Online] Disponible en: https://learn.adafruit.com/adafruit-io/mqtt-api Adafruit IO REST API (v2.0.0). [Online] Disponible en: https://io.adafruit.com/api/docs/#!/v2 Anónimo, Wikipedia (2019, Enero 31). MQTT. [Online] Disponible en: https://en.wikipedia.org/wiki/MQTT Castro Popoca, M., Águila Marín, F. M., Quevedo Nolasco, A., Kleisinger, S., Tijerina Chávez, L., & Mejía Sáenz, E. (2008). Sistema de riego automatizado en tiempo real con balance hídrico, medición de humedad del suelo y lisímetro. Agricultura técnica en México, 34(4), 459-470. González Vidal, J. C. (2013). Desarrollo de un servidor web con Arduino para monitorización y control de sensores y actuadores. PIZARRO PELÁEZ, J. E. S. Ú. S. (2019). Internet de las cosas (IoT) con Arduino. Manual práctico. Ediciones Paraninfo, SA. 67 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Anexo ANEXO 1:PROCESO DE DISEÑO DE LA PCB……………………..................................65 1. 2. 3. 4. 5. 6. Base del proyecto……………………………………………………………………. 65 Librería de componentes……………………………………………………………. 66 Esquemáticos …………………………………………………………………………66 Distribución de componentes en la PCB……………………………………………67 Ruteado de pistas …………………………………………………………………… 67 Generación de ficheros gerber……………………………………………………… 68 ANEXO 2:ESQUEMATICO PCB ……………………………………………………………... 65 ANEXO 3:CODIGO ……………………………………………………………………………....69 68 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos ANEXO 1: PROCESO DE DISEÑO DE LA PCB 1. Base del proyecto Se busca establecer una conexión WiFi con los aparatos instalados en el invernadero, utilizando una app móvil o un sitio web. Por esta razón, el circuito impreso (PCB) que se ha diseñado incorpora un Arduino , puntos de conexión para los detectores externos del invernadero, alertas, indicadores LED para mostrar el estado de los detectores y un espacio para instalar el módulo WiFi . Los detectores externos que se utilizan incluyen: - DHT11: para medir la temperatura y la humedad del aire. - YL69: para detectar la humedad del suelo. - LDR: para evaluar la luz ambiental. Para reflejar las condiciones dentro del invernadero basándose en la información de los detectores, se usan: - El DHT11 - El YL69 - El LDR Así, se establecen las conexiones necesarias entre el puerto serie del Arduino y el módulo WiFi. 2. Librería de componentes Se ha seleccionado el software 'Design Spark PCB' para el diseño del circuito debido a su interfaz amigable y sencillez de uso. El primer paso fue desarrollar una biblioteca de componentes, enfocándose en localizar los elementos correspondientes al Arduino Leonardo en la biblioteca existente. Cada componente se compone de un 'Símbolo Esquemático' y un 'Símbolo de PCB (huella)'. Para algunos elementos como las resistencias y capacitores SMD, se han ajustado los disponibles en Design Spark, seleccionando aquellos que coincidan en tamaño. Se ha procurado estandarizar los componentes al tamaño SMD 1206, aunque en ocasiones fue necesario optar por componentes de tamaño diferente con propiedades equivalentes. Para encontrar los componentes, es crucial prestar atención al 'Número de Pieza de RS' y buscar en la web oficial de RS (distribuidor RS) el componente con ese número. Si el 69 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos componente deseado no está disponible, se busca uno alternativo con especificaciones parecidas para su inclusión en el diseño. Aunque es posible diseñar los componentes desde cero y personalizar la biblioteca de Design Spark, también se puede utilizar la herramienta 'Library Loader' para localizar (usando el MPN, Número de Pieza del Fabricante) y descargar el componente requerido, ya con su símbolo esquemático y huella asociada. Una vez recopilados los componentes para la placa Arduino, se procede a buscar en RS los conectores para los sensores, eligiendo según el número de pines necesarios para cada sensor. El sensor DHT requerirá un conector de tres terminales, el de ultrasonidos uno de cuatro, el YL69 uno de dos terminales (notando que este sensor se monta en una pequeña placa PCB que se integra directamente en el diseño), y la LDR también uno de dos terminales. Además, tanto la LDR como el DHT necesitarán una resistencia de pull-up que se incorporará al diseño. Se añaden también un zumbador, los componentes para la placa del sensor YL69, dos conectores hembra de 15 pines para el módulo WiFi y los orificios para la fijación de la placa. 3. Esquemáticos Una vez completada la biblioteca de componentes, el siguiente paso es la elaboración del esquemático de la placa de circuito impreso (PCB). El diseño esquemático se distribuye en dos hojas dedicadas al circuito del arduino y una tercera hoja para los esquemáticos de los sensores. Se asignan nombres claros a las redes (nets) que se conectan al microcontrolador para facilitar su identificación y seguimiento de sus conexiones. Es crucial realizar una revisión exhaustiva del esquemático antes de proceder a la etapa de diseño de la PCB, asegurándose de que no se omitan componentes y que todas las conexiones y redes estén correctamente representadas. Para una visualización detallada del esquemático, se han generado tres archivos PDF, uno para cada hoja del esquemático, titulados 'proyecto1-HojaX', donde 'X' representa el número de la hoja correspondiente. 4. Distribución de componentes en la PCB Después de verificar y asegurarse de que el esquemático está completo y sin errores, el proceso continúa con el diseño de la PCB. Utilizando la herramienta 'Schematic/PCB Check…', se confirma que la lista de componentes en el esquemático coincide con los que se planean usar en la PCB. Se asigna un tamaño preliminar a la placa y se procede a posicionar los componentes de manera eficiente, buscando una distribución equilibrada que permita conexiones cortas y claras entre los elementos interconectados, respetando el espacio mínimo requerido entre ellos. 70 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos El diseño propuesto organiza los componentes de la siguiente manera: - El microcontrolador se sitúa en el centro de la placa para facilitar la conexión con otros componentes. - Los conectores USB y de alimentación del arduino se ubican a la izquierda. - Los conectores para los sensores se disponen en la parte superior derecha. - El módulo del sensor YL69 se coloca a la derecha del arduino. - Los LEDs indicadores del estado de los sensores se sitúan en la parte inferior. - El zócalo para el módulo NodeMCU se encuentra en el extremo derecho, con una separación entre pines de 28 mm. Una vez que los componentes están correctamente ubicados, se inicia el diseño de las pistas de conexión, prestando especial atención al ancho de las pistas de alimentación para asegurar su correcto dimensionamiento. 5. Ruteado de pistas Para el trazado de las pistas de alimentación, se ha establecido un ancho estándar de 0.6 mm y un ancho mínimo de 0.3 mm. El ancho mínimo está determinado por el componente con los pads más pequeños. Para calcular el ancho adecuado de las pistas, se emplea la herramienta 'Design Calculators', que permite especificar la corriente máxima que circulará por las pistas de alimentación y proporciona el ancho mínimo necesario. En cuanto a las pistas de señal, se han diseñado con un ancho de 0.2 mm. Además, se prefiere que las esquinas de las pistas sean de 45 grados en lugar de 90 grados para minimizar las pérdidas de señal y evitar curvas pronunciadas. Durante el proceso de enrutamiento de las pistas de señal, se cambia de capa cuando es necesario, manteniendo las distancias mínimas entre pistas, pads y componentes. Se utiliza frecuentemente el DRC (Design Rule Check) para identificar y corregir errores en el diseño. Para los pads y pistas de la tensión Vcc, se conectan mediante vías directamente a la capa de alimentación Vcc. Para los pads y pistas de tierra GND o 0V, se dibuja un plano de cobre en la capa superior TOP que se conecta a la capa de tensión 0V, permitiendo que todas las conexiones a tierra se unan a este plano. También es posible realizar conexiones mediante vías a la capa GND, similar a lo hecho con la capa Vcc. 71 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Una vez finalizado el diseño y comprobado que no hay errores de DRC, se procede a elaborar la lista de materiales. Esta lista organiza los componentes por nombre en la primera columna, seguida de columnas para la cantidad, el valor del componente, el distribuidor, el número de parte del fabricante (MPN) y el número de parte de RS, entre otros detalles. Las mencionadas son las más esenciales que deben incluirse en la lista de materiales. 2 ANEXO ESQUEMATICO PCB 72 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 3. ANEXO CÓDIGO #include <Wire.h> #include "U8glib.h" U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // I2C #include "Wire.h" #include "RTClib.h" RTC_DS1307 RTC; #include "DFRobot_PH.h" // configurar todos los sensores de humedad PIN ID int humedaa1 = A0; int humedad2 = A1; int humedad3 = A2; int humedad4 = A3; // declarar valores de humedad variables int humedad1_value = 0 ; int humedad2_value = 0; int humedad3_value = 0; int humedad4_value = 0; // establecer valores de agua int relay1 = 6; int relay2 = 8; int relay3 = 9; int relay4 = 10; // configurar la bomba de agua int bomba = 4; 73 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos // botón de ajuste int button = 12; //estado de bomba 1:open 0:close int bomba_estado = 0; //relay1 estado del agua 1:open 0:close int relay1_estado = 0; //relay2 estado del agua 1:open 0:close int relay2_estado = 0; //relay3 estado del agua 1:open 0:close int relay3_estado = 0; //relay4 estado del agua 1:open 0:close int relay4_estado = 0; int ventilador = A4; //DFRobot_PH pH(A4); static unsigned long currentMillis_send = 0; static unsigned long Lasttime_send = 0; char daysOfTheWeek[7][12] = {"Sun", "Mon", "Tues", "Wed", "Thur", "Fri", "Sat",}; unsigned long iniciotiempo; unsigned long fintiempo; 74 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos unsigned long iniciotiempoSiguiente; unsigned long iniciotiempo1; unsigned long fintiempo1; unsigned long iniciotiempoSiguiente1; unsigned long inici2otiempo; unsigned long fintiempo2; unsigned long iniciotiempoSiguiente2; unsigned long iniciotiempo3; unsigned long fintiempo3; unsigned long iniciotiempoSiguiente3; // si est buena flor unsigned char bitmapa_buena[] U8G_PROGMEM = { 0x00, 0x42, 0x4C, 0x00, 0x00, 0xE6, 0x6E, 0x00, 0x00, 0xAE, 0x7B, 0x00, 0x00, 0x3A, 0x51, 0x00, 0x00, 0x12, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x06, 0x40, 0x00, 0x00, 0x06, 0x40, 0x00, 0x00, 0x04, 0x60, 0x00, 0x00, 0x0C, 0x20, 0x00, 0x00, 0x08, 0x30, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0xC1, 0x00, 0x00, 0x0E, 0x61, 0x00, 0x00, 0x1C, 0x79, 0x00, 0x00, 0x34, 0x29, 0x00, 0x00, 0x28, 0x35, 0x00, 0x00, 0x48, 0x17, 0x00, 0x00, 0xD8, 0x1B, 0x00, 0x00, 0x90, 0x1B, 0x00, 0x00, 0xB0, 0x09, 0x00, 0x00, 0xA0, 0x05, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0xC0, 0x03, 0x00 }; // si esta mala flor 75 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos unsigned char bitmapa_mala[] U8G_PROGMEM = { 0x00, 0x80, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xE0, 0x0D, 0x00, 0x00, 0xA0, 0x0F, 0x00, 0x00, 0x20, 0x69, 0x00, 0x00, 0x10, 0x78, 0x02, 0x00, 0x10, 0xC0, 0x03, 0x00, 0x10, 0xC0, 0x03, 0x00, 0x10, 0x00, 0x01, 0x00, 0x10, 0x80, 0x00, 0x00, 0x10, 0xC0, 0x00, 0x00, 0x30, 0x60, 0x00, 0x00, 0x60, 0x30, 0x00, 0x00, 0xC0, 0x1F, 0x00, 0x00, 0x60, 0x07, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xC7, 0x1C, 0x00, 0x80, 0x68, 0x66, 0x00, 0xC0, 0x33, 0x7B, 0x00, 0x40, 0xB6, 0x4D, 0x00, 0x00, 0xE8, 0x06, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0xE0, 0x00, 0x00 }; // Logo static unsigned char bitmap_logo[] U8G_PROGMEM ={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0xE0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x04,0xF8,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x08,0xFE,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x10,0x1F,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xB0,0x07,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xE0,0x03,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xC0,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x80,0x01,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x60,0x23,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x70,0xC7,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x70,0x9E,0x0F,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 76 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 0x70,0x3C,0xFE,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x70,0x78,0xF8,0x7F,0xF0,0x9F,0x07,0xFE,0x83,0x0F,0xFF,0x00,0x77,0x3C,0x18,0x1C, 0x70,0xF0,0xE1,0x3F,0xF1,0x9F,0x07,0xFE,0xE1,0x1F,0xFF,0xC3,0xF7,0x3C,0x38,0x0 C, 0x70,0xE0,0x87,0x8F,0xF1,0xC0,0x07,0x1E,0x70,0x3C,0xCF,0xE3,0xE1,0x7D,0x3C,0x0 E, 0x70,0xD0,0x1F,0xC0,0xF1,0xC0,0x03,0x1F,0x78,0x3C,0xCF,0xE3,0xE1,0x7D,0x3C,0x0 6, 0xF0,0xB0,0xFF,0xF1,0xF0,0xC0,0x03,0x0F,0x78,0x3C,0xCF,0xF3,0xE0,0x7B,0x3E,0x0 6, 0xF0,0x60,0xFF,0xFF,0xF0,0xC6,0x03,0xEF,0x3C,0x80,0xEF,0xF1,0xE0,0x7B,0x3E,0x0 3, 0xF0,0xE1,0xFC,0xFF,0xF8,0xCF,0x03,0xFF,0x3C,0x80,0xFF,0xF0,0xE0,0x7B,0x7B,0x0 1, 0xE0,0xC3,0xF9,0x7F,0x78,0xC0,0x03,0x0F,0x3C,0x80,0xF7,0xF1,0xE0,0xF9,0xF9,0x01 , 0xE0,0x83,0xE3,0x7F,0x78,0xE0,0x03,0x0F,0x3C,0xBC,0xE7,0xF1,0xE0,0xF9,0xF9,0x00 , 0xC0,0x0F,0x8F,0x3F,0x78,0xE0,0x81,0x0F,0x3C,0x9E,0xE7,0xF1,0xE0,0xF1,0xF8,0x00 , 0x80,0x3F,0x1E,0x00,0x78,0xE0,0x81,0x07,0x38,0x9E,0xE7,0xF1,0xF0,0xF0,0x78,0x00, 0x80,0xFF,0xFF,0x00,0xF8,0xEF,0xBF,0xFF,0xF8,0xCF,0xE7,0xE1,0x7F,0x70,0x70,0x00 , 0x00,0xFF,0xFF,0x0F,0xF8,0xEF,0xBF,0xFF,0xE0,0xC3,0xE3,0x81,0x1F,0x70,0x30,0x00 , 0x00,0xFC,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 77 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 0x00,0xF8,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0xE0,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; static unsigned char bitmap_T[] U8G_PROGMEM = { 0xF7, 0x01, 0x1D, 0x03, 0x0B, 0x02, 0x0C, 0x02, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x08, 0x02, 0x18, 0x03, 0xF0, 0x01 }; static unsigned char bitmap_H[] U8G_PROGMEM = { 0x00, 0x00, 0x80, 0x01, 0xC0, 0x03, 0xE0, 0x07, 0xF0, 0x0F, 0xF8, 0x1F, 0xF8, 0x1F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFE, 0x7F, 0xEE, 0x7F, 0xB3, 0xF7, 0xBB, 0xFB, 0xBB, 0xFD, 0xBB, 0xFD, 0xC7, 0xFE, 0x7F, 0xC3, 0x3F, 0xDD, 0xBF, 0xFD, 0xDF, 0xDD, 0xEE, 0x5B, 0xFE, 0x7F, 0xFC, 0x3F, 0xF8, 0x1F, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; void setup() { //Serial.begin(9600); delay(2000); Wire.begin(); RTC.begin(); 78 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Serial.begin(9600); // declarar switch como salida pinMode(relay1, OUTPUT); pinMode(relay2, OUTPUT); pinMode(relay3, OUTPUT); pinMode(relay4, OUTPUT); // declarar la bomba como salida pinMode(bomba, OUTPUT); // declarar el interruptor como entrada pinMode(button, INPUT); //pinMode(ROTARY_ANGLE_SENSOR, INPUT); // agua_flower(); pinMode(ventilador, OUTPUT); } void loop() { //float pHValue = pH.measure(); // Realiza una medición del pH // Serial.println(pHValue); // Imprime el valor del pH en la consola serial // delay(1000); // Espera 1 segundo antes de realizar la próxima medición // Lea el valor de los sensores de humedad: read_value(); agua_flower(); int button_stado = digitalRead(button); if (button_stado == 1) { read_value(); u8g.firstPage(); 79 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos do { dibujoTH(); dibujoflower(); } while ( u8g.nextPage() ); } else { u8g.firstPage(); do { dibujotime(); u8g.drawStr(8, 55 , "Eva Tipantuna"); } while (u8g.nextPage()); } digitalWrite(ventilador,HIGH); delay(5000); digitalWrite(ventilador,LOW); delay(2000); } //Set moisture value void read_value() { /**************These is for resistor hemedad sensor*********** float value1 = analogRead(A0); humedad1_value = (value1 * 120) / 1023; delay(20); 80 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos float value2 = analogRead(A1); humedad2_value = (value2 * 120) / 1023; delay(20); float value3 = analogRead(A2); humedad3_value = (value3 * 120) / 1023; delay(20); float value4 = analogRead(A3); humedad4_value = (value4 * 120) / 1023; delay(20); **********************************************************/ /************These is for capacity humedad sensor*********/ float value1 = analogRead(A0); humedad1_value =map(value1,590,360,0,100); delay(20); if(humedad1_value<0){ humedad1_value=0; } float value2 = analogRead(A1); humedad2_value =map(value2,600,360,0,100); delay(20); if(humedad2_value<0) { humedad2_value=0; } float value3 = analogRead(A2); humedad3_value =map(value3,600,360,0,100); delay(20); if(humedad3_value<0){ humedad3_value=0; } float value4 = analogRead(A3); humedad4_value =map(value4,600,360,0,100); delay(20); if(humedad4_value<0) { humedad4_value=0; } } 81 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos void agua_flower() { if (humedad1_value < 30) { digitalWrite(relay1, HIGH); relay1_estado = 1; delay(50); if (bomba_estado == 0) { digitalWrite(bomba, HIGH); bomba_estado = 1; delay(50); } } else if (humedad1_value > 55) { digitalWrite(relay1, LOW); relay1_estado = 0; delay(50); if ((relay1_estado == 0) && (relay2_estado == 0) && (relay3_estado == 0) && (relay4_estado == 0)) { digitalWrite(bomba, LOW); bomba_estado = 0; delay(50); } } if (humedad2_value < 30) { 82 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos digitalWrite(relay2, HIGH); relay2_estado = 1; delay(50); if (bomba_estado == 0) { digitalWrite(bomba, HIGH); bomba_estado = 1; delay(50); } } else if (humedad2_value > 55) { digitalWrite(relay2, LOW); relay2_estado = 0; delay(50); if ((relay1_estado == 0) && (relay2_estado == 0) && (relay3_estado == 0) && (relay4_estado == 0)) { digitalWrite(bomba, LOW); bomba_estado = 0; delay(50); } } if (humedad3_value < 30) { digitalWrite(relay3, HIGH); relay3_estado = 1; delay(50); if (bomba_estado == 0) 83 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos { digitalWrite(bomba, HIGH); bomba_estado = 1; delay(50); } } else if (humedad3_value > 55) { digitalWrite(relay3, LOW); relay3_estado = 0; delay(50); if ((relay1_estado == 0) && (relay2_estado == 0) && (relay3_estado == 0) && (relay4_estado == 0)) { digitalWrite(bomba, LOW); bomba_estado = 0; delay(50); } } if (humedad4_value < 30) { digitalWrite(relay4, HIGH); relay4_estado = 1; delay(50); if (bomba_estado == 0) { digitalWrite(bomba, HIGH); bomba_estado = 1; delay(50); 84 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos } } else if (humedad4_value > 55) { digitalWrite(relay4, LOW); relay4_estado = 0; delay(50); if ((relay1_estado == 0) && (relay2_estado == 0) && (relay3_estado == 0) && (relay4_estado == 0)) { digitalWrite(bomba, LOW); bomba_estado = 0; delay(50); } } } void dibujotime(void) { int x = 5; float i = 25.00; float j = 54; DateTime now = RTC.now(); //Serial.print(now.year(), DEC); if (! RTC.isrunning()) 85 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos { u8g.setFont(u8g_font_6x10); u8g.setPrintPos(5, 20); u8g.print("RTC is NOT running!"); RTC.adjust(DateTime(__DATE__, __TIME__)); } else { u8g.setFont(u8g_font_7x13); u8g.setPrintPos(x, 11); u8g.print(now.year(), DEC); u8g.setPrintPos(x + 80, 11); u8g.print(daysOfTheWeek[now.dayOfTheWeek()]); u8g.setPrintPos(x + 28, 11); u8g.print("/"); u8g.setPrintPos(x + 33, 11); u8g.print(now.month(), DEC); if (now.month() < 10) x -= 7; u8g.setPrintPos(x + 47, 11); u8g.print("/"); u8g.setPrintPos(x + 53, 11); u8g.print(now.day(), DEC); u8g.setFont(u8g_font_8x13); int x = 35; u8g.setPrintPos(x, 33); u8g.print(now.hour(), DEC); if (now.hour() < 10) x -= 7; u8g.setPrintPos(x + 15, 33); 86 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos u8g.print(":"); u8g.setPrintPos(x + 21, 33); u8g.print(now.minute(), DEC); if (now.minute() < 10) x -= 7; u8g.setPrintPos(x + 36, 33); u8g.print(":"); u8g.setPrintPos(x + 42, 33); u8g.print(now.second(), DEC); } } void drawLogo(uint8_t d) { u8g.setFont(u8g_font_gdr25r); u8g.drawStr(8 + d, 30 + d, "T"); u8g.setFont(u8g_font_gdr25r); u8g.drawStr(30 + d, 30 + d, "E"); u8g.setFont(u8g_font_gdr25r); u8g.drawStr(40 + d, 30 + d, "S"); u8g.setFont(u8g_font_gdr25r); u8g.drawStr(55 + d, 30 + d, "I"); u8g.setFont(u8g_font_gdr25r); u8g.drawStr(70 + d, 30 + d, "S"); u8g.setFont(u8g_font_gdr25r); u8g.drawStr(85 + d, 30 + d, "E."); u8g.setFont(u8g_font_gdr25r); u8g.drawStr(100 + d, 30 + d, "T"); } 87 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos //estilo de flor bitmapa_buena:buena flor bitmapa_mala: flor mala void dibujoflower(void) { if (humedad1_value < 30) { u8g.drawXBMP(0, 0, 32, 30, bitmapa_mala); } else { u8g.drawXBMP(0, 0, 32, 30, bitmapa_buena); } if (humedad2_value < 30) { u8g.drawXBMP(32, 0, 32, 30, bitmapa_mala); } else { u8g.drawXBMP(32, 0, 32, 30, bitmapa_buena); } if (humedad3_value < 30) { u8g.drawXBMP(64, 0, 32, 30, bitmapa_mala); } else { u8g.drawXBMP(64, 0, 32, 30, bitmapa_buena); } if (humedad4_value < 30) { 88 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos u8g.drawXBMP(96, 0, 32, 30, bitmapa_mala); } else { u8g.drawXBMP(96, 0, 32, 30, bitmapa_buena); } } void dibujoTH(void) { int A = 0; int B = 0; int C = 64; int D = 96; char humedad1_value_temp[5] = {0}; char humedad2_value_temp[5] = {0}; char humedad3_value_temp[5] = {0}; char humedad4_value_temp[5] = {0}; read_value(); itoa(humedad1_value, humedad1_value_temp, 10); itoa(humedad2_value, humedad2_value_temp, 10); itoa(humedad3_value, humedad3_value_temp, 10); itoa(humedad4_value, humedad4_value_temp, 10); u8g.setFont(u8g_font_7x14); u8g.setPrintPos(9, 60); u8g.print("A0"); if (humedad1_value < 10) { 89 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos //u8g.setPrintPos(A + 14, 45 ); u8g.drawStr(A + 14, 45, humedad1_value_temp); delay(20); u8g.drawStr(A + 14, 45, humedad1_value_temp); } else if (humedad1_value < 100) { //u8g.setPrintPos(A + 7, 45); u8g.drawStr(A + 7, 45, humedad1_value_temp); delay(20); u8g.drawStr(A + 7, 45, humedad1_value_temp); } else { //u8g.setPrintPos(A + 2, 45 ); humedad1_value = 100; itoa(humedad1_value, humedad1_value_temp, 10); u8g.drawStr(A + 2, 45, humedad1_value_temp); } //u8g.print(humedad1_value); u8g.setPrintPos(A + 23, 45 ); u8g.print("%"); u8g.setPrintPos(41, 60 ); u8g.print("A1"); if (humedad2_value < 10) { //u8g.setPrintPos(B + 46, 45 ); u8g.drawStr(B + 46, 45, humedad2_value_temp); 90 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos delay(20); u8g.drawStr(B + 46, 45, humedad2_value_temp); } else if (humedad2_value < 100) { //u8g.setPrintPos(B + 39, 45); u8g.drawStr(B + 39, 45, humedad2_value_temp); delay(20); u8g.drawStr(B + 39, 45, humedad2_value_temp); } else { //u8g.setPrintPos(B + 32, 45); humedad2_value = 100; itoa(humedad2_value, humedad2_value_temp, 10); u8g.drawStr(B + 32, 45,humedad2_value_temp); } // u8g.print(humedad2_value); u8g.setPrintPos(B + 54, 45); u8g.print("%"); u8g.setPrintPos(73, 60); u8g.print("A2"); if (humedad3_value < 10) { //u8g.setPrintPos(C + 14, 45 ); u8g.drawStr(C + 14, 45, humedad3_value_temp); delay(20); u8g.drawStr(C + 14, 45, humedad3_value_temp); } 91 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos else if (humedad3_value < 100) { // u8g.setPrintPos(C + 7, 45); u8g.drawStr(C + 7, 45, humedad3_value_temp); delay(20); u8g.drawStr(C + 7, 45, humedad3_value_temp); } else { // u8g.setPrintPos(C + 2, 45); humedad3_value = 100; itoa(humedad3_value, humedad3_value_temp, 10); u8g.drawStr(C + 2, 45, humedad3_value_temp); } //u8g.print(humedad3_value); u8g.setPrintPos(C + 23, 45); u8g.print("%"); u8g.setPrintPos(105, 60); u8g.print("A3"); if (humedad4_value < 10) { //u8g.setPrintPos(D + 14, 45 ); u8g.drawStr(D + 14, 45,humedad4_value_temp); delay(20); u8g.drawStr(D + 14, 45, humedad4_value_temp); } else if (humedad4_value < 100) { 92 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos // u8g.establecerImprimirPos(D + 7, 45); u8g.drawStr(D + 7, 45, humedad4_value_temp); delay(20); u8g.drawStr(D + 7, 45, humedad4_value_temp); } else { //u8g.establecerImprimirPos(D + 2, 45); humedad4_value = 100; itoa(humedad4_value, humedad4_value_temp, 10); u8g.drawStr(D + 2, 45, humedad4_value_temp); } //u8g.imprimir(humedad4_value); u8g.setPrintPos(D + 23, 45); u8g.print("%"); } 93 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos PRESUPUESTO Índice de presupuesto 1. COSTES DIRECTOS....................................................................................... 91 1.1. MANO DE OBRA DIRECTA...........................................................................92 1.2. MATERIAS PRIMAS ..................................................................................... 93 1.3. PUESTO DE TRABAJO ................................................................................ 94 2. COSTE TOTAL DEL PROYECTO ................................................................... 95 94 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 1. COSTES DIRECTOS 1.1. MANO DE OBRA DIRECTO En el contexto de un proyecto enfocado en el desarrollo de un prototipo, únicamente se requiere la contratación de un ingeniero especializado. Dicha persona será responsable de llevar a cabo la investigación, el diseño, la creación y las pruebas del prototipo, así como de la preparación de toda la documentación pertinente. A continuación, se presenta una tabla que resume los tiempos estimados que se han dedicado a cada actividad, junto con el costo por hora y el costo total estimado para cada una. Esta tabla proporciona una visión general de la inversión de tiempo y recursos económicos en el proyecto. INGENIERO Estudio y documentación Diseño de los circuitos y programación Implementación del circuito final (Programación + montaje) Pruebas del circuito final y test del dispositivo Elaboración de la memoria Nº DE HORAS 40 h SUEDO / HORA 45 h TOTAL 640 $ 720 $ 355 h 560 $ 16.00 $ / HORA 15 h 240 $ 40 h 640 $ Coste total 2800 $ Tabla 10 Mano de Obra directo 95 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 1.2. MATERIAS PRIMAS Las materias básicas utilizadas tanto en la fase de investigación como en la creación del prototipo se detallan minuciosamente en la tabla a continuación. Es importante señalar que los costos por unidad pueden fluctuar dependiendo del distribuidor y la cantidad de productos adquiridos. ESP32 - DevKitC Protoboard DHT11 LDR Sensor humedad Ph sensor Display LCD Modulos 2 reles Conversor de Potencia salida a (3.3V, 5V, 12V) Adaptador AC/DC de 12 V, 2A Cables Bomba Agua 12V Ventilador 12 V Coste Total PRECIO UNITARIO $ 30 13 9 6 17 20 25 8 13 CANTIDAD PRECIO TOTAL $ 1 1 1 1 1 1 1 5 1 30 13 9 6 17 20 25 40 13 15 1 15 12 13 19 1 1 12 13 19 232 $ Tabla 11 Materias Primas 96 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 1.3. PUESTO DE TRABAJO El cálculo de los costos asociados al puesto de trabajo incluye la depreciación de las herramientas y equipos, el software y las licencias, así como el consumo de energía. Las herramientas e instrumentos de laboratorio esenciales para el diseño y la investigación consumen energía, lo que representa un gasto adicional. Además, se considera la depreciación de los componentes a lo largo de su vida útil. Los equipos informáticos empleados, de uso personal, han sido fundamentales para todas las etapas del trabajo, desde la investigación inicial hasta la programación final del dispositivo. Para estimar el gasto total del puesto de trabajo, se toma en cuenta el tiempo dedicado al proyecto, ya que el uso constante de estas herramientas ha sido imprescindible. El consumo medio de energía en New Jersey viene a ser de 0.20 $ el kW. A continuación, se calcula el coste energético según la fórmula 𝐶𝑜𝑠𝑡𝑒 𝐸𝑛𝑒𝑟𝑔é𝑡𝑖𝑐𝑜 = 𝐶𝑜𝑛𝑠𝑢𝑚𝑜 𝑀𝑒𝑑𝑖𝑜 𝐸𝑛𝑒𝑟𝑔í𝑎 ∗ 𝑃𝑜𝑡𝑒𝑛𝑐𝑖𝑎 (𝑘𝑊ℎ) ∗ ℎ𝑜𝑟𝑎𝑠 𝑇𝑟𝑎𝑏𝑎𝑗𝑎𝑑𝑎𝑠 Coste Energético = 1kWh ∗ 0.20 $ 𝑘𝑊ℎ ∗ 175h = 35 $ Útil Coste Ordenador 855 $ Multímetro 45 $ Total 900 $ Tabla 12 Equipamiento puesto trabajo Estimando un ciclo de vida útil de 5 años y un tiempo de uso de 8 meses para el proyecto por lo que el coste de amortización instrumental calculado es: Coste de Amortización = Tiempo de Uso 𝐶𝑖𝑐𝑙𝑜 𝑑𝑒 𝑉𝑖𝑑𝑎 Ú𝑡𝑖𝑙 𝐶𝑜𝑠𝑡𝑒 𝑑𝑒 𝐴𝑚𝑜𝑟𝑡𝑖𝑧𝑐𝑖ó𝑛 = 𝑥 𝐼𝑛𝑣𝑒𝑟𝑠𝑖ó𝑛 𝑇𝑜𝑡𝑎𝑙 𝐸𝑞𝑢𝑖𝑝𝑜 8 𝑚𝑒𝑠𝑒𝑠 𝑚𝑒𝑠𝑒𝑠 x 869 $ = 115.87 $ 5 𝑎ñ𝑜𝑠 𝑥 12 𝑎ñ𝑜 97 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos Además de la amortización de la instrumentación, es importante considerar los gastos asociados con el software empleado en el proyecto. La mayoría de los programas utilizados son de código abierto y, por lo tanto, no requieren de licencias de pago. En situaciones donde se necesite software propietario, se podrían solicitar licencias de estudiante, dado que el proyecto tiene fines académicos exclusivamente. Los costos relacionados con el puesto de trabajo se resumen en la tabla siguiente. Útil Coste Coste energético 35 $ Coste de amortización 115.87$ $ Total 150.87 $ Tabla 13 Coste Puesto de trabajo Los costes indirectos, que abarcan la Mano de Obra Indirecta, Gastos Generales y Gastos Sociales, no se contemplan en este proyecto. La Mano de Obra Indirecta se refiere a los gastos del personal administrativo que no participa directamente en el proyecto, los Gastos Generales incluyen el coste de las instalaciones y su mantenimiento, y los Gastos Sociales cubren la formación de los trabajadores, la seguridad social y la responsabilidad civil. Dado que el proyecto se centra en el desarrollo de un prototipo y se ha llevado a cabo fuera de un entorno laboral o empresarial tradicional, no es posible estimar estos gastos de manera realista. 98 Eva M Tipantuña Rodríguez Sistema de monitorización y control para invernaderos 2. COSTE TOTAL DEL PROYECTO A continuación, se muestra una tabla resumen con los costes totales del presente proyecto: Coste Mano de Obra Directa 2800 $ Materia Prima 232 $ Puesto de Trabajo 150.87 $ Coste Total del Proyecto 3182.87 $ Tabla 14 Costo Total de Proyecto El Coste Total del Proyecto asciende a tres mil cientos ochenta y dos con 87 centavos. 99