Subido por Rafael Jaya

Tesis Borrador Eva Tipantuna

Anuncio
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
Descargar