Está en la página 1de 89

ESTADO PLURINACIONAL DE BOLIVIA

MINISTERIO DE EDUCACIÓN DEPORTE Y CULTURA


VICEMINISTERIO DE EDUCACIÓN SUPERIOR DE FORMACIÓN PROFESIONAL
DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TÉCNICA
TECNOLOGÍA, LINGÜÍSTICA Y ARTÍSTICA
SUBDIRECCIÓN DE EDUCACIÓN SUPERIOR
DIRECCIÓN DEPARTAMENTAL DE EDUCACIÓN

INSTITUTO TECNOLÓGICO INDUSTRIAL COMERCIAL


“PUERTO DE MEJILLONES”

DISEÑO DE UN SISTEMA DE RIEGO


AUTOMÁTICO CON MÓDULO WIFI ESP8266
Proyecto de grado para optar; Título Profesional en Provisión Nacional de
TÉCNICO SUPERIOR EN ELECTRONICA

POSTULANTE: Andres Aguilar Choque


TUTOR: Ing. Gonzalo Bazoalto.

Cochabamba – Bolivia

2020
Dedicatoria

A mis padres Por haberme brindado


el apoyo necesario para poder
concluir con satisfacción este
presente trabajo y por ende poder
formarnos como futuros
profesionales capacitados.
AGRADECIMIENTOS

A los docentes por su constancia para


con nosotros y por estar pendientes del
desarrollo del trabajo, y con esto a
logrado en nosotros surgir una
conciencia investigadora que va más
allá de lo que se nos presenta.
INDICE
CAPITULO 1 9
INTRODUCCIÓN 9
1.1 ANTECEDENTES 10
1.2 PLANTEAMIENTO DEL PROBLEMA. 10
1.2.1 Identificación del problema: 10
1.2.2 Identificación de la causa 11
1.2.3 Redacción del problema 11
1.3 OBJETIVOS 11
1.3.1 Objetivo general 11
1.3.2 Objetivos específicos 11
1.4 JUSTIFICACION DEL PROYECTO 12
1.4.1 Justificación social 12
1.4.2 Justificación técnica 12
1.4.3 Justificación económica 12
1.5 ALCANCE 12
1.5.1 Alcance técnico 13
1.5.2 Alcance social 13
CAPITULO 2 14
2. MARCO TEÓRICO 14
2.1 TIPOS DE SUELO 14
2.1.2 Suelo arcilloso: 14
2.1.3 Suelo pedregoso: 14
2.1.4 Suelo arenoso: 15
2.1.5 Suelo franco: 15
2.2 TIPOS DE TUBERIAS 15
2.2.1 Los tubos de PVC 15
2.2.2 Tubos de Polietileno de Baja Densidad: 16
2.2.3 Tubos de polietileno de alta densidad 16
2.2.4 Tubos de aluminio: 17
2.4 TIPOS DE BOMBA DE AGUA 18
2.4.1 Bomba periférica: 18
2.4.2 Bomba centrífuga 18
2.4.3 Motobomba 19
2.3 TIPOS VALVULAS 19
2.3.1 válvula neumática 19
2.3.2 Válvula hidráulica 20
2.3.3 Válvula Solenoide 21
2.3 TIPOS DE SENSOR DE TEMPERATURA 21
2.3.1 Sensor de temperatura digital TO-92 22
2.3.2 Sensor de temperatura LM 35 22
2.3.3 Sensor de temperatura y humedad DTH22 23
2.4 TIPOS DE SENSORES DE HUMEDAD 24
2.4.1 Sensor de humedad Yl-69 24
2.4.2 Sensor de temperatura y humedad digital HTU21D 25
2.4.3 Sensor de temperatura y humedad DHT11 25
2.5 TIPOS DE LENGUAJE DE PROGRAMACION 26
2.5.1 Lenguaje Java 26
2.5.2 Lenguaje Python 27
2.5.3 Lenguaje C++ 28
2.6 TIPOS DE MICROCONTROLADORES 29
2.6.1 Microcontrolador Atmel 29
2.6.2 Microcontrolador Microchip 31
2.6.3 MÓDULO ESP8266 32
2.6 TIPOS DE PANELES SOLARES 33
2.6.1 Paneles solares fotovoltaicos 33
2.6.2 Paneles solares térmicos 34
2.7 TIPOS DE DIFUSORES DE RIEGO 35
2.7.1 Los de aspersión 35
2.7.2 Los de difusión 36
2.8 TIPOS DE SISTEMAS DOMOTICOS 37
2.8.1 Cable Bus (KNX) 37
2.8.2 Cable PLC 37
2.8.3 Inalámbrico 38
2.9 TIPOS DE COMUNICACIÓN INALAMBRICA 38
2.9.1 Bluetooth 38
2.9.2 3G 39
2.9.3 WIFI 40
CAPITULO 3 42
3 PROPUESTA DE INNOVACIÓN O SOLUCIÓN DEL PROBLEMA 42
3.1 SISTEMAS DE ENERGIA 42
3.2 IMPLEMENTACION Y ESQUEMA DEL PROYECTO. 43
3.2.1 Diagrama de flujo 43
3.2.2 Esquema eléctrico 44
3.2.3 Esquema hidráulico 44
3.3 SENSORES Y ACTUADORES DEL SISTEMA DE RIEGO 45
3.3.1 Sensor de humedad de suelo 45
3.3.2 Sensor de temperatura y humedad ambiente 46
3.3.2 Bomba de agua 47
3.3.3 Código del proyecto 48
3.4 DISEÑO DEL SISTEMA DE CONTROL DOMÓTICO 53
3.4.1 Código del módulo ESP8266 54
3.5 INSTALACION DE LOS DIFUSORES DE RIEGO 55
Los de aspersión 55
3.6 IMPLEMENTACIÓN DEL SISTEMA DE RIEGO 56
CAPITULO 4 59
4.1 TABLA DE COSTOS 59
4.2 VIABILIDAD ECONÓMICA 59
4.3 MANO DE OBRA 60
CAPITULO 5 61
CONCLUSIONES Y RECOMENDACIONES 61
5.1 CONCLUSIONES 61
5.2 RECOMENDACIONES 61
BIBLIOGRAFIA 62
ANEXOS 63
Anexo 1 63
Código del sistema de riego 63
Anexo 2 84
Código ESP8266 y firebase 84
ÍNDICE DE FIGURAS

Figura 1 Suelo arcilloso 14


Figura 2 Suelo pedregoso 14
Figura 3 Suelo arenoso 15
Figura 4 Suelo franco 15
Figura 5 Tubos de PVC 16
Figura 6 tubos polietileno de baja densidad 16
Figura 7 Tubos polietileno de alta densidad 17
Figura 8 Tubos de aluminio. 17
Figura 9 bomba periférica 18
Figura 10 bomba centrifuga 18
Figura 11 motobomba 19
Figura 12 válvula neumática 20
Figura 13 válvula hidráulica 20
Figura 14 válvula solenoide 21
Figura 15 Sensor de temperatura digital TO-92. 22
Figura 16 Sensor de temperatura LM 35. 23
Figura 17 Sensor de temperatura y humedad DTH22 24
Figura 18 Sensor de humedad Yl-69 25
Figura 19 Sensor de temperatura y humedad digital HTU21D 25
Figura 20 Sensor de temperatura y humedad DHT11 26
Figura 21 interconexión del microcontrolador 29
Figura 22 microcontrolador Atmel 30
Figura 23 microchip. 32
Figura 24 Modulo ESP8266 33
Figura 25 Panel solar fotovoltaico 34
Figura 26 Panel solar termino - Captador plano 35
Figura 27 Panel solar térmico - Captador de tubos vacíos 35
Figura 28 Difusores de riego por aspersión 36
Figura 29 Difusores de riego por difusión 37
Figura 30 Cable bus knx 37
Figura 31 Cable PLC 38
Figura 32 domótica inalámbrica 38
Figura 33 Panel solar fotovoltaico 42
Figura 34 Esquema eléctrico. 44
Figura 35 Conexión hidráulica 44
Figura 36 Sensor de humedad de suelo YL-69 46
Figura 37 Sensor temperatura y humedad DHT22 47
Figura 38 Bomba de agua centrífuga 47
Figura 39 Código de programación 50
Figura 40 Código de programación 51
Figura 41 Código de programación 51
Figura 42 Código de programación 52
Figura 43 Código de programación 52
Figura 44 Microcontrolador ATmega328P 53
Figura 45 Módulo Wifi ESP8266 54
Figura 46 Código de programación firebase 54
Figura 47 Código de programación firebase 55
Figura 48 Aspersores de riego 56
Figura 49 Tanque de agua 56
Figura 50 Jardín de prueba 57
Figura 51 Unión T 57
Figura 52 Tapón de expansión 58
Figura 53 Mando de control 58

INDICE DE TABLAS
Tabla 1 válvula neumática 20
Tabla 2 válvula solenoide 22
Tabla 3 características sensor To-92 23
Tabla 4 Sensor LM35 24
Tabla 5 características sensor DTH22 24
Tabla 6 Características sensor YL-69 25
Tabla 7 características sensor HTU21D 26
Tabla 8 características sensor DHT11 27
Tabla 9 características Atmel 31
Tabla 10 características microchip 32
Tabla 11 tipos de gama 32
Tabla 12 características módulo ESP8266 33
Tabla 13 clases de bluetooth 40
Tabla 14 Estándares de wifi 41
Tabla 15 Tipos de energía renovables 43
Tabla 16 Elección de tuberia 46
Tabla 17 Elección de sensor de humedad de suelo 46
Tabla 18 Elección de sensor de humeda y temperatura ambiente 47
Tabla 19 Elección de bomba de agua 48
Tabla 20 Elección del microcontrolador 54
Tabla 21 Elección de módulo wifi 54
Tabla 22 Elección de los difusores de riego 56
Tabla 23 Requisitos de componentes electrónicos 60
Tabla 24 Componentes mecánicos 60
Tabla 25 Cotización sistema de riego 60
Tabla 26 Mano de obra 61
CAPITULO 1

INTRODUCCIÓN

La implementación de sistemas controlados automáticamente está siendo cada


vez más implementado en el área local e internacional, el sistema de riego
automático con módulo wifi 8266 ofrece control del sistema en una forma
domótica que el operador pueda tener el control y manejo del mismo.
La falta de automatización y derroche del agua es un déficit que existe, en el
área local se presenta los mismos puntos de observación. Casas particulares,
hoteles, instituciones públicas o privadas, no cuentan en una gran mayoría con
un sistema automático para el riego de los jardines lo que dificulta el
mantenimiento de las áreas verdes.
Se muestra en el capítulo 2 los materiales electrónicos y materiales mecánicos
disponibles en el mercado para implementar un sistema de riego automático y
dar una solución al problema.
En el capítulo 3 se da marcha a la implementación del proyecto, observando
las características de los componentes, las ventajas que nos ofrecen y los
precios de cada uno, seleccionando cual es el ideal para el funcionamiento del
sistema.
La parte de los costos de componentes electrónicos y los componentes
mecánicos que se eligió para el sistema de riego y mano de obra esta descrita
en el capítulo 4 que se muestra en tablas descriptivas.
En la actualidad gran cantidad de compañías e instituciones públicas o
privadas están añadiendo áreas verdes en sus instalaciones porque le dan una
imagen y apariencia más deslumbrante al personal que visita el lugar, esto
implica una atención y mantenimiento para el jardín para que crezca
apropiadamente.
1.1 ANTECEDENTES
Anteriormente en años pasados el regado de los jardines se realizaba en su
mayoría de forma manual, regando los jardines a través de una manguera
conductiva de agua y la presencia física del personal encargado. Con la
finalidad de mantener los jardines en buenas condiciones ya sea en las casas,
empresas u hoteles que tienen jardines amplios o pequeños, se requiere una
inversión de tiempo en el cuidado y regado de los mismos.
Los últimos años se fue empleando métodos de regado mucho más
avanzados, como, por ejemplo, en algunos lugares se fue implementando el
regado con aspersores o también con piletas de movimiento. Esto con la
finalidad de que el riego de los jardines sea mucho más efectivo.
En la actualidad se puede observar que, en universidades, empresas u otras
instituciones el uso de jardines le da una mejor imagen y presencia, estas
instituciones están empleando por una parte en áreas verdes-plantines para
embellecer los lugares públicos y privados, con el avance de la tecnología, la
automatización y la creación de mejores productos de riego se puede obtener
un regado más eficiente y automático permitiendo un mejor control del riego y
también un mejor cuidado de los jardines evitando así el descuido y/o deterioro.
El Instituto Tecnológico Industrial Comercial (ITIC) "Puerto de Mejillones" es
una institución del estado boliviano, fue creado el año 1981 actualmente con 38
años de experiencia formando profesionales técnicos a nivel superior, la
institución cuenta con áreas verdes alrededor de sus instalaciones que le dan
una mejor imagen y agradable presencia, pero estos necesitan de inversión de
tiempo en su regado y continuo cuidado.
El cuidado actual de los jardines de esta institución se realiza de la siguiente
forma:
● Los estudiantes están a cargo del riego y cuidado de los jardines.
● El riego se realiza de la manera convencional, a través de una manguera
conductiva de agua.
● En el mantenimiento de los jardines se utiliza la forma tradicional del
riego manual, la institución no cuenta con un encargado que pueda
realizar el mantenimiento respectivo.

1.2 PLANTEAMIENTO DEL PROBLEMA.

A continuación, se menciona los siguientes puntos para poder determinar el


problema:
1.2.1 Identificación del problema:
La falta de tiempo para el proceso de riego de los jardines, y/o la ausencia de
los encargados del mantenimiento del riego provoca que los jardines se
encuentren descuidados. Otro factor es el derroche del agua, lo cual surge la
necesidad de implementar un sistema de riego automático que controle el
tiempo y la cantidad de riego.
Para contrarrestar el cambio climático que sufre el planeta se ve la necesidad
de utilizar energías renovables, energías limpias, estos no producen gases de
efecto invernadero ni emisiones contaminantes.
1.2.2 Identificación de la causa
Las principales causas identificadas son:
● El instituto no cuenta con un personal encargado para el riego de
los jardines lo que ocasiona que los jardines estén mal cuidados.

● El encargado de la institución no tiene tiempo suficiente para


poder regar los jardines.

● Variaciones durante las diferentes épocas del año, lo que significa


distinta cantidad de tiempo de riego.

● Derroche y desperdicio excesivo del agua.

● Falta de uso de energía limpias y renovables amigables con el


medio ambiente.
1.2.3 Redacción del problema
El riego de forma convencional y la falta de la automatización del regado en los
jardines de los domicilios provoca que exista bajo control de la cantidad de
agua que se derrocha.
Una vez identificado y mencionado las principales causas del problema, surge
la necesidad de un control de riego de los jardines.

1.3 OBJETIVOS
1.3.1 Objetivo general
Diseñar y controlar un sistema domótico de riego automático, implementando
energía limpia y renovable, amigable con el medio ambiente, para los jardines
del tecnológico puerto de mejillones.
1.3.2 Objetivos específicos
● Examinar energías renovables para el sistema.

● Implementación y esquema del proyecto.

● Examinar los diferentes sistemas de riego.

● Determinar los sensores y actuadores para el sistema de riego.

● Definir el sistema de control domótico.

● Determinar los difusores de riego.


● Examinar las pruebas del sistema de riego.

1.4 JUSTIFICACION DEL PROYECTO


Se describen las justificaciones siguientes:

1.4.1 Justificación social


En lo social beneficiará al buen mantenimiento y cuidado de las áreas verdes,
también beneficiará en gran parte al medio ambiente en el ahorro del agua,
podrá ser empleada en plazuelas o jardineras públicas, con el cuidado
constante de las áreas verdes mostrará buena imagen a la ciudad o la
institución.
1.4.2 Justificación técnica
La utilización del “sistema de riego automático para jardines urbanos” permitirá
monitorear a través de sensores el estado del suelo de las áreas verdes
mostrando información detallada en la pantalla.
Con la implementación de conexión inalámbrica (wifi), accionará el sistema de
riego sin la necesidad de estar presente físicamente en el centro de control y
será disponible para todo el personal encargado del mantenimiento de las
áreas verdes.
La implementación del proyecto no tiene un impacto ambiental negativo en la
naturaleza, no tiene consecuencias sobre la salud de la población, este ayuda y
mejora al mantenimiento de las áreas verdes.
1.4.3 Justificación económica
La implementación de este sistema de riego beneficia a las casas, hoteles,
condominios, empresas (todas aquellas que cuente con un jardín) en el buen
mantenimiento de sus jardines, ofrecerá también ahorro de tiempo en la
atención de su cuidado.
Además, su implementación no generara aumento en el gasto de la red
eléctrica ya que cuenta con una fuente de energía renovable (panel solar).
En el caso de empresas grandes provocara de que se emplee solamente
personal capacitado en el uso de este sistema teniendo así calidad y no
cantidad de trabajadores.
1.5 ALCANCE
Se estudiará las energías renovables para seleccionar la más adecuada al
medio ambiente.
El sistema de riego automático podrá ser implementado en áreas verdes de la
institución cuyas dimensiones de los jardines son alrededor de 5x8 metro u
8x12metros.
Se investigará y seleccionará los sensores y actuadores adecuados.
Se dimensionará el diseño hidráulico y también se estudiará los tipos de
difusores de riego.
Para finalizar con el proyecto, se diseñará un prototipo que permita revisar las
condiciones de funcionamiento del sistema, contará con sistema de
recopilación de datos y de programación.
1.5.1 Alcance técnico
El avance del proyecto se llevará a cabo desde el riego de los aspersores en
las áreas verdes, tendrá presente un sistema de monitoreo del estado del
suelo, la humedad y temperatura ambiente. El encargado tendrá acceso a las
variables de datos en la pantalla y a la programación de tiempo de riego que
desee.
1.5.2 Alcance social
Este sistema tiene alcance social inclinado a las universidades o instituciones,
viviendas o condominios, medianas y grandes empresas que requieran un
sistema automático de riego para sus jardines con el propósito de mejorar la
calidad de vida de las personas.
CAPITULO 2

2. MARCO TEÓRICO
Se describirá las características y funcionamiento de los componentes que
integra el sistema de riego automático.
2.1 TIPOS DE SUELO
De acuerdo a la textura del suelo, es decir a cómo luce y cómo se siente, es
posible distinguir los siguientes tipos de suelo:

2.1.2 Suelo arcilloso:

Es un tipo de suelo compacto y hasta gomoso (elástica y solida) que no permite


que el agua penetre bien.

Figura 1 Suelo arcilloso

Fuente: https://jardineriaon.com

2.1.3 Suelo pedregoso: Es un suelo que presenta muchas piedras y por eso se
dificulta el cultivo de plantas. La tierra además es seca y compacta.

Figura 2 Suelo pedregoso

Fuente: https://jardineriaon.com
2.1.4 Suelo arenoso:

A diferencia del suelo arcilloso, este suelo es suelto y seco por lo que el agua
se absorbe con rapidez.

Figura 3 Suelo arenoso

Fuente: https://jardineriaon.com

2.1.5 Suelo franco:

Es un suelo liviano y suelto que presenta una gran cantidad de limos


(sedimento de ríos), humus y materia orgánica, y por eso es muy fértil.

Figura 4 Suelo franco

Fuente: https://jardineriaon.com

2.2 TIPOS DE TUBERIAS


2.2.1 Los tubos de PVC: Son de color gris (PVC-U) o bien azul o morado (PVC-O),
con dos tipos de embocadura: unión mediante junta elástica y unión encolada para el
PVC-U y unión exclusivamente por junta elástica para el tubo orientado. El color azul
del tubo de PVC-O indica su idoneidad para el transporte de agua potable y el color
morado para el transporte de agua reutilizada.
Figura 5 Tubos de PVC

Fuente: https://molecor.com

2.2.2 Tubos de Polietileno de Baja Densidad:

Es de uso alimentario, la presión de trabajo es de 4, el diámetro exterior es de


16mm. La tubería de polietileno de baja densidad posee tubería de P.E baja
densidad, es apta para la conducción de agua potable y es fabricadas según
norma 53131, tubos de PE para conducción de agua a presión.

Figura 6 tubos polietileno de baja densidad

Fuente: https://Quimi.net.com

2.2.3 Tubos de polietileno de alta densidad


HDPE por sus siglas en inglés, Son tubos más rígidos y duros que los de
PELD, con mayor resistencia a temperaturas extremas y a agentes químicos.

Figura 7 Tubos polietileno de alta densidad

Fuente: https://Quimi.net.com

2.2.4 Tubos de aluminio:

Son tubos muy ligeros, por lo que es muy sencillo de transportar e


instalar/desmontar en las instalaciones. Es altamente resistente a la corrosión,
por lo que tiene una vida prácticamente ilimitada. Además, es totalmente
reciclable, con lo que ayudamos a conservar el medio ambiente.

Figura 8 Tubos de aluminio.

Fuente: https://Ceacsa.com
2.4 TIPOS DE BOMBA DE AGUA
Se denomina bomba de agua al dispositivo que consigue convertir la energía
mecánica que posibilita su accionar en energía de un fluido incompresible que
ella misma consigue desplazar. Cuando aumenta la energía del fluido (el agua),
además logra incrementar su presión, su altura o su velocidad.
2.4.1 Bomba periférica:
La bomba periférica es conocida por su uso doméstico.
Son eléctricas y su función es elevar el agua a más de 30 metros de altura,
dependiendo del modelo, brindando la presión de agua que necesitas.
Tiene un caudal máximo de 86 litros por minuto.
Figura 9 bomba periférica

Fuente: https://bombashidro.com

2.4.2 Bomba centrífuga


Son utilizadas para uso doméstico o agrícola, a diferencia de las demás
bombas, esta sirve para sacar agua de pozos o regadíos en grandes
cantidades en poco tiempo.
Tiene la capacidad de mover entre 120 y 156 litros por minuto
Es más silenciosa que la periférica y también es eléctrica.
Figura 10 bomba centrifuga
Fuente: https://bombashidro.com

2.4.3 Motobomba
Son bombas con un motor a combustión, lo cual les permite funcionar de
manera independiente. Esta bomba lanza caudal y presión al mismo tiempo.
Son ideales para trabajos de riesgo extendido en sectores agrícola, llenado de
tanques, y para suministrar agua a lugares distantes. Es importante que esté
bien equilibrada con el suelo para reducir la perdida de aceite con el
movimiento, ya que de suceder esto, se apagará automáticamente.
Figura 11 motobomba

Fuente: https://bombashidro.com

2.3 TIPOS VALVULAS


Una válvula se puede definir como un aparato mecánico con el cual se puede
iniciar, detener o regular la circulación (paso) de líquidos o gases mediante una
pieza movible que abre, cierra u obstruye en forma parcial uno o más orificios o
conductos.
2.3.1 válvula neumática
Válvula Las válvulas neumáticas tienen como función principal dirigir y distribuir
el aire comprimido dentro de un circuito neumático. Regulan el paso o lo
frenan. Arman el camino que debe recorrer el fluido .
Tabla 1 válvula neumática

Parámetros Válvula neumática


Caudal 700 l/min
Tensión 24 V DC o 110 o 230 V AC
Fluidos Aire
Temperatura del fluido -10°C / +90°C
Material del piloto acero inoxidable

Figura 12 válvula neumática

Fuente: https://Romeindustrial.com

2.3.2 Válvula hidráulica


Un sistema hidráulico utiliza líquido hidráulico o fluido de tractor para operar
maquinaria. Se ejerce cierta presión sobre el fluido hidráulico a medida que
pasa a través de mangueras pequeñas. La fuerza ejercida por la presión sobre
el fluido, acciona la maquinaria.
Propiedades de los fluidos hidráulicos:

● Viscosidad apropiada
● Variación mínima de viscosidad con la temperatura
● Estabilidad frente al cizallamiento
● Baja compresibilidad
● Buen poder lubricante
● Inerte frente a los materiales de juntas y tubos
● Buena resistencia a la oxidación
● Estabilidad térmica e hidrolítica
● Características anticorrosivas
● Propiedades antiespumantes
● Ausencia de acción nociva

Figura 13 válvula hidráulica


Fuente: https://Genebre.com

2.3.3 Válvula Solenoide


La válvula solenoide es un dispositivo que permite convertir una señal eléctrica
en una señal hidráulica de presión capaz de abrir o cerrar la válvula.
El solenoide consiste básicamente una bobina de cobre en cuyo interior se
encuentra un núcleo ferromagnético, de tal forma que cuando la bobina o
recibe tensión, el núcleo adopta una posición de reposo y al recibir tensión
cambia su posición, pasando al estado de excitación. Con este cambio de
posición del núcleo se produce la ecuación hidráulica de la válvula, ya sea su
apertura o bien su cierre
Tabla 2 válvula solenoide

Parámetros Válvula Solenoide


Tipo de corriente continua: 12 V. 24 V. 110 V
alterna: 24 V. 110 V. 220 V
Número de vías 3 vías P (presión) C (comando) E (drenaje) y
de 2 vías P(presión) C (comando)
Forma de operación Normalmente abierto (N.O.)
Normalmente cerrado (N.C.)
Potencia 2.5, 5.5 y 8 W
diámetro del orificio interno 1.6, 2 y 2.4 mm

Figura 14 válvula solenoide

Fuente: https://Valvutex.com
2.3 TIPOS DE SENSOR DE TEMPERATURA
Un sensor de temperatura es un componente electrónico capaz de detectar
magnitudes físicas o químicas a través del sensor térmico transforma la
diferencia de potencial en una señal eléctrica. Ósea transforma los cambios de
temperatura en cambios de señales eléctrica que son procesados por equipo
electrónico.

2.3.1 Sensor de temperatura digital TO-92


Este sensor está diseñado para medir la temperatura del ambiente. Es muy útil
para el control de la temperatura en productos de consumo, sistemas
industriales y en muchos sistemas de medición térmica.
Tabla 3 características sensor To-92

Parámetros Sensor de temperatura digital TO-92

Tipo de salida IC Digital

Rango de detección de temperatura -1.5 a 125 C

Corriente 1 mA

Rango de voltaje 3 V a 5,5 V

Temperatura de funcionamiento mín. - 55 C

Temperatura de funcionamiento máx. 125 C

Figura 15 Sensor de temperatura digital TO-92.

Fuente: https://Sawers.com.bo
2.3.2 Sensor de temperatura LM 35
En el LM35 la primera patilla o pin es para la alimentación necesaria para el
sensor, que va de 4 a 30v, luego, en el centro, tenemos la patilla para la salida,
es decir, la que dará una tensión u otra en función de la temperatura. Y la
tercera patilla es de tierra. Su rango de temperaturas está limitado por la
cantidad de voltajes variables que puede tener a su salida, que van desde los -
550mV hasta los 1500mV.

Tabla 4 Sensor LM35

Parámetros Sensor de temperatura LM 35

Temperaturas de medición Entre -55ºC y 150ºC

Resolución 10mV por cada grado centígrado.

Voltaje de alimentación Desde 4Vdc hasta 20Vdc.

Tipo de medición Salida analógica.

Consumo de corriente 60 μA

Figura 16 Sensor de temperatura LM 35.

Fuente: https://Sawers.com.bo

2.3.3 Sensor de temperatura y humedad DTH22


El DHT22 (AM2302) es un sensor digital de temperatura y humedad relativa de
buen rendimiento y bajo costo. Integra un sensor capacitivo de humedad y un
termistor para medir el aire circundante, y muestra los datos mediante una
señal digital en el pin de datos (no posee salida analógica). Utilizado en
aplicaciones de control automático de temperatura, aire acondicionado,
monitoreo ambiental en agricultura y más. 

Tabla 5 características sensor DTH22

Parámetros Sensor de temperatura y humedad DTH22

Voltaje de Operación 3V - 6V DC

Rango de medición de temperatura -40°C a 80 °C

Precisión de medición de <±0.5 °C


temperatura

Rango de medición de humedad De 0 a 100% RH

Precisión de medición de humedad 2% RH

Figura 17 Sensor de temperatura y humedad DTH22

Fuente: https://Tdrobotica.com

2.4 TIPOS DE SENSORES DE HUMEDAD


El sensor de humedad mide la humedad del aire a través de las señales
eléctricas cuya intensidad suele estar comprendida entre 4 y 20 Ma. Los
sensores de humedad estas disponibles tanto digital como analógica.

2.4.1 Sensor de humedad Yl-69


Este sensor puede medir la cantidad de humedad presente en el suelo que lo
rodea empleando dos electrodos que pasan corriente a través del suelo, y lee
la resistencia. Mayor presencia de agua hace que la tierra conduzca
electricidad más fácil (Menor resistencia), mientras que un suelo seco es un
conductor pobre de la electricidad (Mayor resistencia).

Tabla 6 Características sensor YL-69

Parámetros Sensor de humedad Yl-69

Tipo de medición Analógica

Sensibilidad de disparo ajustable mediante trimmer.

Función provista por un comparador con LM393

Voltaje de alimentación 2Va6V

DO Salida digital indicadora de superación de umbral

Figura 18 Sensor de humedad Yl-69

Fuente: https://Electroncoscaldas.com

2.4.2 Sensor de temperatura y humedad digital HTU21D


Es ideal para la detección del medio ambiente y del registro de datos, es un
sensor digital que permite realizar tomas de datos directamente con la interfaz
deseada.

Tabla 7 características sensor HTU21D

Parámetros Sensor de temperatura y humedad digital


HTU21D

Rango de operación de humedad 0 - 100% HR

Tiempo de respuesta de humedad De 8 segundos (tau 63%)


Rango funcionamiento de temperatura -40 a 125 Grados C

4 pines 5V, GND, reloj (SCL), datos (SDA)

Figura 19 Sensor de temperatura y humedad digital HTU21D

Fuente: https://Sawers.com.bo

2.4.3 Sensor de temperatura y humedad DHT11


El DHT11 es un sensor con una alta fiabilidad y estabilidad debido a su señal
digital calibrada. Viene de dos formas, individual donde solo tenemos el sensor
DHT11, o insertado en una PCB.

Una de las ventajas que nos ofrece el DHT11, además de medir la temperatura
y la humedad, es que es digital.

Tabla 8 características sensor DHT11

Parámetros Sensor de temperatura y humedad DHT11

Alimentación de 3,5 V a 5 V

Consumo 2,5 mA

Señal de salida Digital

Rango de Temperatura De 0ºC a 50ºC

Resolución 1ºC (8-bit)

Rango de Humedad De 20% RH a 90% RH


Figura 20 Sensor de temperatura y humedad DHT11

Fuente: https://Electrocrea.com

2.5 TIPOS DE LENGUAJE DE PROGRAMACION

2.5.1 Lenguaje Java


Java es un lenguaje de programación y una plataforma informática
comercializada por primera vez en 1995 por Sun Microsystems.
La primera característica, orientado a objetos (“OO”), se refiere a un método de
programación y al diseño del lenguaje. Aunque hay muchas interpretaciones
para OO, una primera idea es diseñar el software de forma que los distintos
tipos de datos que usen estén unidos a sus operaciones. Java elimina muchas
de las características de otros lenguajes como C++, para mantener reducidas
las especificaciones del lenguaje y añadir características muy útiles como
el garbage collector (reciclador de memoria dinámica). No es necesario
preocuparse de liberar memoria, el reciclador se encarga de ello y como es de
baja prioridad, cuando entra en acción, permite liberar bloques de memoria
muy grandes, lo que limita en mucho la fragmentación de la memoria.
Java reduce en un 50% los errores más comunes de programación con
lenguajes como C y C++ al eliminar muchas de las características de éstos,
entre las que destacan:
● Aritmética de punteros
● No existen referencias
● Registros (struct)
● Definición de tipos (typedef)
● Macros (#define)
● Necesidad de liberar memoria (free)
Más allá de la portabilidad básica por ser de arquitectura independiente, Java
implementa otros estándares de portabilidad para facilitar el desarrollo. Los
enteros son siempre enteros y además, enteros de 32 bits en complemento a 2.
Además, Java construye sus interfaces de usuario a través de un sistema
abstracto de ventanas de forma que las ventanas puedan ser implantadas en
entornos Unix, Pc o Mac.
Desde el 2001, JAVA es el lenguaje programación más usado. Actualmente
cuenta con más de 9 millones desarrolladores que lo usan y está presente en
más de 7 mil millones de dispositivos en todo el mundo. Su popularidad se
debe a su gran legibilidad y simplicidad.
2.5.2 Lenguaje Python

El creador del lenguaje es un europeo llamado Guido Van Rossum. Hace ya


más de una década que diseño Python, ayudado y motivado por su experiencia
en la creación de otro lenguaje llamado ABC. El objetivo de Guido era cubrir la
necesidad de un lenguaje orientado a objetos de sencillo uso que sirviese para
tratar diversas tareas dentro de la programación que habitualmente se hacía en
Unix usando C.
Python es un lenguaje de scripting independiente de plataforma y orientado a
objetos, preparado para realizar cualquier tipo de programa, desde aplicaciones
Windows a servidores de red o incluso, páginas web. Es un lenguaje
interpretado, lo que significa que no se necesita compilar el código fuente para
poder ejecutarlo, lo que ofrece ventajas como la rapidez de desarrollo.

En los últimos años el lenguaje se ha hecho muy popular, gracias a varias


razones como:

● La cantidad de librerías que contiene, tipos de datos y funciones


incorporadas en el propio lenguaje, que ayudan a realizar muchas tareas
habituales sin necesidad de tener que programarlas desde cero.
● La sencillez y velocidad con la que se crean los programas. Un
programa en Python puede tener de 3 a 5 líneas de código menos que
su equivalente en Java o C.
● La cantidad de plataformas en las que podemos desarrollar, como Unix,
Windows, OS/2, Mac, Amiga y otros.
● Además, Python es gratuito, incluso para propósitos empresariales.

2.5.3 Lenguaje C++

C++ es un lenguaje de programación diseñado a mediados de los años 1980


por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso
lenguaje de programación C con mecanismos que permitan la manipulación de
objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a
objetos, el C++ es un lenguaje híbrido.

C# es un lenguaje propietario de Microsoft que mezcla las características


básicas de C++ (no las avanzadas) simplificándolas al estilo Java y ofreciendo
un framework. C# forma parte de la plataforma .NET

Características de C:
● Es el lenguaje de programación de propósito general asociado al
sistema operativo UNIX.
● Es un lenguaje de medio nivel. Trata con objetos básicos como
caracteres, números, etc. También con bits y direcciones de memoria.
● Posee una gran portabilidad
● Se utiliza para la programación de sistemas: construcción de intérpretes,
compiladores, editores de texto, etc.
• Uso de punteros.
• Es portátil, tiene un gran número de compiladores en diferentes
plataformas y sistemas operativos.
• Es de uso general.

2.6 TIPOS DE MICROCONTROLADORES


El microcontrolador es un circuito integrado que en su interior contiene una
unidad central de procesamiento (CPU), unidades de memoria (RAM y ROM),
puertos de entrada y salida y periféricos. Estas partes están interconectadas
Figura 1 interconexión del microcontrolador
Fuente: https://Electronicaestudio.com

dentro del microcontrolador, y en conjunto forman lo que se le conoce como

microcomputadora. Se puede decir con toda propiedad que un


microcontrolador es una microcomputadora completa encapsulada en un
circuito integrado.

Toda microcomputadora requiere de un programa para que realice una función


específica. Este se almacena normalmente en la memoria ROM. No está de
más mencionar que sin un programa, los microcontroladores carecen de
utilidad.

El propósito fundamental de los microcontroladores es el de leer y ejecutar los


programas que el usuario le escribe, es por esto que la programación es una
actividad básica e indispensable cuando se diseñan circuitos y sistemas que
los incluyan. El carácter programable de los microcontroladores simplifica el
diseño de circuitos electrónicos. Permiten modularidad y flexibilidad, ya que un
mismo circuito se puede utilizar para que realice diferentes funciones con solo
cambiar el programa del microcontrolador.

2.6.1 Microcontrolador Atmel


Atmel Corp. ofrece productos, incluye microcontroladores (incluyendo
derivados del 8051, el AT91SAM basados en ARM, y sus arquitecturas propias
AVR y AVR32), dispositivos de radiofrecuencia, memorias EEPROM y Flash,
ASICs, WiMAX.

Tabla 9 características Atmel

Parámetros Microcontrolador Atmel

Voltaje de operación 2.7 - 6.0V

AVR Alto rendimiento y bajo consumo


Arquitectura RISC

reloj ciclo de ejecución 118 instrucciones de gran alcance

In-System Reprogramable 8K bytes


Flash
Autonomía 1.000 Write / Erase Cycles

EEPROM 512 bytes

Resistencia 100.000 Write / Erase Cycles

SRAM interna 512 bytes

uso general de Trabajo 32 x 8 Registros

Interfaz serie SPI

procesamiento en 8 MHz Hasta 8 MIPS

Contador Un 8-Bit Timer - Un 16-Bit Timer

consumo Bajo consumo

Figura 22 microcontrolador Atmel

Fuente: https://Cosasdeingenieria.com

2.6.2 Microcontrolador Microchip


Tabla 10 características microchip

Parámetros Microchip

Núcleos de CPU 8/16 bits con Arquitectura Harvard

Memoria Flash y ROM Disponible desde 256 bytes a 256 kilobytes


Puertos de entrada/salida 0 a 5.5 voltios

Temporizadores De 8/16/32 bits

Periféricos serie síncronos y asíncronos USART, AUSART, EUSART

Conversores analógicos/digital De 8-10-12 bits

Para comunicaciones I²C, SPI, y I²S Periférico MSSP

Memoria EEPROM interna hasta un millón de ciclos de lectura/escritura

Soporte Con interfaz USB

Soporte controlador Ethernet

Soporte controlador CAN

Soporte controlador LIN

A continuación, se muestra una tabla de las diferentes gamas:

Tabla 11 tipos de gama

Gama Alta Gama media Gama Baja

PIC17 (obsoleto) y PIC12 y PIC16 (14-bit PIC10 (y algunos PIC12 y PIC16)


PIC18 opcode) (12-bit opcode)

(16-bit opcode)

Manejo vectorizado de 8 a 68 pines solo 8 pines para los PIC10 y


interrupciones. PIC12

Pila de hasta 31 8 niveles de la pila Pila implementada en hardware,


niveles. hardware. con solo 2 niveles

Nuevas instrucciones Puede manejar hasta 128 Puede manejar solamente 32


optimizadas para la registros (RAM) y 2048 registros (RAM) y 512 palabras de
programación en palabras de instrucción. instrucción.
lenguajes de alto nivel.
Figura 23 microchip.

Fuente: https://Electrio.com

2.6.3 MÓDULO ESP8266

El ESP8266 es un chip Wi-Fi de bajo coste que funciona mediante el protocolo


TCP/IP. Incluye un microcontrolador (Tensilica Xtensa LX106) para manejar
dicho protocolo y el software necesario para la conexión 802.11. Además, la
mayoría de modelos dispone de entradas/salidas digitales de propósito general
(GPIO), así como una entrada analógica (ADC de 10bit).

Su punto fuerte es el disponer de una conexión Wi-Fi, además se puede


programar directamente con el entorno de Arduino con lo que es el chip
perfecto para desarrollar aplicaciones de IoT (por sus siglas en inglés, Internet
de la Cosas.

Tabla 12 características módulo ESP8266

Parámetros Modulo ESP8266


Voltaje de operación 3V y 3,6V
Corriente de operación 80 mA
Temperatura de operación -40ºC y 125ºC
Memoria RAM 64 KiB para instrucciones, 96 KiB para
datos
Wi-Fi IEEE 802.11 b/g/n
Un convertidor Analógico-Digital de 10 bit
(ADC)
Protocolo Soporta IPv4, TCP/UDP/HTTP/FTP
buses de comunicación (SPI, I2C, UART)

Dentro de la gran cantidad de usos para este módulo caben destacar los
siguientes:

● Electrodomésticos conectados.
● Automatización del hogar.
● Automatización de la industria.
● Cámaras IP.
● Redes de sensores.
● Wereables.
● IoT (Internet of Things o Internet de las Cosas)
● IIoT (Industrial Internet of Things o Internet de las Cosas para el sector
Industrial)

Figura 24 Modulo ESP8266

Fuente: https://Programarfacil.com

2.6 TIPOS DE PANELES SOLARES


Los paneles solares o módulos solares son dispositivos diseñados para captar
la radiación electromagnética proveniente del Sol, para su posterior
aprovechamiento y transformación en diversas formas de energía útil.

Los paneles solares absorben la radiación del Sol gracias al conjunto de


cristales de material semiconductor que las componen: silicio cristalino o
arseniuro de galio, y que al estar conectados responden al efecto fotovoltaico,
según el cual cierta materia
2.6.1 Paneles solares fotovoltaicos
Los paneles fotovoltaicos están formados por un conjunto de celdas
fotovoltaicas interconectadas entre ellas. Las células fotovoltaicas que
componen un panel fotovoltaico se encuentran encajadas y protegidas. El
panel fotovoltaico es el encargado de transformar de una manera directa la
energía de la radiación solar en electricidad, en forma de corriente continua.

Existen varios tipos de paneles solares fotovoltaicos: de silicio puro


monocristalino, de silicio puro policristalino, se silicio amorfo, de aresniuro de
galio, de teluro de cadmio, de diseleniuro de cobre en indio o tándem.

Figura 25 Panel solar fotovoltaico

Fuente: https://Autosolar.es.com

La placa fotovoltaica está diseñada para soportar las condiciones que se dan al
aire libre y poder formar parte de la "piel" del edificio. Su vida útil se considera
de 25 años.

2.6.2 Paneles solares térmicos


Los paneles térmicos generan energía termo solar, reciben los rayos solares
sobre su superficie y calientan el agua que circular a través de unos tubos que
se encuentran dentro del panel y de esa formar generan electricidad.

Hay dos tipos de paneles térmicos:

● El Captador plano, se trata de un conjunto de tubos bajo vidrio en el


interior de panel solar. Se trata del tipo de panel térmico más común del
mercado y es el que suele causar más confusión con el panel
fotovoltaico.

Figura 26 Panel solar termino - Captador plano

Fuente: https://autosolar.es.com

● El Captador de tubos vacíos, se trata de una tecnología más compleja


que el anterior, y permite optimizar el calentamiento del agua
minimizando las pérdidas de temperatura. Se trata de un panel térmico
más caro y con una estructura más particular.

Figura 27 Panel solar térmico - Captador de tubos vacíos

Fuente: https://Autosolar.es.com

2.7 TIPOS DE DIFUSORES DE RIEGO


Los difusores de riego son emisores comúnmente utilizados en la jardinería que
distribuyen el agua en forma de gotas o pequeños chorros en un sector fijo.

2.7.1 Los de aspersión


Un aspersor es un emisor de riego que expulsa un chorro de agua giratorio. El
movimiento rotativo del aspersor se genera gracias a la presión del agua.
Habitualmente se utilizan para riego de césped y praderas.

El alcance de riego de los aspersores es muy variado y, además, puede


variarse cambiando la boquilla por la que se expulsa el agua. Se distinguen
cuatro grupos de aspersores según su alcance.

● Aspersores de corto alcance. Tienen un alcance de 4 a 7 metros.


● Aspersores de alcance medio, con un alcance de entre 6 y 12 metros.
● Aspersores de alto alcance, capaces de regar a una distancia de 12 a 18
metros.
● Cañones de riego. Son los utilizados en campos deportivos y tienen
alcances superiores a los 25 metros.

Figura 28 Difusores de riego por aspersión

Fuente: https://Mundoriego.es.com

2.7.2 Los de difusión


Un difusor es un emisor de riego que aporta el agua en forma de abanico, sin
realizar ningún tipo de movimiento. Los difusores son considerablemente más
sencillos que los aspersores.

La parte más importante del difusor es la tobera, que es el lugar por el que se
emite el abanico de agua. Se trata de una pieza sustituible y que determina
tanto el alcance como la forma del abanico.
A los difusores se les puede cambiar la tobera para modificar el área de riego.
Las toberas más habituales pueden tener los siguientes alcances, aunque ten
en cuenta que se pueden reducir un 25% ajustando el tornillo de alcance:

● 2m. Tendrán en el nombre un 8 (que corresponde a 8 pies de alcance)

● 2.5m. Corresponden 10 pies.

● 3m. Bastante habituales. Son modelos marcados con un 12

● 3.5m. De 15 pies y ampliamente utilizadas.

● 4m. 17 pies. Poco habituales porque ya nos encontramos en alcances


de aspersor.

Figura 29 Difusores de riego por difusión

Fuente: https://Mundoriego.es.com

2.8 TIPOS DE SISTEMAS DOMOTICOS


La domótica son los sistemas capaces de automatizar una vivienda o
edificación, aportando servicios de gestión energética, seguridad, bienestar y
comunicación, cuyo control puede realizarse desde dentro y fuera del hogar.
2.8.1 Cable Bus (KNX)

Los sistemas domóticos que funcionan y se integran a través de cable (BUS)


son estables, seguros y muy eficientes. Estos sistemas domóticos por cable
funcionan con sus propios y exclusivos cableados que solo trabajan para el
sistema, de manera exclusiva y única.
Figura 30 Cable bus knx
Fuente: https://domoticasistemas.com

2.8.2 Cable PLC


Este tipo de sistema domótico utiliza el cable de alimentación para enviar sus
señales se conoce con el nombre de "powerline". Aunque tiene grandes
ventajas, sobre todo, en la teoría y a nivel de instalación, en la práctica no son
actualmente sistemas muy estables ni fiables para grandes sistemas de control
domótico.
Figura 31 Cable PLC

Fuente: https://domoticasistemas.com

2.8.3 Inalámbrico
Los sistemas domóticos de funcionamiento e instalación inalámbrica son
rápidos y fáciles de disfrutar en muy poco tiempo y casi en cualquier lugar. Este
tipo de sistemas funcionan con ondas de radiofrecuencia. Son sencillos de
instalar y fáciles de controlar.
Figura 32 domótica inalámbrica

Fuente: https://domoticasistemas.com

2.9 TIPOS DE COMUNICACIÓN INALAMBRICA


La comunicación inalámbrica es aquella en la que ni el emisor ni el receptor se
encuentran unidos de manera física y se comunican mediante el uso de ondas
electromagnéticas.
2.9.1 Bluetooth
Bluetooth es un estándar industrial para conectar en forma inalámbrica (y a
corta distancia) dispositivos electrónicos para la transmisión de voz y datos. Lo
que implica que la señal entre dispositivos no se envía por cable sino a través
de ondas de radiofrecuencia en la banda de los 2.4 Ghz.

Una conexión bluetooth suele funcionar en un radio de hasta 100 metros,


dependiendo de la clase de dispositivo, ya que hay hasta 3 clases que tienen
un alcance de 1 m para los de clase 3, de 5 a 10 m para los de clase 2 y de
hasta 100 m para los de clase 1.

Ventajas:

● Facilita las comunicaciones entre equipos móviles.

● Elimina los cables y conectores entre éstos.

● Ofrece la posibilidad de crear pequeñas redes inalámbricas y facilitar la


sincronización de datos entre equipos personales.

Por lo general el radio es corto, aunque cambia de acuerdo al aparato. Se


clasifican en:
Tabla 13 clases de bluetooth

Parámetros
Bluetooth Clase 1 Con una potencia de 100 mW y un
alcance 100 metros.

Bluetooth Clase 2 Potencia máxima de 2.5 mW con


radio de 5 y 10 metros
Bluetooth Clase 3 Con potencia de 1mW y un metro de
alcance

● Bluetooth transfiere información a un ritmo de 721 Kbps; este ancho de


banda permite la transferencia de voz, datos, video e imágenes fijas.

● En cuanto a velocidad, el Bluetooth solo alcanza hasta 1.0 MBps, esto


indica que la transferencia de información es muy lenta en comparación
con la transferencia de datos vía cable (USB 2.0 o 3.0 por ejemplo).
2.9.2 3G
Es una tecnología de entrada inalámbrica que se origina para sustituir a las
redes 2G, su principal ventaja es que es mucho más rápida que las 2G.

El término 3G (tercera generación), es utilizado para definir una tecnología


móvil que les brinda la posibilidad a los usuarios de poder navegar en internet
con mayor velocidad, y sin la necesidad de cables. Puede ser utilizada por
medio de un modem (para computadoras, netbooks) o a través de teléfonos
celulares. Con esta tecnología las personas podrán conectarse a internet,
desde cualquier lugar

Ventajas:

● El usuario puede acceder a internet desde cualquier lugar


● Posee una mayor velocidad de transmisión de datos
● Ancho de banda excelente, permitiendo las videollamadas en los
teléfonos móviles.

2.9.3 WIFI
Es una tecnología de telecomunicaciones que permite la interconexión
inalámbrica entre sistemas informáticos y electrónicos, tales como
computadores, consolas de videojuego, televisores, teléfonos celulares, etc.
Esta tecnología les permite a dichos dispositivos conectarse entre sí para
intercambiar datos, o bien conectarse a un punto de acceso de red inalámbrica,
pudiendo tener así conexión a Internet.
En la actualidad Wi-Fi utiliza los estándares 802.11a, 802.11b y 802.11g,
siendo este último compatible con el 802.11b; pero ahora, según las nuevas
investigaciones, podremos ver en una próxima oportunidad la implementación
del estándar 802.11n. El estándar 802.11n está basado en una tecnología que
podría ofrecer velocidades de transmisión de datos de hasta 300 Mbps.
Tabla 14 Estándares de wifi

Estándares Características
Velocidad (teórica)- 2 Mbit/s
Velocidad (práctica) - 1 Mbit/s
Frecuencia - 2,4 Ghz
802.11 Ancho de banda - 22 MHz
Alcance - 330 metros
Año de implementación - 1997
Velocidad (teórica)- 54 Mbit/s
Velocidad (práctica) - 22 Mbit/s
Frecuencia - 5,4 Ghz
802.11a Ancho de banda - 20 MHz
Alcance - 390 metros
Año de implementación - 1999
Velocidad (teórica)- 11 Mbit/s
Velocidad (práctica) - 6 Mbit/s
Frecuencia - 2,4 Ghz
802.11b Ancho de banda - 22 MHz
Alcance - 460 metros
Año de implementación - 1999
Velocidad (teórica)- 54 Mbit/s
Velocidad (práctica) - 22 Mbit/s
Frecuencia - 2,4 Ghz
802.11g Ancho de banda - 20 MHz
Alcance - 460 metros
Año de implementación - 2003
Velocidad (teórica)- 600 Mbit/s
Velocidad (práctica) - 100 Mbit/s
Frecuencia - 2,4 Ghz y 5,4 Ghz
Ancho de banda - 20/40 MHz
Alcance - 820 metros
802.11n Año de implementación - 2009
Disponible en la mayoría de los dispositivos
modernos. Puede configurarse para usar solo 20
MHz de ancho y así prevenir interferencias en
una zona congestionada.
Velocidad (teórica)- 6.93 Gbps
Velocidad (práctica) - 100 Mbit/s
Frecuencia - 5,4 Ghz
Ancho de banda - 80 o hasta 160 MHz
Año de implementación - 2013
802.11ac Nuevo estándar sin interferencia, pero con
menos alcance, aunque hay tecnologías que lo
amplían. Más rendimiento y otras ventajas.
Velocidad (teórica)- 7.13 Gbit/s
Velocidad (práctica) - Hasta 6 Gbit/s
Frecuencia - 60 Ghz
802.11ad Ancho de banda - 2 MHz
Alcance - 300 metros
Año de implementación - 2012
Frecuencia - 0.9 Ghz
Ancho de banda - 2 MHz
Alcance - 1000 metros
Año de implementación - 2016
802.11ah Conocida como Wi-Fi HaLow

CAPITULO 3

3 PROPUESTA DE INNOVACIÓN O SOLUCIÓN DEL PROBLEMA

3.1 SISTEMAS DE ENERGIA

En la siguiente tabla se muestra los diferentes tipos de energías renovables más


implementados.

Tabla 15 Tipos de energía renovables

Energía Características
Es una energía renovable que se obtiene del viento que puede
convertirse en energía mecánica y a partir de ella
Eólica en electricidad u otras formas útiles de energía para las
actividades humanas

Hidroeléctrica Es una energía renovable que se obtiene a partir de turbinas


que convierten la energía mecánica en energía eléctrica.

Solar Es una energía renovable, obtenida a partir del


aprovechamiento de la radiación electromagnética procedente
del Sol.

Para una buena elección de una energía renovable, se mencionará las características
que debe tener de acuerdo a las funciones que se necesitan:
⮚ Una energía limpia, sin daño al medio ambiente.
⮚ Energía renovable presente en todas las épocas del año.
⮚ Coste de implementación económica.
Para el proyecto se elegirá de energía renovable el panel solar, cuenta con las
características mencionadas.
Figura 33 Panel solar fotovoltaico

Fuente: https://Autosolar.es.com

3.2 IMPLEMENTACION Y ESQUEMA DEL PROYECTO.

3.2.1 Diagrama de flujo

PANEL SOLAR

BATERIA INICIO (Fuente de


Alimentación)

MODULO WIFI
ESP8266

PANTALLA LCD

SENSOR DE
HUMEDAD
DE SUELO

TABLERO DE
Microcontrolador CONTROL y
PROGRAMACION
ATmega328P
SENSOR DE
HUMEDAD Y
TEMPERATURA BOMBA DE
AMBIENTE AGUA

DIFUSORES DIFUSORES DIFUSORES


DE RIEGO DE RIEGO DE RIEGO

Fuente: Elaboración propia


En este diagrama de bloques se muestra cómo trabaja el proceso de funcionamiento
del proyecto, donde se comunica con el microcontrolador, después se procesan los
datos de información activando la bomba de agua y de ahí a los difusores de riego.

3.2.2 Esquema eléctrico


En la siguiente figura se muestra el esquema eléctrico que lleva el sistema de riego
conectado al microcontrolador, de ahí distribuido al LCD 16x2, al keyPad, al RTC, a los
sensores DHT22, YL-69 y por último conectado al relé.

Figura 34 Esquema eléctrico.


Fuente: Elaboración propia

3.2.3 Esquema hidráulico

En la siguiente figura se muestra la conexión del esquema hidráulico del sistema de


riego.

Figura 35 Conexión hidráulica

Fuente: Elaboración propia

Tabla 16 Elección de tuberia

Tipo de tubo Características imagen

Son materiales altamente


resistentes y flexibles.
Es un material reciclable,
que puede utilizarse
Tubos PVC varias veces.

Resistibles a diferentes
tipos de temperatura,
temperaturas elevadas
hasta 110°C, lo que
significa una larga vida, no
Tubos de polietileno se oxidan y son fáciles de
manipular.

Alta durabilidad, en
grandes instalaciones
reduce los costos de
instalación.

Tuberías de aluminio

Fuente: http://Eurotubo.com
Para la elección de material para las tuberías, se mencionará las características que
debe tener:
⮚ Alta durabilidad.
⮚ Facilidad en la manipulación de instalación.
⮚ Precio económico
Por las ventajas y características se usará el ecotubo de polietileno de 16 y 20 mm.
3.3 SENSORES Y ACTUADORES DEL SISTEMA DE RIEGO

3.3.1 Sensor de humedad de suelo


Tabla 17 Elección de sensor de humedad de suelo

Sensor de Precisión Salida Rango alimentación


humedad

YL-69 2% Salida analógica 0 al 100% 3,3 a 5V


y
Salida digital

SM150T 3 % de precisión 0 - 1 Vdc 0 a 100% 5 a 14 Vdc

 6% transmisor Salida 4-20 mA 0 a 100% 12 a 32 Vdc


analógico de 2 hilos
MAS-1

Para la elección del sensor de humedad de suelo se elegirá por las siguientes
características:
⮚ Voltaje de funcionamiento de 5V dc
⮚ Rango de humedad de 0 a 100%
⮚ Salida analógica.
Figura 36 Sensor de humedad de suelo YL-69

Fuente: https://Electroncoscaldas.com
3.3.2 Sensor de temperatura y humedad ambiente

Tabla 18 Elección de sensor de humeda y temperatura ambiente

Sensor Rango de humedad Rango de temperatura alimentación

DHT11 20% a 90% RH  0 a 50 °C 3 a 5Vdc

DHT22 0% a 100% RH -40ºC a 125ºC 3,3v a 6vdc

LM35 -55 °C hasta 150 °C 4 y 20 Vdc

Para la elección de sensor de humedad y temperatura ambiente se lo elegirá por las


siguientes características.

⮚ Alimentación de voltaje de 5V dc
⮚ Rango de medición de temperatura ambiente por lo menos de 0 a 80°C
⮚ Rango de humedad del ambiente de 0 a 80%
Se utiliza también el sensor de temperatura y humedad de ambiente DTH22 porque es
un componente más preciso, tiene mayor rango de medición que los otros sensores.
Figura 37 Sensor temperatura y humedad DHT22

Fuente: https://Tdrobotica.com

3.3.2 Bomba de agua

Tabla 19 Elección de bomba de agua

Tipo de Bomba Uso Caudal máximo H. máx.(altura)

Bomba Periférica Doméstico 80 litros por minuto 20 metros

Bomba Centrífuga Doméstico y 120 a 156 litros por 30 metros


agrícola minuto

Motobomba Agrícola 6000 hasta 12000 35 a 48 metros.


litros por hora
Para la elección de la bomba de agua se tomará en cuenta las siguientes
características:
⮚ Bomba para uso doméstico.
⮚ Una bomba de ½ o 1 Hp de potencia.
⮚ Bomba ideal para sacar agua de pozos domésticos.
⮚ Caudal de 80 a 150 litros por minuto.
⮚ Bomba de funcionamiento silencioso.
Figura 38 Bomba de agua centrífuga

Fuente: Elaboración propia

3.3.3 Código del proyecto

El código del sistema de riego (véase anexo 1) se realiza en la aplicación Arduino


donde se declaran las variables, los sensores y se describen las condicionales.

3.3.3.1 Flujograma del código


INICIO

Void
“F: ” Now.year()
intro_0 Now.month()
Now.day()

Now.hour()
“Riego automático” “H: ” Now.minute()
Now.second()

Void menú_1
Dht.readTemperature() TEM:

Dht.readHuminity() HA:

hs
AnalogRead()

Activar>1
Void
menú_3
Desactivar>2

Activar_ timbre

NO SI
Timbre Timbre
Pulsación==1 HIGH
LOW

1 “*”
1

Void
HS_Prueba

Hs=analogRead(A3)

NO SI
ON Hs>limite_hs OFF
Void acción_21

NO SI
“dato no Pulsación==1,2,3
registrado ” Contador==21 EEPROM.Write

Void acción_22

NO SI
“dato no Pulsación==1,2,3 Tiempo (5,10,15,30 min)
registrado ” Contador==22

2
2

Void acción_23

NO SI
“dato no Pulsación==1,2,3 hora (6,7,8)
registrado ” Contador==23 (17,18,19)

FIN
A continuación, se describe las partes más importantes del código del sistema de
riego:

Figura 39 Código de programación

Fuente: Elaboración propia

En la figura 39 se declara el pin de salida del relé que será activado manualmente o
mediante el keypad o por programación horaria. En el código se inicializa RTC.

Figura 40 Código de programación

Fuente: Elaboración propia


En la figura 40 Se declara las condiciones para que el relé se active o se desactive y
pueda ser mostrado en la pantalla LCD 16x2.
Figura 41 Código de programación

Fuente: Elaboración propia

En la figura 41 se inicializa el DHT22 para que lea los datos de temperatura y


humedad del ambiente y que sean mostrados en la pantalla LCD, con estos datos se
sabrá a que temperatura se encuentra el ambiente y se es necesario la hidratación del
jardín.
Figura 42 Código de programación

Fuente: Elaboración propia


En la figura 42 se muestra el formato del menú de los horarios determinados para el
riego y la cantidad de tiempo que querremos que sea regado el jardín, estas variables
pueden ser configuradas a la necesidad que se requieran.
Figura 43 Código de programación

Fuente: Elaboración propia

En la figura 43 Se guardan todos los datos sean, hora de programación y tiempo de


activación del relé, en la memoria EEPROM con la finalidad de que los datos estén
almacenados y sean guardados por mucho tiempo.
Tabla 20 Elección del microcontrolador

Microcontrolador Memoria RAM Frecuencia de Memoria flash voltaje


operación

ATmega328P 2 KB 20 MHz 32 KB 1.8 a 5.5 VDC

PIC16F84A 68 bytes 20 MHz 8KB 2 a 5.5V

ATmega2560 8KB 16MHz 256KB 7 a 12V

Para la elección del microcontrolador para el sistema de riego se elegirá por las
siguientes características:
⮚ Número de pines de entradas y salidas.
⮚ Velocidad de frecuencia de operación.
⮚ Memoria flash para la programación.
⮚ Tamaño de datos de RAM.
⮚ Precio de mercado.
Figura 44 Microcontrolador ATmega328P

Fuente:
https://robotics.org.za

3.4 DISEÑO DEL SISTEMA DE CONTROL DOMÓTICO

Tabla 21 Elección de módulo wifi

Módulo Memoria RAM Estándar Reloj máximo Memoria Voltaje


inalámbrico Flash

ESP32 520 kb 802.11 b/g/n 11 pines GPIO 4 MB 4.5 y 9 V

ESP8266 ● Instrucción 802.11 b/g/n 16 pines GPIO  hasta Tiene


de 64 KB. entradas/salidas 16MB conversor
● datos de de 5V a
96 KB 3V y 3.6 V

Para la elección del módulo de wifi se definirá por las siguientes características:

⮚ Memoria RAM
⮚ Estándar inalámbrico
⮚ Memoria Flash
Para el uso domótico del proyecto se implementará el módulo wifi Esp8266, este
módulo es compatible con la mejor capacidad de TCP / IP, con protocolo IPV4.

Figura 45 Módulo Wifi ESP8266


Fuente: https://Jayconsystems.com

3.4.1 Código del módulo ESP8266

Se muestra el código de inicio del programa en la aplicación Arduino (véase anexo 2)

Figura 46 Código de programación firebase

Fuente: Elaboración propia


En la figura 45 incluimos las librerías que se utilizaran en el programa con firebase, se
introduce la dirección y contraseña de la cuenta de firebase para que realice la
conexión, también se coloca el nombre y la contraseña de Wifi a la que se conectara el
ESP8266 con firebase.
Figura 47 Código de programación firebase

Fuente: Elaboración propia


En la figura 46 se crea la variable “led” y es asignada al pin número 2 del módulo
ESP8266 el cual es el pin de salida de datos.
En caso de que no exista conectividad del módulo ESP8266 con la firebase o una vez
conectado y se haya perdido la señal se enviara un mensaje de error de “setting /
number falled”.

3.5 INSTALACION DE LOS DIFUSORES DE RIEGO

Tabla 22 Elección de los difusores de riego

Difusores Características

● Aspersores de corto alcance, tienen un alcance de


Los de aspersión 4 a 7 metros.
● Aspersores de alcance medio,
con un alcance de entre 6 y 12 metros.
● Aspersores de alto alcance, distancia de 12 a 18 m.

● No realizan ningún tipo de movimiento giratorio.


● Presión de distancia regulable.
Los de difusión
● 2 m. distancia de 8 pies de alcance.
● 4 m. distancia de 17 pies de alcance.

Riego por goteo ● Utilización de pequeños caudales a baja presión.


● Localización del agua en la proximidad de las plantas a
través de un número variable de puntos de emisión 
● Como su nombre lo indica realiza el riego por goteo.

Para el riego de los jardines se utiliza difusores estables, por sus características se
puede escoger a cuantos grados de riego se desea, tienen la opción de regular la
presión de distancia de riego, 2m. distancia, 3m distancia y 4m. distancia y son
económicamente accesibles.
Figura 48 Aspersores de riego
Fuente: https://Mundoriego.es.com

3.6 IMPLEMENTACIÓN DEL SISTEMA DE RIEGO

Cumpliendo con la cuarentena a causa del virus covid-19 el sistema riego se


implementara en la propia vivienda, asi para evitar correr el riesgo de contagiarse ya
que sistema deberia ser implementado en el instituto “Puerto de mejillones”. El lugar
de implementacion es amplio en espacio se podra realizar la instalacion y pruebas del
sistema de riego.
Figura 49 Tanque de agua

Fuente: Elaboración propia

Figura 50 Jardín de prueba

Fuente: Elaboración propia


Figura 51 Unión T

Fuente: Elaboración propia

Figura 52 Tapón de expansión

Fuente: Elaboración propia


Figura 53 Mando de control

Fuente: Elaboración propia

Se realizo la medición del terreno del jardín para calcular cuantos metros de tubería se
necesita para la instalación y de acuerdo al tamaño del terreno para escoger que tipo
potencia de alcance de aspersores se debe colocar en el jardín, de acuerdo a los
datos de cálculo se podrá escoger que tipo de bomba centrífuga se requiere para el
riego del jardín.

CAPITULO 4
4.1 TABLA DE COSTOS

En la tabla 16 se describe la lista de componentes electrónicos que se requerirán para


el funcionamiento del sistema de riego.
Tabla 23 Requisitos de componentes electrónicos

MATERIAL CANTIDAD REQUERIMIENTOS

Microcontrolador Atmega 328p 1 Entradas/salidas digitales

Módulo Wifi Esp8266 1 IPv4, IEEE 802.11 b/g/n Wi-Fi y


protocolos TCP/UDP/HTTP/FTP

Keypad 4x4 1 Diseño simple, tamaño.


LCD 16x2 1 Cantidad de salidas, alimentación 5v
DC.

Sensor de humedad de suelo Rango de humedad 0 a 100%


Y-69

Sensor de temperatura y 1 Rango de temperatura de 0 a 50°C,


humedad ambiente DHT22 rango de humedad de 0 a 100%

Relé de conmutación 1 Activación a 5v

Fuente de alimentación 1 5V DC

Fuente: Elaboración propia

En la tabla 17 se describe los componentes mecánicos que se usaran para la


implementación del sistema de riego
Tabla 24 Componentes mecánicos

MATERIAL CANTIDAD REQUERIMIENTOS

Bomba de agua 1 De ½ HP, altura máxima 30m


centrifuga

Aspersores de riego 2 Distancia de riego máxima 6


m.

Ecotuberias de 16 y 14 metros Flexibilidad y resistencia.


20mm

Fuente: Elaboración propia


4.2 VIABILIDAD ECONÓMICA

Para el desarrollo del proyecto se requerirá el uso de componentes electrónicos, los


precios se describen en la siguiente tabla.
Tabla 25 Cotización sistema de riego

ITEM DETALLE CANTIDAD COSTO COSTO


UNITARIO (Bs) TOTAL (Bs)

1 Bomba centrífuga 1 330.00 330.00

2 Solenoide eléctrico 1 275.00 275.00

3 Lcd 16x2 1 38.00 38.00

4 Key pad 4x4 1 15.00 15.00.

5 Microcontrolador 1 65.00 65.00


ATmega328P
6 Modulo wifi Esp8266 1 70.00 70.00

7 Sensor de temperatura y 1 36.00 36.00


humedad DHT22

8 Sensor de humedad de 1 30.00 30.00


suelo YL-69

9 Aspersores de riego 2 55.00 110.00

10 EcoTubos 16 y 20 mm. 14 metros. 3.50 el metro 49.00

11 Panel solar 12V 3 205.00 615.00

12 Inversor Dc a Ac 1 82.00 82.00

13 Batería 12V panel solar 1 120.00 120.00

TOTAL 1835.00 Bs.

Fuente: Elaboración propia

4.3 MANO DE OBRA


Tabla 26 Mano de obra

ITEM DETALLE CANTIDAD COSTO COSTO


UNITARIO (Bs) CANTIDAD (Bs)

1 IMPLEMENTACIÓN 1 1900.00 1900.00

2 LICENCIA DE INNOVACIÓN 1 200.00 200.00

TOTAL 2100.00 2100.00

Fuente: Elaboración propia


CAPITULO 5
CONCLUSIONES Y RECOMENDACIONES

5.1 CONCLUSIONES

Terminado el proyecto de grado se determina que el proyecto cumple con los objetivos
planteados, se realizó el análisis y evaluación de funcionamiento del sistema. La
conclusión total del proyecto con respecto a los componentes electrónicos no fue
realizada en su totalidad por la crisis económica a causa de la pandemia Covid-19.
Se describe las siguientes conclusiones generales y específicas.
● Se realizo la conexión entre el módulo ESP8266 y la base de datos de la
firebase, pero se tuvo los siguientes inconvenientes:

El módulo enviaba mensaje de error y la base de datos de firebase no


registraba o mostraba los datos actualizados, este problema se debe porque se
requiere actualizar las librerías “ESP8266 community” del programa Arduino y
se debe descargar la librería actualizada de “firebase-arduino” del navegador.

● En la instalación hidráulica del sistema de riego tomar en cuenta la potencia de


la bomba de agua con respecto a la potencia máxima de los aspersores de
riego, también afecta el número de difusores que tiene el jardín y la distancia
del recorrido del Ecotubo desde la bomba hasta los difusores.

● El desarrollo de un sistema de riego mejorará sin duda alguna, en la eficiencia


de la irrigación y la utilización del agua

5.2 RECOMENDACIONES
El sistema de riego automático es expansible en el número de aspersores que se
desea ya que el sistema hidráulico es adaptable para la implementación de más
componentes de riego. Por esta razón se recomienda rediseñar o acoplar los nuevos
componentes de riego al actual.
Se proyecta que el sistema de riego será de aplicación futura no solo será para su uso
doméstico sino también será destinado para su uso en invernaderos o viveros.
Una vez puesto en marcha el sistema de riego se recomienda:
● Desarrollar dentro del programa, los ajustes necesarios para que el sistema
sea capaz de ajustarse a diferentes tipos de plantas y los suelos de los
jardines.

● Se recomienda una previa capacitación del uso del sistema con respecto a la
programación y activación del sistema para su buen funcionamiento.

● Probar el sistema dentro de invernaderos para producción de las plantas


alimenticias.
BIBLIOGRAFIA

⮚ Aguamarket. (junio de 2017). Obtenido de


https://www.aguamarket.com/productos/productos.asp?
producto=1432&nombreproducto=tuberia+de+polietileno+de+baja+densi
dad
⮚ Aprendiendoarduino. (Marzo de 2015). Obtenido de
https://aprendiendoarduino.wordpress.com/2015/03/26/lenguaje-de-
programacion-c/
⮚ Autosolar. (Octubre de 2017). Obtenido de
https://autosolar.es/blog/aspectos-tecnicos/los-paneles-solares-termicos
⮚ Comofuncionaque. (Noviembre de 2017). Obtenido de
https://comofuncionaque.com/como-funciona-el-bluetooth/
⮚ Conceptodefinicion. (Septiembre de 2017). Obtenido de
https://conceptodefinicion.de/3g/
⮚ Desarrolloweb. (Noviembre de 2005). Obtenido de
https://desarrolloweb.com/articulos/1325.php
⮚ Electronicoscaldas. (Enero de 2020). Obtenido de
https://www.electronicoscaldas.com/es/sensores-de-humedad-lluvia-
inundacion/461-sensor-de-humedad-en-suelo-yl-69.html
⮚ Geosai. (julio de 2016). Obtenido de https://www.geosai.com/tuberia-
polietileno-alta-densidad/
⮚ Hwlibre. (Febreo de 2020). Obtenido de https://www.hwlibre.com/lm35/
⮚ iagua. (Febrero de 2018). Obtenido de
https://www.iagua.es/blogs/miguel-angel-monge-redondo/tuberias-y-
caracterizacion-parte-i
⮚ Jardineriaon. (Agosto de 2017). Obtenido de
https://www.jardineriaon.com/analizando-los-tipos-de-suelos-del-
jardin.html
⮚ Mechatronics. (Marzo de 2017). Obtenido de
https://naylampmechatronics.com/sensores-temperatura-y-humedad/58-
sensor-de-temperatura-y-humedad-relativa-dht22-am2302.html
⮚ norfipc. (Octubre de 2019). Obtenido de https://norfipc.com/redes/tipos-
redes-estandares-wi-fi-diferencias.php 7 OCT. 2019
⮚ Noticias.Universia. (Enero de 2020). Obtenido de
https://noticias.universia.com.ar/consejos-profesionales/noticia/2016/02/2
2/1136443/los-lenguajes-de-programacion
⮚ Programarfacil. (Marzo de 2017). Obtenido de
https://programarfacil.com/blog/arduino-blog/sensor-dht11-temperatura-
humedad-arduino/
⮚ Ryte. (Marzo de 2016). Obtenido de https://es.ryte.com/wiki/C
%C3%B3digo_Java
⮚ Sawers. (Noviembre de 2018). Obtenido de
https://tienda.sawers.com.bo/ds18b20-sensor-temperatura-to-92-?
tag=9&page=3
⮚ Sawers. (Noviembre de 2018). Obtenido de
https://tienda.sawers.com.bo/sensor-de-humedad-htu21-
⮚ Solar-energia.net. (Abril de 2018). Obtenido de
https://solar-energia.net/energia-solar-fotovoltaica/elementos/panel-
fotovoltaico
⮚ Viagua. (Septiembre de 2017). Obtenido de
https://viagua.es/aspersores-vs-difusores/
⮚ Vyrsa. (Noviembre de 2016). Obtenido de
https://www.vyrsa.com/es/catalogo/productos/coberturas-con-tubo-de-
aluminio-tipo-pestilloaldaba/

ANEXOS
Anexo 1
Código del sistema de riego

//código en proceso del sistema de riego automático

//incluimos las librerias que necesitara el programa, los componentes y los sensores.

#include <Wire.h>

#include "RTClib.h"

#include <LiquidCrystal_I2C.h>

#include <Keypad.h>

#include "DHT.h"

#include <EEPROM.h>

int i;

int estadoB = 'g'; // inicia detenido

int limite_hs = 50; //valor limite de la humedad del suelo (variable)


int hs;

unsigned long t_LuzFondo;

char pulsacion;

char c_dia_semana='-';

const byte ROWS = 4; // cuatro filas

const byte COLS = 4; // cuatro columnas

char keys[ROWS][COLS] = {

{'1','2','3','A'},

{'4','5','6','B'},

{'7','8','9','C'},

{'*','0','#','D'} };

byte rowPins[ROWS] = {9,8,7,6}; //connectado a "row" los pines del keypad

byte colPins[COLS] = {5,4,3,2}; //connectado a los pines/columna del keypad

Keypad Teclado1 = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

LiquidCrystal_I2C lcd(0x27,16,2); // codigo 0x27 o cambiar a 0x3F , 0x20 , 0x38

RTC_DS1307 RTC; // se inicializa el modulo RTC

DHT dht(10, DHT11);

int contador = 0; // cuenta el nivel del menu en el que se esta

int estado = 0; // estado del rele off=0 , on=1

int r_diaSemana; // almacena el resultado del dia de la semana calculado

const int timbre = 12; // Pin encargado de activar el Rele

int segundo;

int minuto;

int hora;

int tiempo_timbre=EEPROM.read(1); // Tiempo continuo que dura el rele en minutos EEPROM

int hora_timbre=EEPROM.read(0); // Hora a la que se activa el rele EEPROM

int lun=EEPROM.read(2);

int mar=EEPROM.read(3);

int mie=EEPROM.read(4);

int jue=EEPROM.read(5);

int vie=EEPROM.read(6);

int sab=EEPROM.read(7);

int dom=EEPROM.read(8);
int h;

int t;

int r_dia;

// Hora en la que el rele sera activado, escrito h1=Hora, m1=Minutos, s1=Segundos

int h1_c1=hora_timbre; int m1_c1=0; int s1_c1=0;

int h1_c1_f=hora_timbre; int m1_c1_f=(m1_c1+tiempo_timbre); int s1_c1_f=0;

////////////////////////////////// Void Setup() ///////////

void setup () {

pinMode(timbre, OUTPUT); // Configura como salida el pin 12

pinMode(13, OUTPUT);

Wire.begin();

RTC.begin(); // Inicia la comunicaci¢n con el RTC

dht.begin();

// RTC.adjust(DateTime(__DATE__, __TIME__)); // Lee la fecha y hora del PC (Solo en la


primera carga)

Serial.begin(9600); // Establece la velocidad de datos del puerto serie a 9600

lcd.init();

lcd.backlight(); // Coloca luz de fondo al LCD

intro_0();

HS_prueba();

t_LuzFondo = (millis()/1000); }

////////////////////////////////// Void loop() ///////////////////////

void loop() {

//lecturaBlu();

DateTime now = RTC.now(); // Obtiene la fecha y hora del RT

segundo=now.second();

minuto=now.minute();

hora=now.hour();

pulsacion = Teclado1.getKey() ;

if (pulsacion != 0) { // Si el valor es 0 es que no se ha pulsado ninguna tecla

lcd.backlight();

t_LuzFondo = (millis()/1000);

lcd.clear();
delay(200);

if ((t_LuzFondo+30) <= (millis()/1000)){ // apaga Luz de LCD despues de 30 segundos

lcd.noBacklight();

contador = 0;

if(contador == 0){

menu_0(); }

// Funciones

accion_21();

accion_22();

accion_23();

accion_01();

horario_1();

activar_timbre();

} //////////////////////////////// Fin del void loop()

/////////////// inician las Funciones/////////////////////////

//****************** Accion 01 ************************

void accion_01(){

if(pulsacion == '1'&& contador == 2){

menu_21();

contador = 21; }

if(pulsacion == '2'&& contador == 2){

menu_22();

contador = 22; }

if(pulsacion == '3'&& contador == 2){

menu_23();

contador = 23; }

if(pulsacion == 'A'&& contador == 0){

menu_3();

contador = 3; }

if(pulsacion == '*'&& contador == 1){

menu_2();
contador = 2; }

if(pulsacion == '*'&& contador == 0){

menu_1();

contador = 1; }

if(pulsacion == '#'){

contador = 0; } }

// Funcion que activa el Rele

void activar_timbre(){

if(pulsacion == '1'&& contador == 3){

estado=1;

digitalWrite(timbre, HIGH);

menu_3();

lcd.setCursor(10,0);

lcd.print("*");

lcd.setCursor(10,1);

lcd.print(" "); }

if(pulsacion == '2'&& contador == 3){

estado=0;

digitalWrite(timbre, LOW);

menu_3();

lcd.setCursor(10,0);

lcd.print(" ");

lcd.setCursor(10,1);

lcd.print("*"); } }

// Calcula el dia de la Semana

int dia_de_semana(){

// Encuentar el dia de la semana de una fecha

int n_dia;

int n_mes;

int t_mes;

int n_anno;

int d_anno;

int t_siglo=6;
DateTime now = RTC.now(); //fecha y hora del RTC

lcd.setCursor(13,1);

n_anno=(now.year()-2000);

d_anno=n_anno/4;

n_dia=now.day();

n_mes=now.month();

switch (n_mes) {

case 1:

t_mes=0;

break;

case 2:

t_mes=3;

break;

case 3:

t_mes=3;

break;

case 4:

t_mes=6;

break;

case 5:

t_mes=1;

break;

case 6:

t_mes=4;

break;

case 7:

t_mes=6;

break;

case 8:

t_mes=2;

break;
case 9:

t_mes=5;

break;

case 10:

t_mes=0;

break;

case 11:

t_mes=3;

break;

case 12:

t_mes=5;

break;

default:

t_mes=t_mes;

break;

r_dia=n_dia+t_mes+n_anno+d_anno+t_siglo;

r_dia = r_dia % 7;

switch (r_dia) {

case 1:

c_dia_semana='L';

break;

case 2:

c_dia_semana='M';

break;

case 3:

c_dia_semana='C';

break;

case 4:

c_dia_semana='J';

break;

case 5:

c_dia_semana='V';
break;

case 6:

c_dia_semana='S';

break;

case 0:

c_dia_semana='D';

break;

default:

c_dia_semana='-';

break;

return r_dia;

// Funcion on_

void on_(){

estado=1;

menu_0();

digitalWrite(12,HIGH);

////////funcion off_ /////////////////

void off_(){

estado=0;

menu_0();

digitalWrite(12,LOW); }

////Condicional del Horario 1 /////

void horario_1(){

dia_de_semana();

if ((hora==h1_c1) && (minuto==m1_c1) && (segundo==s1_c1)) {

digitalWrite(13,HIGH);

delay(100);

hs=analogRead(A2); // Obtiene la Humedad del Suelo A2

hs = map(hs, 0 , 1023 , 100 , 0);


delay(10);

digitalWrite(13,LOW);

if(hs <= limite_hs){

if(lun==1 && r_dia==1) on_();

if(mar==1 && r_dia==2) on_();

if(mie==1 && r_dia==3) on_();

if(jue==1 && r_dia==4) on_();

if(vie==1 && r_dia==5) on_();

if(sab==1 && r_dia==6) on_();

if(dom==1 && r_dia==0) on_();

if ((hora==h1_c1_f) && (minuto==m1_c1_f) && (segundo==s1_c1_f)) {

if(lun==1 && r_dia==1) off_();

if(mar==1 && r_dia==2) off_();

if(mie==1 && r_dia==3) off_();

if(jue==1 && r_dia==4) off_();

if(vie==1 && r_dia==5) off_();

if(sab==1 && r_dia==6) off_();

if(dom==1 && r_dia==0) off_();

if ((hora==h1_c1) && (minuto>=m1_c1)&&(minuto<=m1_c1_f)&&(segundo==1)&&(estado==1))


{ // prueba de humedad del suelo cada minuto

// durante la activacion programada

if(lun==1 && r_dia==1) HS_prueba();

if(mar==1 && r_dia==2) HS_prueba();

if(mie==1 && r_dia==3) HS_prueba();

if(jue==1 && r_dia==4) HS_prueba();

if(vie==1 && r_dia==5) HS_prueba();

if(sab==1 && r_dia==6) HS_prueba();

if(dom==1 && r_dia==0) HS_prueba();

/////////////////////Prueba de Humedad de Suelo y apaga el sistema///////////


void HS_prueba(){

digitalWrite(13,HIGH);

delay(100);

hs=analogRead(A2); // Obtiene la Humedad del Suelo A2

hs = map(hs, 0 , 1023 , 100 , 0);

delay(10);

digitalWrite(13,LOW);

if (hs>=limite_hs){

off_(); } }

/////////////////////Intro_0 //////////////////////////////

void intro_0(){

lcd.clear(); // Borra el LCD

lcd.setCursor(0,1);

lcd.print("Riego Automatico");

delay(2000);

lcd.clear();

lcd.setCursor(0,0);

lcd.print("F:");

DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC

lcd.print(now.year(), DEC);

lcd.print("/");

lcd.print(now.month(), DEC);

lcd.print("/");

lcd.print(now.day(), DEC);

lcd.print(" ");

lcd.setCursor(0,1);

lcd.print("H: ");

lcd.print(now.hour(), DEC);

lcd.print(":");

lcd.print(now.minute(), DEC);

lcd.print(":");

lcd.print(now.second(), DEC);

dia_de_semana();

lcd.setCursor(15,1);
lcd.print(c_dia_semana);

delay(5000);

lcd.clear();

/////////////////////Menu_0 //////////////////////////////////

void menu_0(){

lcd.setCursor(0,0);

lcd.print("LMCJVSD");

if(estado==1){

lcd.print("*");

}else{

lcd.print("-");

lcd.print(hora_timbre);

lcd.setCursor(8,1);

lcd.print(tiempo_timbre);

lcd.print("m");

lcd.setCursor(10,0);

lcd.print("h");

t = dht.readTemperature(); // Obtiene la temperatura DHT11

lcd.setCursor(11,1);

lcd.print(t);

lcd.print("c");

lcd.print(hs);

lcd.print(" ");

lcd.setCursor(0,1);

if(lun==1){

lcd.print("*");

}else{

lcd.print(" ");

}
if(mar==1){

lcd.print("*");

}else{

lcd.print(" ");

if(mie==1){

lcd.print("*");

}else{

lcd.print(" ");

if(jue==1){

lcd.print("*");

}else{

lcd.print(" ");

if(vie==1){

lcd.print("*");

}else{

lcd.print(" ");

if(sab==1){

lcd.print("*");

}else{

lcd.print(" ");

if(dom==1){

lcd.print("*");

}else{

lcd.print(" "); }

lcd.setCursor(7,1);

lcd.print(c_dia_semana);

lcd.setCursor(11,0);

DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC


lcd.print(now.hour(), DEC);

lcd.print(":");

if(now.minute()<=9){

lcd.setCursor(15,0);

lcd.print(" "); }

lcd.setCursor(14,0);

lcd.print(now.minute(), DEC); }

/////////////////////Menu_1 //////////////////////////////////

void menu_1(){

digitalWrite(13,HIGH);

lcd.setCursor(0,1);

lcd.print("TEM:");

t = dht.readTemperature(); // Obtiene la temperatura DHT11

lcd.print(t);

lcd.print("*C ");

lcd.setCursor(9,0);

lcd.print("HA:");

h = dht.readHumidity(); // Obtiene la humedad ambiente DHT11

lcd.print(h);

lcd.print(" % ");

lcd.setCursor(9,1);

lcd.print("HS:");

delay(100);

hs=analogRead(A2); // Obtiene la Humedad del Suelo A2

hs = map(hs, 0 , 1023 , 100 , 0);

lcd.print(hs);

lcd.print(" % ");

delay(10);

digitalWrite(13,LOW); }

/////////////////////Menu_2 //////////////////////////////////

void menu_2(){
lcd.setCursor(0,0);

lcd.print("DIAS>1");

lcd.setCursor(0,1);

lcd.print("HORA>3");

lcd.setCursor(8,0);

lcd.print("TIEMPO>2");

lcd.setCursor(8,1);

lcd.print("SALIR >#"); }

/////////////////////Menu_21 //////////////////////////////////

void menu_21(){

lcd.setCursor(1,0);

lcd.print("L>1");

lcd.setCursor(5,0);

lcd.print("M>2");

lcd.setCursor(9,0);

lcd.print("C>3");

lcd.setCursor(13,0);

lcd.print("J>4");

lcd.setCursor(1,1);

lcd.print("V>5");

lcd.setCursor(5,1);

lcd.print("S>6");

lcd.setCursor(9,1);

lcd.print("D>7");
lcd.setCursor(13,1);

lcd.print("(#)");

lcd.setCursor(0,0);

if(lun==1){

lcd.print("(");

}else{

lcd.print(" ");

lcd.setCursor(4,0);

if(mar==1){

lcd.print("(");

}else{

lcd.print(" ");

lcd.setCursor(8,0);

if(mie==1){

lcd.print("(");

}else{

lcd.print(" ");

lcd.setCursor(12,0);

if(jue==1){

lcd.print("(");

}else{

lcd.print(" ");

lcd.setCursor(0,1);

if(vie==1){

lcd.print("(");

}else{

lcd.print(" ");

lcd.setCursor(4,1);
if(sab==1){

lcd.print("(");

}else{

lcd.print(" ");

lcd.setCursor(8,1);

if(dom==1){

lcd.print("(");

}else{

lcd.print(" ");

}}

/////////////////////Menu_22 //////////////////////////////////

void menu_22(){

lcd.setCursor(1,0);

lcd.print(" 1>1 5>2 10>3 ");

lcd.setCursor(1,1);

lcd.print("15>4 30>5 60>6 ");

switch (tiempo_timbre) {

case 1:

lcd.setCursor(0,0);

break;

case 5:

lcd.setCursor(5,0);

break;

case 10:

lcd.setCursor(10,0);

break;

case 15:

lcd.setCursor(0,1);

break;

case 30:

lcd.setCursor(5,1);

break;

case 59:
lcd.setCursor(10,1);

break;

lcd.print("(");

/////////////////////Menu_23 //////////////////////////////////

void menu_23(){

lcd.setCursor(1,0);

lcd.print("6a>1 7a>2 8a>3");

lcd.setCursor(1,1);

lcd.print("17>4 18>5 19>6");

switch (hora_timbre) {

case 6:

lcd.setCursor(0,0);

break;

case 7:

lcd.setCursor(5,0);

break;

case 8:

lcd.setCursor(10,0);

break;

case 17:

lcd.setCursor(0,1);

break;

case 18:

lcd.setCursor(5,1);

break;

case 19:

lcd.setCursor(10,1);

break;

lcd.print("("); }

/////////////////////Menu_50 //////////////////////////////////
void menu_50(){

lcd.setCursor(3,0);

lcd.print("ERROR DATO");

lcd.setCursor(3,1);

lcd.print("INCORRECTO"); }

/////////////////////Menu_3 //////////////////////////////////

void menu_3(){

lcd.setCursor(0,0);

lcd.print("ACTIVAR >1 ");

lcd.setCursor(0,1);

lcd.print("APAGAR >2 ");

lcd.setCursor(13,1);

lcd.print("(#)"); }

/////////////////////accion_21 //////////////////////////////////

void accion_21(){

if(pulsacion == '1'&& contador == 21){

if(lun==1){

lun=0;

}else{

lun=1;

EEPROM.write(2,lun);

menu_21();

if(pulsacion == '2'&& contador == 21){

if(mar==1){

mar=0;

}else{

mar=1;

}
EEPROM.write(3,mar);

menu_21();

if(pulsacion == '3'&& contador == 21){

if(mie==1){

mie=0;

}else{

mie=1;

EEPROM.write(4,mie);

menu_21();

if(pulsacion == '4'&& contador == 21){

if(jue==1){

jue=0;

}else{

jue=1;

EEPROM.write(5,jue);

menu_21();

if(pulsacion == '5'&& contador == 21){

if(vie==1){

vie=0;

}else{

vie=1;

EEPROM.write(6,vie);

menu_21();

if(pulsacion == '6'&& contador == 21){

if(sab==1){

sab=0;

}else{
sab=1;

EEPROM.write(7,sab);

menu_21();

if(pulsacion == '7'&& contador == 21){

if(dom==1){

dom=0;

}else{

dom=1;

EEPROM.write(8,dom);

menu_21();

} }

/////////////////////accion_22 //////////////////////////////////

void accion_22(){

if(pulsacion == '1'&& contador == 22){

tiempo_timbre=1;

ajuste_hora_final();

menu_22();

if(pulsacion == '2'&& contador == 22){

tiempo_timbre=5;

ajuste_hora_final();

menu_22();

if(pulsacion == '3'&& contador == 22){

tiempo_timbre=10;

ajuste_hora_final();

menu_22();

if(pulsacion == '4'&& contador == 22){

tiempo_timbre=15;

ajuste_hora_final();
menu_22();

if(pulsacion == '5'&& contador == 22){

tiempo_timbre=30;

ajuste_hora_final();

menu_22();

if(pulsacion == '6'&& contador == 22){

tiempo_timbre=60;

ajuste_hora_final();

menu_22();

/////////////////////accion_23 //////////////////////////////////

void accion_23(){

if(pulsacion == '1'&& contador == 23){

hora_timbre=6;

EEPROM.write(0,hora_timbre);

menu_23();

if(pulsacion == '2'&& contador == 23){

hora_timbre=7;

EEPROM.write(0,hora_timbre);

menu_23();

if(pulsacion == '3'&& contador == 23){

hora_timbre=8;

EEPROM.write(0,hora_timbre);

menu_23();

if(pulsacion == '4'&& contador == 23){

hora_timbre=17;
EEPROM.write(0,hora_timbre);

menu_23();

if(pulsacion == '5'&& contador == 23){

hora_timbre=18;

EEPROM.write(0,hora_timbre);

menu_23();

if(pulsacion == '6'&& contador == 23){

hora_timbre=19;

EEPROM.write(0,hora_timbre);

menu_23(); }

h1_c1 = hora_timbre;

h1_c1_f = h1_c1;

////////////////////ajuste hora final timbre //////////////////////////////////

void ajuste_hora_final(){

if(tiempo_timbre ==60){

tiempo_timbre = 59;

EEPROM.write(1,tiempo_timbre);

m1_c1_f = m1_c1+tiempo_timbre;

Anexo 2
Código ESP8266 y firebase

#include <ESP8266WiFi.h> //introducimos las librerías


#include <FirebaseArduino.h>

// Set these to run example.


#define FIREBASE_HOST "riego-inalambrico-2.firebaseio.com" //El ID de la
//pagina de nuestro proyecto firebase
#define FIREBASE_AUTH "Raa1W2HeK92aWBPPH1yieKZyDau78lF3eqYRjcQa" //
Contraseña del //proyecto firebase
#define WIFI_SSID "HOME" //nombre del wifi
#define WIFI_PASSWORD "Cephus1950" //contraseña del wifi

void setup() {
Serial.begin(9600);

// conectandose al wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(1000);, }
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());

Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
pinMode (2, OUTPUT); }

int n = 1;
void loop() {
// get value
if (Firebase.getFloat("led")) //crea el valor “led”
{ digitalWrite(2,LOW); }

else { digitalWrite(2,HIGH); }
// set value
Firebase.setFloat("number", 7); // envia los numerales para verificar que esta
//conectado
// handle error
if (Firebase.failed()) {
Serial.print("setting /number failed:"); // envia error si no se realizo la //conexión
Serial.println(Firebase.error());
return; }
delay(1000);
// update value
Firebase.setFloat("number", 27); //envia los numerales para verificar que //esta
conectado
// handle error
if (Firebase.failed()) {
Serial.print("setting /number failed:");
Serial.println(Firebase.error());
return; }
delay(1000);
// get value
Serial.print("number: ");
Serial.println(Firebase.getFloat("number"));
delay(1000);
// remove value
Firebase.remove("number");
delay(1000);

// set string value


Firebase.setString("message", "Sistema de Riego automatico"); //muestra en //la
firebase el nombre del proyecto

// handle error
if (Firebase.failed()) {
Serial.print("setting /message failed:");
Serial.println(Firebase.error());
return;
}
delay(1000);
}

También podría gustarte