DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA...

187
DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE UN INVERNADERO A TRAVÉS DE INTERNET JEANA MARCELA RAMÍREZ SANTOS UNIVERSIDAD DE SAN BUENAVENTURA FACULTAD DE INGENIERÍA INGENIERÍA ELECTRÓNICA BOGOTÁ 2007

Transcript of DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA...

Page 1: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE

UN INVERNADERO A TRAVÉS DE INTERNET

JEANA MARCELA RAMÍREZ SANTOS

UNIVERSIDAD DE SAN BUENAVENTURA

FACULTAD DE INGENIERÍA

INGENIERÍA ELECTRÓNICA

BOGOTÁ

2007

Page 2: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE

UN INVERNADERO A TRAVÉS DE INTERNET

JEANA MARCELA RAMÍREZ SANTOS

Proyecto de grado para optar al título de Ingeniero Electrónico

UNIVERSIDAD DE SAN BUENAVENTURA

FACULTAD DE INGENIERÍA

INGENIERÍA ELECTRÓNICA

BOGOTÁ

2007

Page 3: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

3

Nota de Aceptación:

___________________________ ___________________________ ___________________________ ___________________________ ___________________________ ___________________________

___________________________ Firma del Presidente del Jurado

____________________________ Firma del Jurado

____________________________ Firma del Jurado

Bogotá D.C. 25 de Mayo de 2007

Page 4: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

4

A Dios por el hermoso regalo de la vida, a mis padres inspiradores de mil y un sueños, a mis amigos por su compañía en todos los momentos

trascendentales…

Page 5: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

5

AGRADECIMIENTOS

Quisiera brindar mi más sincero agradecimiento a mi familia por el apoyo

incondicional que me ha brindado no sólo durante la realización de este proyecto

sino a lo largo de mi vida, y quiero reconocer que sin ellos no estaría en este

importante escalón, por ese motivo quiero decirles gracias por estar siempre junto

a mi. A Dios, a mis compañeros por los buenos momentos y la fuerza que me

brindaron para llegar hasta este punto, a mis profesores a lo largo de toda la

carrera porque fomentaron y enriquecieron día a día mi proceso educativo y a

todas las personas que colaboraron en este proyecto.

Page 6: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

6

TABLA DE CONTENIDO

INTRODUCIÓN...............................................................................................................................................19 1. PLANTEAMIENTO DEL PROBLEMA ..............................................................................................21

1.1 ANTECEDENTES .......................................................................................................................21 1.2 DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA .........................................................23 1.3 JUSTIFICACIÓN .........................................................................................................................24 1.4 OBJETIVOS.................................................................................................................................25

1.4.1 Objetivo General ...................................................................................................................25 1.4.2 Objetivos Específicos ........................................................................................................25

1.5 ALCANCES Y LIMITACIONES DEL PROYECTO.................................................................27 1.5.1 Alcances......................................................................................................................................27 1.5.2 Limitaciones .........................................................................................................................27

2. MARCO DE REFERENCIA ................................................................................................................28 2.1 MARCO CONCEPTUAL ............................................................................................................28

2.1.1 Microcontroladores ..................................................................................................................28 2.1.2 Riego por goteo o localizado .................................................................................................29 2.1.3 Fundamentos del riego por goteo automático..................................................................30

2.2 MARCO LEGAL O NORMATIVO .............................................................................................32 2.2.1. Leyes, decretos y resoluciones ...........................................................................................32 2.2.2. Norma RS232 ............................................................................................................................33

2.2.2.1. Características eléctricas de las señales ........................................................................................34 2.2.2.2. Longitud del cable...............................................................................................................................35 2.2.2.3. Señales ................................................................................................................................................36 2.2.2.5. Formato de los datos..........................................................................................................................36 2.2.2.6. Conversión entre niveles lógicos y TIA/EIA 232 ............................................................................37 2.2.2.7. Implementación con microcontrolador .............................................................................................37

2.2.3. Resolución 1114 del 24 de Noviembre de 2004 ...............................................................38 2.2.3.1. Artículo 1: Mensajes de texto SMS ..................................................................................................38 2.2.3.2. Artículo 2. (7.9.4): Mensajes enviados desde Internet ..................................................................38

2.3 MARCO TEÓRICO......................................................................................................................40 2.3.1 Cultivo de las Rosas ................................................................................................................40

2.3.1.1. Requerimientos Climáticos ............................................................................................................42 2.3.1.2. Iluminación ..................................................................................................................................44 2.3.1.3. Humedad ......................................................................................................................................44 2.3.1.4. Riego en Invernaderos .............................................................................................................45

2.3.2. Sensores de Temperatura .............................................................................................46 2.3.3. Sensores de Humedad ...................................................................................................48

2.3.3.1 Parámetros típicos para determinar la humedad: ...........................................................................49 2.3.3.2. Diferentes tipos de sensores.............................................................................................................50 2.3.3.3. Comunicación Serial...........................................................................................................................51 2.3.3.4 Comunicación Serial Asíncrona.........................................................................................................53 2.3.3.5. Protocolo RS-232................................................................................................................................55

2.3.4. Manejo De La Web ...................................................................................................................56 2.3.5. Microcontrolador..................................................................................................................................57

Page 7: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

7

2.3.5.1 CPU .......................................................................................................................................................58 2.3.5.2. Memoria de Programa .......................................................................................................................58 2.3.5.3. Memoria de Datos ..............................................................................................................................59 2.3.5.4. Circuitería de Temporización ............................................................................................................59 2.3.5.5. Diagrama de un microcontrolador ....................................................................................................60 2.3.5.6. Memoria del programa .......................................................................................................................61

2.3.6. Bases de datos MySQL ..........................................................................................................62 3. METODOLOGÍA ...................................................................................................................................64

3.1 ENFOQUE DE LA INVESTIGACIÓN .......................................................................................66 3.2 LÍNEA DE INVESTIGACIÓN DE USB / SUB-LÍNEA DE FACULTAD / CAMPO TEMÁTICO DEL PROGRAMA................................................................................................................66 3.3 TÉCNICAS DE RECOLECCIÓN DE INFORMACIÓN .......................................................................66 3.4 HIPÓTESIS ............................................................................................................................................66 3.5 VARIABLES..........................................................................................................................................67

3.5.1 Variables Independientes................................................................................................................67 3.5.2 Variables Dependientes ..................................................................................................................67

4. PRESENTACIÓN Y ANÁLISIS DE RESULTADOS.............................................................................68 5. DISEÑO INGENIERIL ..........................................................................................................................69

5.1. DESCRIPCIÓN DEL SISTEMA .......................................................................................................69 5.1.1. Diseño y programación del módulo de sensores ...........................................................71

5.1.1.1. Sensor de temperatura ......................................................................................................................74 5.1.1.2 Sensor de humedad ............................................................................................................................75 5.1.1.3 Microcontrolador MC68H908QT4......................................................................................................77 5.1.1.4 Transmisor Half-duplex RS485.......................................................................................................78

5.1.2. Funcionamiento de los circuitos sensores de temperatura y humedad...................79 5.1.3. Programa microcontrolador de las tarjetas de temperatura y humedad. .................81

5.2 DISEÑO Y PROGRAMACIÓN DEL MÓDULO DE CONTROL ........................................................................84 5.2.1 Relevos ........................................................................................................................................86 5.2.2 Fuente de tensión .....................................................................................................................86 5.2.3. Programación ...........................................................................................................................87 5.2.4. Reset ...........................................................................................................................................87 5.2.5. Alarma ........................................................................................................................................87 5.2.6. Microcontrolador .....................................................................................................................87 5.2.7. Interfase de Comunicación ...................................................................................................89 5.2.8. Programa microcontrolador maestro .................................................................................90

5.3. DISEÑO Y PROGRAMACIÓN DE LA INTERFAZ ........................................................................................92 5.4 DISEÑO Y PROGRAMACIÓN DE LA WEB ................................................................................................96

5.4.1 Diseño de las páginas Web ..................................................................................................100 5.4.2. Visualización de resultados en Internet...........................................................................103 5.4.3. Mensaje de texto SMS ..........................................................................................................105

5.1. CONSTRUCCIÓN DEL BANCO DE PRUEBA ..........................................................................................106 6. CONCLUSIONES ...............................................................................................................................112 7. RECOMENDACIONES......................................................................................................................114 8. BIBLIOGRAFÍA .......................................................................................................................................115 ANEXOS........................................................................................................................................................118

Page 8: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

8

LISTA DE TABLAS

Tabla 1. Valores de tensión. 35

Tabla 2. Dispositivos de medición de temperatura. 46

Tabla 3. Rangos de temperatura correspondientes a los métodos más comunes

de medición. 48

Page 9: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

9

LISTA DE FIGURAS

Figura 1. Microcontrolador .................................................................................................. 28 Figura 2. Riego por goteo. ................................................................................................... 31 Figura 3. Códigos de decretos.............................................................................................. 32 Figura 4. Decretos y resoluciones. ....................................................................................... 33 Figura 5. Conexión entre un DTE y un DCE. ...................................................................... 34 Figura 6. Conector DB9. ...................................................................................................... 36 Figura 7. Invernadero de rosas. ............................................................................................ 40 Figura 8. Control de temperatura. ........................................................................................ 45 Figura 9. Sensor capacitivo. ................................................................................................. 51 Figura 10. Conector DB-9 hembra, diagrama de pines........................................................ 53 Figura 11. Trama de Datos................................................................................................... 54 Figura 12. Diagrama de bloques de un microcontrolador.................................................... 61 Figura 13. Diagrama de la memoria de un programa........................................................... 62 Figura 14. Plataforma del sistema....................................................................................... 70 Figura 15. Ubicación de los sensores en el invernadero. ..................................................... 72 Figura 16. Circuito de supervisión de temperatura y humedad. .......................................... 73 Figura 17. Sensor DS1820. .................................................................................................. 75 Figura 18. Circuito multivibrador astable. ........................................................................... 75 Figura 19. Sensor de humedad HS1101 de Humirel............................................................ 77 Figura 20. Microcontrolador MC68H908QT4..................................................................... 77 Figura 21. Transmisor RS485. ............................................................................................. 79 Figura 22. Conector RJ45. ................................................................................................... 80 Figura 23. Diagrama de flujo de la programación de los microcontroladores de temperatura............................................................................................................................................... 82 Figura 24. Diagrama de flujo de la programación de los microcontroladores de humedad. 83 Figura 25. Circuito de la tarjeta maestra. ............................................................................. 85 Figura 26. Microcontrolador 68HCS908GT60CFB. ........................................................... 88 Figura 27. SN7407. .............................................................................................................. 89 Figura 28. Conector DB9. .................................................................................................... 90 Figura 29. Max 232. ............................................................................................................. 90 Figura 30. Diagrama de flujo de la programación del microcontrolador maestro. .............. 91 Figura 31. Plataforma Visual Basic (Interfaz entre la tarjeta maestra y el PC). .................. 95 Figura 32. Conexión exitosa de MyODBC. ......................................................................... 96 Figura 33. Base de datos (Supervisión). .............................................................................. 97 Figura 34. Tablas que componen la base de datos (1). ........................................................ 98 Figura 35. Tablas que componen la base de datos (2). ........................................................ 99 Figura 36. Visualización resultados del banco de prueba. ................................................. 104 Figura 37. Visualización resultados del banco de prueba. ................................................. 105

Page 10: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

10

Figura 38. Invernadero. ...................................................................................................... 107 Figura 39. Invernadero en construcción............................................................................. 108 Figura 40. Manguera, racores y electroválvula para implementación del riego. ............... 109 Figura 41. Sistema de ventilación, extracción y calefacción del invernadero. .................. 109 Figura 42. Instalación del riego por goteo. ........................................................................ 110 Figura 43. Invernadero finalizado. ..................................................................................... 111

Page 11: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

11

LISTA DE ANEXOS ANEXO A. Sensor de temperatura DS 1820.

ANEXO B. Sensor de humedad HS1101.

ANEXO C. Buffer SN7407.

ANEXO D. Microcontrolador MC9S08GB60.

ANEXO E. Microcontrolador MC68HC908QY4.

ANEXO F. MAX 232.

ANEXO G. Transmisor SP485.

ANEXO H. Regulador de voltaje LM7812.

ANEXO I. Racores.

ANEXO J. Programa en CodeWarrior para el manejo del puerto serial.

ANEXO K. Programa en CodeWarrior para programación del microcontrolador de

Temperatura.

ANEXO L. Programa CodeWarrior para la programación microcontrolador

maestro.

ANEXO M. Programa de la interfaz Circuito – PC realizado en Visual Basic.

ANEXO O. Programa CodeWarrior para la programación del microcontrolador de

Humedad.

ANEXO P. Caminos de la tarjeta de temperatura.

ANEXO Q. Caminos de la tarjeta de humedad y su circuito multivibrador astable.

ANEXO R. Caminos de la tarjeta maestra.

ANEXO S. Montaje de la tarjeta de temperatura.

ANEXO T. Montaje de la tarjeta de humedad y su circuito multivibrador astable.

ANEXO U. Montaje de la tarjeta maestra.

ANEXO V. Tarjeta de temperatura implementada.

ANEXO W. Tarjeta de humedad y su circuito multivibrador astable implementada.

ANEXO X. Tarjeta maestra implementada.

Page 12: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

12

GLOSARIO Bit: Dígito binario. Elemento de información básico en la técnica digital. Su valor

puede ser 1 o 0. Es la cantidad mínima de información necesaria para establecer

la distinción entre dos alternativas. Unidad de transmisión digital correspondiente a

un digito binario.

Bits: Unidad de medida de la capacidad de transmisión de una línea de

telecomunicación.

Buffer: Circuito con funciones de amplificación o separación de una señal, tanto

de naturaleza lógica como digital.

Comunicación puerto serial: Es una interfaz de comunicaciones entre

ordenadores y periféricos en donde la información es transmitida bit a bit enviando

un solo bit a la vez.

Humedad: A la cantidad de vapor de agua presente en el aire. Se puede expresar

de forma absoluta mediante la humedad absoluta, o de forma relativa mediante la

humedad relativa o grado de humedad.

• La humedad absoluta es la cantidad de vapor de agua presente en el aire,

se expresa en gramos de agua por kilogramos de aire seco (g/kg), gramos

de agua por unidad de volumen (g/m³) o como presión de vapor (Pa o KPa

o mmHg). A mayor temperatura, mayor cantidad de vapor de agua permite

acumular el aire.

• La humedad relativa es la humedad que contiene una masa de aire, en

relación con la máxima humedad absoluta que podría admitir sin producirse

Page 13: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

13

condensación, conservando las mismas condiciones de temperatura y

presión atmosférica. Esta es la forma más habitual de expresar la humedad

ambiental.

Interfaz: Se denomina interfaz a cualquier medio que permita la interconexión de

dos procesos diferenciados con un único proceso común.

Invernadero: Es una construcción de vidrio o plástico en la que se cultivan

plantas, a mayor temperatura que en el exterior.

Microcontrolador: Un microcontrolador es un computador completo

(microprocesador + E/S + memoria + otros + periféricos), aunque de limitadas

prestaciones, que esta contenido en el chip de un circuito integrado programable y

se destina a gobernar una sola tarea con el programa que reside en su memoria.

Sus líneas de entrada/salida soportan al conexionado de los sensores y

actuadotes del dispositivo a controlar.

MySQL: Es un sistema de gestión de base de datos, multihilo y multiusuario con

más de seis millones de instalaciones.

ODBC: Son las siglas de Open DataBase Connectivity, que es un estándar de

acceso a Bases de Datos desarrollado por Microsoft Corporation, el objetivo de

ODBC es hacer posible el acceder a cualquier dato de cualquier aplicación, sin

importar qué Sistema Gestor de Bases de Datos (DBMS por sus siglas en inglés)

almacene los datos, ODBC logra esto al insertar una capa intermedia llamada

manejador de Bases de Datos, entre la aplicación y el DBMS, el propósito de esta

capa es traducir las consultas de datos de la aplicación en comandos que el

DBMS entienda. Para que esto funcione tanto la aplicación como el DBMS deben

Page 14: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

14

ser compatibles con ODBC, esto es que la aplicación debe ser capaz de producir

comandos ODBC y el DBMS debe ser capaz de responder a ellos.

Página Web: Es una fuente de información adaptada para la World Wide Web y

accesible mediante un navegador de Internet. Ésta información se presenta

generalmente en formato HTML y puede contener hiperenlaces a otras páginas

Web, constituyendo la red enlazada de la World Wide Web.

PHP: (Hipertext Preprocessor): Es un lenguaje de programación que se usa

para la creación y diseño de sitios Web, PHP Tools o Personal Home Page Tools

es un lenguaje que es común en aplicaciones para servidores y creación de

contenido dinámico en sitios Web, también se incluyen aplicaciones en las cuales

logra trabajar aplicaciones con interfaz gráfica y conexión con diferentes tipos de

plataformas para comunicación con dispositivos electrónicos

Protocolo: Conjunto de reglas conocidas y respetadas que en los extremos de un

enlace de telecomunicaciones regulan las transmisiones en todos los sentidos

posibles.

Racor: Pieza metálica con dos roscas internas en sentidos inversos que sirve para

unir tubos y otros perfiles cilíndricos.

Regulador de tensión: Dispositivo que mantiene la tensión terminal de un

generador u otra fuente de tensión dentro de limites requeridos

independientemente de las variables de la tensión de entrada o de la carga

denominando también regulador automático de tensión.

Page 15: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

15

Relé: Dispositivo activado por una variación de las condiciones existentes en un

circuito eléctrico y que se utiliza para establecer o para interrumpir una o mas

conexiones en el mismo o en otro circuito eléctrico.

Sensor: Dispositivo que detecta, o sensa manifestaciones de cualidades o

fenómenos físicos, como la energía, velocidad, aceleración, tamaño, cantidad, etc.

SMS: (Short Message Service): Servicio que permite el envío de mensajes de

tamaño no superior a 160 caracteres entre teléfonos móviles que utilizan el

estándar GSM.

Temperatura: Esta relacionada con los grados de calor o frió que necesitan las

plantas para su desarrollo, en condiciones normales de su hábitat o ambiente

original.

Page 16: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

16

“DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE UN INVERNADERO A TRAVÉS DE INTERNET”

Page 17: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

17

RESUMEN

Este proyecto tuvo la finalidad de realizar el diseño y construcción de un prototipo

para la supervisión de un invernadero a través de Internet con el cual se pretende

facilitar el manejo, inspección, visualización y verificación de los invernaderos de

rosas por medio de Internet y ayudar a la empresa floricultora a supervisar sus

cultivos de una manera sencilla y que está al alcance de cualquier necesidad.

Consiste en generar una supervisión de cada una de las dos variables

implementadas en un invernadero (temperatura y humedad) y que estos

resultados puedan ser visualizados por medio de una página Web, esto se logra

por medio de 4 sensores de temperatura distribuidos a lo largo del invernadero, un

sensor de humedad que se encuentra en el centro del mismo y una electro válvula

que controla la activación del sistema de riego por goteo. Los datos obtenidos por

cada una de los sensores son tomados por un microcontrolador que almacena la

información mientras el micro maestro la requiera.

La comunicación entre el sistema de control y el computador, se realizó a través

del protocolo RS-232 de comunicación serial, mediante el cable de datos del

mismo dispositivo. Los datos son transmitidos desde el micro hacia Visual Basic

que se encarga de realizar la captura de los datos que vienen desde la tarjeta y se

conecta a la base de datos por medio del programa ODBC actúa como interfaz de

comunicación entre Visual Basic y MySQL, la base de datos va guardando los

registros generados por los sensores.

Con PHP (Programación para páginas Web) se logra la comunicación del PC con

el servidor, para finalizar se visualizan todas las variables en la página Web,

Page 18: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

18

resultados que se obtendrán cada 1 minutos y se tienen consultas de hora, día,

semana, mes y año.

Para finalizar se puede tener una visualización del invernadero por medio de una

cámara Web y si existe algún tipo de problema que los controladores no puedan

resolver se le enviará un mensaje de texto al usuario para comunicarle el error que

se presenta. El sistema será implementado en un banco de prueba.

Page 19: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

19

INTRODUCIÓN La floricultura es una forma de la agricultura en donde los individuos son

desafiados a mantenerse al día en los avances tecnológicos, lo que lleva al

argumento que no se puede llegar a conocer todo lo que se debiera en el amplio

espectro de los cultivos de flores para cada una de sus finalidades, los cultivos de

flores día a día han tratado de introducir los recursos tecnológicos que han llegado

a mejorar y optimizar sus procesos, haciendo más rápida la supervisión y el

control de los mismos.

Colombia, como país floricultor por excelencia, requiere de abundantes

invernaderos con alta calidad para lograr mantener una buena producción y

manutención de dicho producto, en especial las rosas. En la sabana de Bogotá se

encuentran ubicados un gran número de invernaderos en donde se produce un

buen porcentaje de la producción de flores del país.

El proceso de cultivo de flores carece de soporte tecnológico, y en cambio

contratan personal capacitado en cada uno de los pasos de éste, su experiencia y

dedicación no pueden ser reemplazadas por dispositivos.

Para optimizar y mejorar los procesos de supervisión de los invernaderos, surgen

día a día propuestas para lograr un buen manejo de los mismos, sin embargo, no

se tiene una supervisión a distancia de éstos, opción que sería muy favorable para

los empresarios que poseen más de un cultivo y tienen diferentes sedes a lo largo

del territorio nacional, con lo que tendrían la posibilidad de poder supervisar sus

cultivos desde el lugar que se encuentra, ver que sucede en tiempo real y lograr

ser advertido de alguna irregularidad que no se pueda solucionar a través de

dispositivos designados para el control del invernadero.

Page 20: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

20

Surge entonces la necesidad de crear dispositivos que sirvan a la industria para

mejorar sus procesos de producción; es ahí donde se logra identificar el valor

agregado al realizar un proyecto aplicado a la industria. Partiendo de las

referencias aportadas, obteniendo así los datos necesarios para diseñar y/o

seleccionar el sistema más adecuado para la obtención de la información

necesaria para lograr obtener resultados positivos del proyecto.

Este proyecto está constituido por los sensores que mostrarán los datos que

entregue en el PC, y para lograr esta comunicación es indispensable tener su

interfaz de comunicación y desde luego su programa que luego visualizará todos

los datos obtenidos en una página de Internet para así lograr la supervisión a

distancia y lograr un trabajo integral del empresario a cargo de los cultivos.

Page 21: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

21

1. PLANTEAMIENTO DEL PROBLEMA

1.1 ANTECEDENTES

En el país hay alrededor 350 empresas comprometidas con la exportación,

producción y cultivo de flores, que generan directa e indirectamente trabajo a más

de 300.000 personas, de los cuales 4000 a 4500 son profesionales, Ingenieros,

Biólogos, entre otros.1

Las nuevas tecnologías están reportando grandes cambios no sólo en el área

urbana si no también en el área rural y en aquellas donde se tiene producción

agropecuaria, por esto se ve la gran diferencia que existe entre la producción

agropecuaria del pasado a la de ahora, se nota la entrada progresiva de

instrumentos y dispositivos, paquetes de software, aplicaciones de Sistemas de

Información Geográfica y la llegada inesperada de la Inteligencia Artificial

La entrada de estas tecnologías en las áreas de producción ha venido tomando

fuerza desde los últimos veinte años aproximadamente, trayendo consigo

favorables cambios a la industria en todos sus campos, como ha sido el ingreso

del software de control de funciones y el uso de aparatos automatizados y su

respectiva aplicación.

En esta entrada abrupta de la tecnología en la industria agropecuaria se pueden

ver cuatro etapas importantes en la historia, en la primera se ve como todas las

labores se ejecutaban manualmente, no intervenían dispositivos y el campesino

tenía que colmar todas las necesidades del cultivo y estar pendiente de la

supervisión del cultivo, en la segunda se incorporan algunos sistemas de

1 http://www.indap.cl/documentos/cuenta_publica/enero2003.pdf

Page 22: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

22

mecanización, pero el trabajo manual de todas maneras es primordial para cada

uno de los procesos del cultivo, en la tercera se incorporan el uso del computador

y software para control de maquinaria y de variables y la última y más reciente

etapa en la cual se introduce el Internet.

Esta etapa es la que está generando la mayoría de cambios en la industria

agrícola, ya que ofrece muchas posibilidades a los agricultores como es la

incorporación de producción a los mercados mundiales; adelantándose a la etapa

de cultivo hasta la “Teleoperación” que es el manejo a distancia de granjas con el

simple acceso a la red.

Page 23: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

23

1.2 DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA Teniendo en cuenta que actualmente los invernaderos no cuentan con alto

conocimiento en el sector tecnológico y sabiendo que día a día y en cada lugar del

mundo se acoge masivamente Internet y todas las facilidades que tiene para

realizar y mejorar las labores de empresas, estudiantes y porque no, gente en

común, puede generar en los invernaderos falta de competitividad, y que la

supervisión en los cultivos no sea óptima, esto trae grandes inconvenientes a la

hora de obtener resultados tangibles de un reporte detallado sobre sus

invernaderos, cuando cada uno de los encargados de los cultivos quiere estar al

tanto de sus cultivos no puede acceder a un servicio en el cual tenga datos

precisos del trabajo de su invernadero, si tiene varios cultivos en diferentes sitios

del país no puede llegar a ver que es lo que está sucediendo en tiempo real, los

sistemas de supervisión requieren estrictamente de personal humano para que no

existan fallos, además si en algún invernadero llegaran a existir fallos que el

mismo sistema de control no pudiera llegar a controlar, la persona al mando no

sería enterada a tiempo, conocería los detalles del suceso tiempo después del

mismo, cuando ya no se pudiera hacer nada, por lo tanto surge la pregunta,

¿Cómo diseñar e implementar un prototipo de supervisión de las variables del los

cultivos de flores a través de Internet, con una visualización por cámara del

invernadero y que active un aviso de errores por medio de un mensaje SMS?

Page 24: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

24

1.3 JUSTIFICACIÓN Existen empresarios del medio de las flores los cuales tienen cultivos en todo el

territorio colombiano, por tal motivo tienen que estar viajando constantemente y no

pueden tener un perfecto reporte de sus invernaderos, la idea de este proyecto

surge de la necesidad de lograr que este empresario pueda supervisar cada uno

de los factores que intervienen en el proceso del cultivo de flores, puede revisar

como está la temperatura en su cultivo y por ende si sus factores de control están

funcionando adecuadamente; igual que los de humedad y si su respectivo sistema

de riego está actuando en su debido momento, toda esta supervisión se realiza a

través de Internet que es el medio más factible actualmente para lograr una

supervisión de tales dimensiones.

Así mismo es muy importante que el en cualquier momento del día pueda

observar las condiciones climatológicas del sitio, si su personal está haciendo las

labores correspondientes y adecuadamente o si sencillamente quiere ver como es

el estado de sus cultivos; por esto se piensa en adecuar una visualización del

invernadero para permitir al empresario una perfecta supervisión del mismo, a la

hora que desee.

Pensando en estas personas se piensa en la creación de este proyecto que con

muy pocos dispositivos logrará integrar y supervisar todos los cultivos que existan

a cargo de una sola persona sabiendo que puede acceder a estás en el momento

que lo desee y por un medio que es bastante comercial hoy en día en el mundo

entero.

Page 25: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

25

1.4 OBJETIVOS 1.4.1 Objetivo General Diseño y construcción un prototipo que logre supervisar por Internet el estado de

la temperatura, humedad y activación de riego de un cultivo de flores.

1.4.2 Objetivos Específicos

• Analizar el funcionamiento de los invernaderos de flores, como se maneja

paso a paso el proceso de cultivo, cuáles son las condiciones requeridas

para su cultivación y cómo se mantienen las condiciones climatológicas de

los mismos.

• Caracterizar el proceso que se sigue en los cultivos para la siembra y

cosecha de las rosas.

• Diseñar la Interfaz que se va a utilizar para la comunicación entre los

sensores y el PC.

• Implementar la Interfaz que se va a utilizar para la comunicación entre los

sensores y el PC.

• Desarrollar el programa que visualizará los datos obtenidos de los sensores

del invernadero.

Page 26: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

26

• Implementar el sistema que reportará las irregularidades que se podrían

presentar en el invernadero por medio de mensajería SMS (Sistema de

Mensajería Corta), a un celular específico.

• Adaptar el sistema de visualización por Internet para el invernadero para

observar los sucesos en el mismo.

• Construir un prototipo de invernadero para implementar el sistema de

supervisión ya mencionado.

• Realizar pruebas de cada una de las variables que intervienen en el

proyecto para corrección de errores y mediciones pertinentes.

Page 27: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

27

1.5 ALCANCES Y LIMITACIONES DEL PROYECTO 1.5.1 Alcances Este proyecto tiene como meta principal contribuir a un avance tecnológico de

comunicación para los cultivos de Colombia, llegando a una etapa de construcción

e implementación que permita tener un prototipo de lo que sería la supervisión a

distancia de los invernaderos y las características del mismo.

A través su desarrollo se pretende realizar la construcción del sistema completo e

instalado en un banco de prueba. Es decir, al finalizar con el plazo de entrega, la

presentación sea el funcionamiento del módulo dentro del prototipo a través de

todo el sistema integrado en el mismo.

1.5.2 Limitaciones

El envío de los mensajes de texto SMS en caso de que llegue a existir un

problema en el invernadero que los controladores no puedan normalizar, a veces

los envíos de estos mensajes son demorados y pues esto sería un inconveniente

si se llegara a tener un problema en el invernadero.

A veces los servidores se desconectan de la red y se debe esperar hasta restaurar

comunicación, por esto en algunos casos la página no estará disponible para

visualizar.

Page 28: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

28

2. MARCO DE REFERENCIA

2.1 MARCO CONCEPTUAL

2.1.1 Microcontroladores

Un microcontrolador es un circuito integrado de alta escala de integración que

incorpora la mayor parte de los elementos que configuran un controlador.

Un microcontrolador dispone normalmente de los siguientes componentes:

• Procesador o UCP (Unidad Central de Proceso).

• Memoria RAM para Contener los datos.

• Memoria para el programa tipo ROM/PROM/EPROM.

• Líneas de E/S para comunicarse con el exterior.

• Diversos módulos para el control de periféricos (temporizadores, Puertas

Serie y Paralelo, CAD: Conversores Analógico/Digital, CDA: Conversores

Digital/Analógico, etc.).

• Generador de impulsos de reloj que sincronizan el funcionamiento de todo

el sistema.

El microcontrolador (figura 1) es en definitiva un circuito integrado que incluye

todos los componentes de un computador. Debido a su reducido tamaño es

posible montar el controlador en el propio dispositivo al que gobierna.

Figura 1. Microcontrolador

Fuente: http://www.etteam.com/product/pics/17IC/MC68HC908GP32.gif

Page 29: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

29

2.1.2 Riego por goteo o localizado2

Las plantas del jardín que no les cae agua del riego del césped se riegan

generalmente con goteo, por ejemplo: setos, grupos de arbustos, flores, rocalla,

huerto, árboles frutales, etc. Otras opciones de riego son los microdifusores o

microaspersores y las cintas de exudación.

Los elementos que componen una instalación automática de goteo son:

• Programador

Corrientemente se dedica una o varias estaciones o fases para el goteo y las

demás para los aspersores y difusores.

• Electroválvulas

Cada sector de riego lleva una electroválvula que se abre y se cierra según le

ordena el programador. Si tienes un sector de goteo, pues llevará su electroválvula

correspondiente.

Es común, por simplificar, que mucha gente ponga una sola fase para el goteo y

se riegue por igual todo lo que lleve goteo: setos, árboles, arbustos, frutales, e

incluso el huerto. Todo lo mismo. Se puede hacer, pero no es lo correcto ni mucho

menos porque cada grupo de plantas tienen necesidades de agua diferentes, no

consume lo mismo un árbol frutal que un grupo de flores.

• Reductor o regulador de presión

Los emisores de riego por goteo necesitan muy poca presión de agua para

funcionar. Incluso el agua de la red general de abastecimiento a la casa tiene

2 http://www.infojardin.com/articulos/riego-goteo-localizado.htm 15-03/2006 10:52 pm.

Page 30: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

30

mucha presión para este tipo de riego o si se riega con una bomba que toma el

agua de pozo o depósito, por esta razón hay unos dispositivos llamados

reductores o reguladores de presión. Si no se ponen y la presión es alta, saldrán

disparados los goteros.

• Tuberías

En los riegos de jardines pequeños y medianos suele bastar con tuberías de 32 y

25 mm de diámetro de polietileno (PE). A éstas se le conectan los ramales de

goteo propiamente dicho, siendo la tubería de 16 mm para goteo, la más habitual.

• Piezas especiales

Tes, codos, enlaces, llaves, empalmes, tapones, racor, etc.

2.1.3 Fundamentos del riego por goteo automático

Cada emisor suelen echar entre 2 y 8 litros por hora, siendo típico el gotero de 4

l/h de caudal. En el suelo se forma lo que se llama el bulbo húmedo, que es el

volumen de tierra humedecida por cada gotero.

Si el suelo es más arenoso, el bulbo es más estrecho y profundo que en suelos

arcillosos, donde adopta una forma más ancha y profundiza menos.

Page 31: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

31

Figura 2. Riego por goteo.

Aquí entra un concepto muy importante: la separación entre goteros. Es necesario

que exista un solapamiento de los bulbos húmedos. Emisores muy próximos

garantizan este solapamiento. La separación entre emisores oscila entre 30

centímetros y 1 metro.

Para arbustos, rosales o setos los goteros suelen distanciarse a unos 50 cm. en la

línea. En la figura 2 se puede ver un sistema de riego por goteo implementado en

un invernadero de rosas.

Page 32: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

32

2.2 MARCO LEGAL O NORMATIVO

2.2.1. Leyes, decretos y resoluciones

Figura 3. Códigos de decretos.

Page 33: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

33

Figura 4. Decretos y resoluciones.

2.2.2. Norma RS232

Page 34: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

34

El estándar EIA/TIA 232 de la EIA (originalmente denominado RS232) data de los

años 60 (1969 la revisión "C") y describe los aspectos eléctricos (niveles de las

señales), lógicos (formato de los datos) y mecánicos (conectores) de una conexión

serie entre lo que se denomina DTE (Data Terminal Equipment) que es el equipo

donde se originan o reciben los datos (una PC, por ejemplo) y un DCE (Data

Circuit-terminating Equipment) que es el dispositivo encargado de convertir esos

datos a un formato apropiado para su transmisión (por ejemplo, un modem

externo). El ITU (ex CCITT) tiene su propia versión bajo la denominación de V.24 y

V.28.

Esta norma fue creada originalmente entonces para describir cómo conectar un

equipo tal como una PC a un dispositivo como un modem para la transmisión de

datos y nada más. Con el paso del tiempo se fue generalizando su uso a otras

aplicaciones que en rigor no están descriptas ni cubiertas por la norma original. De

hecho, en la mayoría de los casos se usa sólo un subconjunto de las señales

previstas y se conectan dispositivos de la más variada clase que no responden al

comportamiento de un DTE o un DCE (Figura 5).

Figura 5. Conexión entre un DTE y un DCE.

2.2.2.1. Características eléctricas de las señales

En RS232, las señales tienen un voltaje mayor a 5V. Un valor lógico "1", también

denominado "marca" se transmite como un voltaje negativo y un valor lógico "0",

Page 35: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

35

también llamado "espacio" se transmite como un valor de voltaje positivo. Esta

diferencia de tensión ayuda a que las señales tengan una mayor inmunidad al

ruido. Tabla 1. Valores de tensión

SEÑALES DE DATOS

“0” lógico o espacio +3V a +5V

“1” lógico o marca -3V a -15V

SEÑALES DE CONTROL

“Off” -3V a -15V

La norma también limita el máximo slew rate de la señal a la salida del transmisor.

Esta limitación se incluyó con la intención de reducir el crosstalk entre señales

adyacentes. Mientras menores sean los tiempos de subida y caída de la señal,

menor es la probabilidad de que exista crosstalk. Por esta razón, el slew rate

máximo permitido es de 30V/uS. Con la misma finalidad, se establece una

velocidad máxima de 20 Kbit/seg.

2.2.2.2. Longitud del cable

En la norma original, se establece que la longitud máxima del cable es de 15

metros. Esta parte fue modificada en la versión "D"; en vez de especificar la

longitud máxima, se especifica una carga máxima de 2500 pF. De esta manera, la

longitud máxima del cable dependerá de la capacidad por unidad de longitud del

mismo. Esto implica que si utiliza un cable con una capacidad mas baja, se podrá

cubrir una distancia mayor. Otra limitante en la longitud del cable es que debe

presentar al circuito transmisor una carga entre 3 KOhm y 7 KOhm.

Page 36: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

36

2.2.2.3. Señales

La norma RS232 (o EIA/TIA RS232) es una norma completa en el sentido en que

no sólo especifica las características eléctricas de las señales si no que también

define los conectores que deben usarse, las señales presentes en ellos y la

función especifica de cada una de ellas. Las señales se dividen en cuatro

categorías: señales comunes, datos, control y temporización.

2.2.2.4. Conectores

El conector DB9 (Figura 6) utilizado profusamente en las PC no responde a las

especificaciones de la norma EIA/TIA 232. Debido a su popularidad, sin embargo,

se diseñó otra norma que si lo emplea, con las mismas especificaciones eléctricas

y lógicas que la 232. Esta norma es la TIA/EIA 574.

Figura 6. Conector DB9.

2.2.2.5. Formato de los datos

La norma TIA/EIA 232 describe un método de comunicación donde la información

se envía bit a bit, en formato serie. La información debe ser descompuesta en

palabras de datos. La longitud de estas palabras es variable, aunque en la

mayoría de los casos se usan 7 u 8 bits. Para una transferencia adecuada, deben

añadirse bits adicionales, para sincronización y detección de errores. Es

importante que tanto el transmisor como el receptor usen la misma cantidad de

bits, de otro modo los datos no serán debidamente interpretados.

Page 37: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

37

En comunicaciones síncronas, además de la señal de datos, se debe proveer de

una señal de clock, que indique la aparición de cada bit de datos. La ausencia de

señales de clock hace a las comunicaciones asíncronas más baratas y sencillas,

ya que se necesitan menos líneas en el cable. La desventaja es que el receptor

debe realizar una sincronización por cada palabra de datos, para lo cual se

requieren bits extra.

2.2.2.6. Conversión entre niveles lógicos y TIA/EIA 232

La conversión entre niveles lógicos (5V, 3,3V) y los niveles de tensión de la

TIA/EIA 232 puede realizarse con una variedad de circuitos integrados diseñados

específicamente para esa función, denominados drivers, o con transistores si no

hay demasiadas exigencias. Uno de los drivers más populares es el MAX232 y

sus derivados de distintas marcas. Una de las características sobresalientes de

este driver es que se alimenta con la misma tensión que la lógica (5 o 3,3V) y tiene

en su interior un circuito de "bomba de carga" para elevar e invertir la tensión y

obtener así los valores adecuados para la transmisión.

2.2.2.7. Implementación con microcontrolador

Es muy raro que una aplicación con microcontrolador deba implementar una

interfaz TIA/EIA232 tal como se describe en la norma, con todas las señales de un

conector DB25. Por el contrario, en la mayoría de los casos las conexiones que se

realizan no corresponden a un esquema DTE/DCE y pueden ser resultas con un

conjunto mínimo de señales. Para conectar un microcontrolador a una PC u otro

dispositivo serie a veces alcanza con sólo tres señales (GND, TX y RX) o cinco si

se emplea algún tipo de control de flujo (handshake) por hardware, agregándose

DTR y DSR o CTS y RTS.

Page 38: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

38

2.2.3. Resolución 1114 del 24 de Noviembre de 2004

2.2.3.1. Artículo 1: Mensajes de texto SMS

Los usuarios de los servicios de telecomunicaciones a quienes se les ofrezca la

capacidad de envío y recepción de mensajes de texto (SMS, por su sigla en

inglés) tienen derecho a establecer comunicaciones de este tipo con usuarios de

la misma red o de otras redes. Para tal efecto, todos los operadores que ofrezcan

SMS a sus usuarios deberán interconectarse y cursar este tipo de tráfico.

Parágrafo: Todos los operadores que actualmente se encuentren ofreciendo SMS

a sus usuarios, deberán interconectarse y cursar este tipo de tráfico, en un término

no mayor a sesenta (60) días calendario a partir de la fecha de entrada en

vigencia de la presente resolución.

El incumplimiento de la obligación de interconexión establecida en el presente

artículo estará sujeto a las sanciones a que haya lugar por parte de las

autoridades competentes.

2.2.3.2. Artículo 2. (7.9.4): Mensajes enviados desde Internet

Los cargos por la transmisión de mensajes desde Internet a un teléfono móvil se

generan para el receptor del mensaje, esto es, para el abonado suscriptor de la

línea móvil, a menos que el operador del servicio establezca una modalidad de

cobro diferente. Sin embargo, y en razón a que aquel no tiene control directo sobre

su utilización, será necesaria su aceptación previa, para lo cual se seguirán los

siguientes parámetros:

a) Se entenderá aceptado el envío de SMS cuando habiéndosele efectuado por

parte del operador de telefonía móvil la correspondiente consulta, por cualquier

Page 39: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

39

medio, el suscriptor no haya manifestado, también por cualquier medio, su no

aceptación.

b) Si dentro de un plazo razonable, que en ningún caso será inferior a treinta (30)

días calendario, no hay manifestación alguna por parte del suscriptor,

habiéndosele hecho saber las consecuencias que se derivan de su silencio, se

entenderá que acepta el mencionado servicio.

Page 40: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

40

2.3 MARCO TEÓRICO

2.3.1 Cultivo de las Rosas Las rosas han sido un símbolo de belleza a través de los siglos, la mayoría de

éstas son oriundas del hemisferio norte, se tiene conocimiento más o menos de

200 especies de estas flores. En la figura 7 se puede observar un invernadero de

rosas.

Figura 7. Invernadero de rosas.

Fuente: http://www.rosale.cl/imagenes/cultivo_rosas1.jpg

Taxonomía Y Morfología: Las rosas pertenecen a la familia ROSACEAE y su

nombre científico es ROSA SP.

Las rosas comerciales son híbridos ya desaparecidos, entre estas se encuentran

la té hibrida que presenta flores atractivas con capullos laterales de tamaño

grande o mediano, gran cantidad de pétalos y largos tallos; la floribunda que son

Page 41: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

41

unas flores en racimos, tienen una gran variedad de colores con diversos matices

y sombras. Sus tallos son espinosos y verticales.

Importancia Económica Y Distribución Geográfica: Las rosas han sido por todos

los tiempos la flor mas apetecida del mercado, su liderazgo se ha consolidado

desde la época de los 90 gracias a las variedades que se encuentran de estas, su

creciente demanda y la oferta que tienen durante todo el año.

Los principales mercados de consumo son Europa, Estados Unidos y Japón. Los

países productores de flores se encuentran distribuidos por todo el mundo, se

tiene a Holanda como potencia de este, seguido por Colombia y África, otros

países productores son México, Ecuador e India.3

Material Vegetal: Las cualidades que deben tener las rosas para corte requeridas

por el mercado, son:

• Tallo largo y rígido: 50-70 cm., según zonas de cultivo.

• Follaje verde brillante.

• Flores: apertura lenta, buena conservación en florero.

• Buena floración (= rendimiento por pie o por m2).

• Buena resistencia a las enfermedades.

• Posibilidad de ser cultivados a temperaturas más bajas, en invierno.

• Aptitud para el cultivo sin suelo.

Para lograr el enraizamiento se debe mantener una temperatura de 18º a 21ºC.

Este proceso dura 5 a 6 semanas, luego se transplantan a las macetas de 7.5 cm.

o al invernadero.

3 http://www.infojardin.com/todas_paginas_com.htm 03-04/2006 5:30 pm.

Page 42: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

42

2.3.1.1. Requerimientos Climáticos4 Temperatura: Las temperaturas para tener una buena calidad de la rosa son entre

17º a 25ºC con una temperatura mínima de 15ºC en la noche y en el día de 28ºC.

si se llegaran a tener temperaturas mas bajas de 15ºC se retrasaría el crecimiento

de la planta o se producirían flores deformes o con exceso de pétalos, si es el

caso contrario en q la temperatura fuera superior a 25ºC se tendrían flores mas

pequeñas o con escasos pétalos.

La temperatura del suelo se podría decir que es más importante que la

temperatura del aire en un invernadero, especialmente si se cultivan arriates.

Cuando se tiene una temperatura del suelo inferior a 7ºC, las raíces crecen más

despacio y no logran absorber con facilidad el agua ni los nutrientes. Al tener un

suelo templado se dan las condiciones para que las semillas germinen y para se

desarrollen los esquejes de raíces.

Para lograr una temperatura ideal en el invernadero a veces lo ideal es bajar la

intensidad de la iluminación y para impedir la entrada de los rayos de sol

generalmente se cuelgan mallas de sombreo en los invernaderos.

Es difícil regular las altas temperaturas, especialmente en verano. Por esta razón

se dispone de un sistema de ventilación el la cubierta o se utiliza una malla de

sombreo, otra solución es mojar frecuentemente el suelo del invernadero o con un

cubo o barreño con agua para mantener una buena humedad.

A continuación se mencionan las opciones para el control de temperatura:

Para subir la temperatura se necesita un invernadero bien cerrado con una

cubierta de plástico térmico, se debe emplear doble techo para evitar el 4 http://www.infojardin.com/huerto/invernaderos-clima-cultivo.htm 03-04/2006 7:00 pm.

Page 43: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

43

enfriamiento nocturno ya que esto forma una cámara de aire que evita que penetre

el frío de la noche; y una calefacción por aire o con agua caliente también es una

muy buena opción para mantener la temperatura a nivel.

Para bajar la temperatura se necesita tener una ventilación lateral, encalado o sea

una pintura blanca que generalmente es usada en Europa, cuando llega el otoño

se lava y se elimina, es muy parecida a la cal, también se pueden encalar los

cristales y aumentar el nivel de humedad con riegos para el suelo. Otra opción es

incorporar mallas blancas o negras que se colocan afuera del invernadero para

evitar el calentamiento del mismo, las pantallas térmicas con aluminio reflejan la

radiación y logran bajar la temperatura del cultivo y como última opción se tienen

los sistemas de refrigeración como son los nebulizadores y la pantalla

evaporadora.

Sistemas Automatizados de control de temperatura:

Calefacción: Dependiendo de la ubicación de las plantas del cultivo, se necesita

una fuente de calor adicional para complementar el que genera la radiación solar.

Estas fuentes de calor generalmente se utilizan cuando el sol se pone. Las

opciones mas conocidas de calefacción son la de instalar tuberías de agua

caliente dentro del invernadero o instalar un ventilador cerca de una estufa de gas

o aceite.

Ventilación: La ventilación es fundamental, no importa el tiempo que haga, en días

fríos también se tienen que ventilar las plantas un determinado tiempo para que

circule el aire o para los días calurosos es importante tener una buena ventilación.

Es importante la ventilación para expulsar el aire caliente y hacer que circule éste

dentro del recinto, a la hora de evitar plagas y enfermedades.

Page 44: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

44

Se puede tener ventilación manual o eléctrica y los respiradores deben estar

situados en dos posiciones, bajas y elevadas para tener un curso de aire

adecuado. Si se tienen unos extractores en una parte alta del invernadero estos

lograrán que el aire caliente sea expulsado y permite la entrada de aire fresco.

2.3.1.2. Iluminación El índice de crecimiento para la mayoría de los cultivares de rosa sigue la curva

total de luz a lo largo del año. Así, en los meses de verano, cuando prevalecen

elevadas intensidades luminosas y larga duración del día, la producción de flores

es más alta que durante los meses de invierno.5

Para estas plantas es necesario el sombreo u oscurecimiento en temporadas

calientes del año pues las elevadas intensidades luminosas vienen con un calor

intenso, la primera medida que se debe tener es que el oscurecimiento debe ser

ligero, para lograr un cambio luminoso progresivo.

En caso de que los días sean nublados o sea temporada de invierno se

recomienda iluminación artificial para las rosas, puede resultar costoso pero es la

mejor forma de mantener bien los cultivos.

2.3.1.3. Humedad

Un aspecto de suma importancia para el manejo de flores es la humedad relativa

del invernadero. Cuando se tienen pérdidas de agua se tienen también pérdidas

en la calidad del producto, lo que ocasionan cambios en las flores como son el

marchitamiento, arrugado o cambios en la textura de la flor.

5 http://www.infoagro.com/flores/flores/rosas.htm

Page 45: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

45

Una humedad relativa del aire ideal está entre 45 y 60%, para poder reconocer

estos niveles se utilizan higrómetros. Cuando se tiene una humedad alta en el

invernadero favorece que las plagas y las enfermedades puedan penetrar los

cultivos y dañar la producción, el caso contrario al tener humedad baja se puede

obtener la resequedad en las plantas.

Figura 8. Control de temperatura.

Imagen. http://articulos.infojardin.com/huerto/fotos-cultivo/iluminacion-artificial-inve.jpg

Cuando las hojas tienen una muy buena transpiración se logra que la humedad del

invernadero aumente, para lograr evitar que se tengan excesos de humedad se

tienen riegos en horas de la mañana y cuando sea estrictamente necesario y con

una buena ventilación (Figura 8). Para lograr subir el grado de humedad se moja

el suelo o se vaporizan las plantas periódicamente.

2.3.1.4. Riego en Invernaderos La necesidad de agua de riego es la cantidad que debe suministrarse a un cultivo

para asegurar que recibe la totalidad de sus necesidades hídricas o una fracción

determinada de éstas; ya que el riego es la única aportación de agua que se

dispone6.

6 http://www.infoagro.com/flores/flores/rosas.htm

Page 46: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

46

2.3.2. Sensores de Temperatura La temperatura se puede medir de innumerables maneras y se tienen muchas

opciones en cuanto elementos se refiere.

En la industria, cada uno de los procesos que se tienen deben ser supervisados y

controlados, es muy común que entre estos procesos se requiera el control y

medición de temperatura, para este fin se tienen infinidad de sensores que miden

esta característica, ya para elegirlo se requiere tener en cuenta el sistema que

debe ser controlado o supervisado, en la Tabla 1 se muestran algunos de los

sensores de temperatura que son mas usados:

Tabla 2. Dispositivos de medición de temperatura

DISPOSITIVOS DE MEDICIÓN DE TEMPERATURA

Eléctricos Mecánicos Radiación Térmica

Varios

• Termocuplas

• Termoresistores

• Termistores

• Resistores de

carbono

• Diodos

• Detectores de

ruido Jonson

• Transistores

• Cristales de

cuarzo

• Sales

paramagnéticas

• Sistemas de

dilatación

• Termómetros

de vidrio con

líquidos

• Termómetros

bimetálicos

Pirómetros

de radiación

- Total (

banda ancha

)

- Óptico

- Pasa banda

- Relación

• Indicadores de

color

- Lápices

- Pinturas

Sondas

neumáticas

• Sensores

ultrasónicos

• Indicadores

pirométricos

• Termómetros

acústicos

Page 47: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

47

Transductores: Son los elementos de un circuito que generan una superposición

de una variable física a una variable eléctrica, se encuentran dos clases de

transductores, los de entrada y los de salida, los primeros son comúnmente

conocidos como sensores que transforman una variable física a una eléctrica, la

variable eléctrica se encuentra en uno de los 5 campos de señales mas usuales

como son: radiante, magnética, térmica, química o mecánica mientras que la

variable eléctrica queda limitada a las variaciones de corriente y voltaje, directa o

indirectamente cuando se varía algún parámetro pasivo como por ejemplo la

resistencia, capacitancia e inductancia entre otras; en cuanto a los transductores

de salida o actuadotes traducen una variable eléctrica a una variable física en

cualquiera de los cinco campos anteriormente mencionados.

Los transductores de temperatura más comunes son la termocupla, la

termoresistencia y algunos elementos de estado sólido.

Cuando de seleccionar un sensor se trata se deben tener en cuenta varias

condiciones o factores, como son los rangos de la temperatura, la exactitud que se

requiere, la velocidad de la respuesta, los requerimientos de mantenimiento y los

costos, cada uno de estos factores se analizan en relación a los dispositivos que

son mas usados en la industria como termocuplas, termistores, sistemas de

dilatación, termoresistencias y pirómetros ópticos o de radiación.

En la siguiente tabla se encuentran detallados los sensores estándar existentes y

sus rangos de trabajo de temperatura.

Page 48: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

48

Tabla 3. Rangos de temperatura correspondientes a los métodos más comunes de medición.

Sistema Rango en ºC Termocuplas -200 a 2800

Sistemas de dilatación (capilares o bimetálicos ) -195 a 760

Termoresistencias -250 a 850

Termistores -195 a 450

Pirómetros de radiación -40 a 4000

Fuente: http://www.sapiensman.com/medicion_de_temperatura/index.htm

2.3.3. Sensores de Humedad

La humedad juega un papel muy importante en los procesos industriales al igual

que la temperatura, este factor puede variar pero es importante tener un monitoreo

y algunas veces controlada.

Para lograr medir esta característica el sensor debe estar completamente en

contacto con el ambiente de proceso

Precisión en la medición de la humedad: los laboratorios de calibración y los

fabricantes lo que buscan es identificar la calidad de desempeño de los

dispositivos para medir la humedad, esto se da en que sus especificaciones y sus

datos de calibración logren mostrar la operación real de los sensores. La precisión

de un sensor es la desviación con respecto a un patrón de laboratorio y esta

característica logra ser afectada por:

• Temperatura y humedad a la que fue calibrado el sensor.

• Dependencia de la calibración con la humedad y la temperatura, muchos

sensores son no-lineales y casi todos varían con la temperatura.

• Como afecta al sensor el envejecimiento y la velocidad de envejecimiento.

Page 49: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

49

• La sensibilidad del sensor con los contaminantes.

• La precisión que tiene el estándar usado para construir el sensor y su

certificación.7

Ya teniendo estas variaciones se puede observar que una precisión del ±1% no

muestra un desempeño efectivo cuando se trata de la operación del sensor, así

entre más preciso sea el sensor puede tener un tiempo de operación en la misma

aplicación mucho mas confiable.

2.3.3.1 Parámetros típicos para determinar la humedad:

Medición de la humedad relativa (RH): Consiste en la relación entre la presión

parcial del vapor de agua en el gas de que se trate y la presión de saturación del

vapor, a una temperatura dada. Por lo tanto la humedad relativa es función de la

temperatura. La medición es expresada como un porcentaje. La humedad relativa

es un parámetro utilizado principalmente en aplicaciones ambientales (ej.

acondicionamiento de aire) o mediciones meteorológicas ya que impacta

directamente en el confort humano. Cuando los niveles de humedad relativa son

bajos puede producirse electricidad estática que dañe al equipamiento

electrónico8.

Medición del punto de rocío/escarcha (D/F PT): se conoce como punto de rocío a

la temperatura que esta por encima de 0º grados, el cual el vapor de agua

presente en el gas lleva a su condensación; el punto de escarcha es la

temperatura que se encuentra por debajo de 0º grados en donde el vapor es

cristalizado en hielo.

7 http://www.monografias.com/trabajos10/humed/humed.shtml 03-04/2006 5:00 pm. 8 Ibíd.

Page 50: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

50

Se conoce como magnitud fundamental al punto D/F PT que es función de la

presión del gas pero es independiente de su temperatura.

Partes por millón (PPM): Expresión del contenido de vapor de agua por fracción de

volumen (PPMv) o, si es multiplicado por la relación entre el peso molecular del

agua y el aire como PPMw.9

Este término y todos sus términos que se asocian se utilizan cuando el vapor del

agua es una impureza, un componente definido o una sucesión de gases que

participan en un proceso industrial.

2.3.3.2. Diferentes tipos de sensores

Tecnologías que son mas usadas son: Las mediciones de humedad relativa son

hechas por sensores que se basan en: psicometría, resistivos, absorción de

líquido, desplazamiento y capacitivos.

Psicometría por bulbo húmedo/bulbo seco: Consiste de un par de termómetros

eléctricos acoplados, uno opera en estado húmedo.

El termómetro se humedece gracias a la evaporación del agua, así se logra una

diferencia notoria con la temperatura ambiente, cuando el bulbo húmedo tiene su

máxima caída de temperatura la humedad de logra comparando la temperatura

de los dos termómetros en su respectiva tabla psicométrica.

Sensores por desplazamiento: Mide la expansión o contracción de un material

(nylon o celulosa), que es proporcional a los cambios de nivel en la humedad

relativa

9 Ibíd.

Page 51: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

51

Sensor de bloque de polímero resistivo: Tienen un sustrato cerámico aislante en

donde se encuentra una grilla de electrodos los cuales están cubiertos por una sal

embebida en una resina, esta resina se recubre con una capa permeable al calor

que la protege del vapor del agua. Cuando la humedad permeabiliza la capa de

protección la resina se ioniza y los iones se movilizan dentro de ésta. Si los iones

son excitados la impedancia del sensor es medida y da el resultado de la

humedad relativa.

Sensores capacitivos: Como el de la figura 9, son apropiados para ambientes en

donde existen temperaturas altas pues su coeficiente de temperatura es bajo y el

polímero dieléctrico soporta altas temperaturas, son propicios para trabajar en

altos grados de sensibilidad y niveles bajos de humedad donde se requieren

respuestas rápidas.

Figura 9. Sensor capacitivo.

Fuente: http://www.monografias.com/trabajos10/humed/humed.shtml#dis

2.3.3.3. Comunicación Serial

El mundo de las comunicaciones internas del computador se realiza en forma

paralela alternada, por fuera del computador predominan las comunicaciones

seriales; las redes de computadores se basan en dicha comunicación. El PC utiliza

Page 52: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

52

la norma RS232, por lo que los niveles de tensión de los pines están

comprendidos entre +15 y -15 voltios.

La información que maneja un computador puede transmitirse de un lugar a otro

en dos formas básicas, en forma serial o en forma paralela. En una transmisión

serial se forma un “tren” de bits, uno tras de otro viajan del lugar de emisión al

receptor utilizando una sola vía, en este caso será un conductor eléctrico bus

Serial, como en caso de los trenes con una sola vía si se desea transmitir en el

sentido contrario, se debe esperar que la vía este libre. En la comunicación en

paralelo cada bit tiene su vía exclusiva, con la condición de que todos viajen

simultáneamente, como en el caso de la comunicación serial para transmitir en el

sentido contrario se debe esperar que la vía este libre, a menos que se tenga una

exclusiva para el sentido contrario. La comunicación en el interior del computador

son básicamente transmisiones en paralelo utilizando una sola vía, en caso de que

se transmita en los dos sentidos debe ser alternada por cuanto solo se cuenta con

una sola vía. El computador es igual al número de bits por segundo que se

transmiten o reciben.

Para enviar información codificada de esta manera, el transmisor y receptor

registran el tiempo, el cual define el periodo baud, deben estar a la misma

frecuencia y estar sincronizados. Los bits se transmiten como grupos separados,

con una longitud típica de 7 u 8 bits, llamados caracteres. El nombre carácter se

usa porque cada grupo de bits representan una letra del alfabeto cuando el texto

esta codificado en ASCII. Cada carácter se envía en una armazón (frame)

consistiendo de un bit “0” llamado un bit de inicio, seguido por el carácter mismo,

seguido (opcionalmente) por un bit de paridad, y después un bit “1” llamado bit de

paro. La lógica del bit bajo de inicio le dice al receptor que esta empezando una

armazón, y la lógica del bit alto de paro denota el final de la armazón.

Page 53: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

53

Figura 10. Conector DB-9 hembra, diagrama de pines.

Fuente: http://juandeg.tripod.com/Comuni1.gif

2.3.3.4 Comunicación Serial Asíncrona10

Primero se envía un bit de start, a continuación los bits de datos (primero el bit de

mayor peso) y finalmente los bits de STOP. El número de bits de datos y de bits

de Stop es uno de los parámetros configurables, así como el criterio de paridad

par o impar para la detección de errores. Normalmente, las comunicaciones serie

tienen los siguientes parámetros: 1 bit de Start, 8 bits de Datos, 1 bit de Stop y sin

paridad.

En la figura 10 se puede ver un ejemplo de la transmisión del dato binario

10011010. La línea en reposo está a nivel alto:

Se llama comunicación serial asíncrona porque el receptor sé resincroniza el

mismo con el transmisor usando el bit de inicio de cada armazón. Los caracteres

se pueden transmitir en cualquier tiempo, con un retraso de tiempo arbitrario entre

caracteres. Existen también protocolos de comunicación serial síncrona donde los

caracteres se envían en bloques sin una armazón de bits circundante. En esta

aproximación, el transmisor continuamente transmite señales, con un carácter de

10 http://juandeg.tripod.com/comserial.htm Febrero 10 2007.

Page 54: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

54

sincronización especial que se transmite si no hay datos reales disponibles para

transmitir.

Los bits dentro de cada carácter transmitido se envían con el bit menos

significativo primero, cada bit durando un periodo baud. Los transmisores y

receptores seriales se pueden instruir para enviar o recibir de 5 a 8 bits por

carácter (ambos deben de estar de acuerdo en cuantos).

Después de que los bits de cada carácter se envían, puede seguir un bit de

paridad opcional. El bit de paridad es útil si la línea de datos esta muy ruidosa

como para proporcionar una transmisión fiel. El bit de paridad, P, se puede elegir

para dar ya sea paridad par o impar. Para paridad par, P = 1 si el número de 1’s

en el carácter es impar y P = 0 si el número es par. Es decir, en la paridad par P

se elige tal que el número de 1’s incluyendo P es par. Para paridad impar, P se

elige tal que el número de 1’s incluyendo P es impar. El receptor local revisa para

asegurar que la paridad es aun la misma a pesar de que el cable haya recogido

ruido. Si la paridad ha cambiado, algún bit se ha perdido, y el receptor pone una

bandera de error de paridad en el registro de estado (Figura 11).

Figura 11. Trama de Datos.

Fuente: http://juandeg.tripod.com/Comuni2.gif

Page 55: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

55

Existe una herramienta básica para el manejo y ensayo de la transmisión serial

que es el HYPERTERMINAL DE WINDOWS: Este programa es una herramienta

útil para trabajar con comunicaciones seriales, ya sea para comunicarnos con otra

computadora, con un microcontrolador, con un multímetro, con un módem y en fin,

con cualquier dispositivo que esté diseñado para enviar o recibir información a

través de este medio.

La comunicación serial está compuesta principalmente de dos elementos básicos,

el hardware, que hace referencia a la configuración de los conectores y niveles de

voltaje, y el software, con el que se controla la información binaria que se quiere

transferir. Todo esto está regido por normas o protocolos donde el más utilizado

por las computadoras convencionales es el protocolo RS-232.

2.3.3.5. Protocolo RS-23211

El protocolo RS-232 es una norma o estándar mundial que rige los parámetros de

uno de los modos de comunicación serial. Por medio de este protocolo se

estandarizan las velocidades de transferencia de datos, la forma de control que

utiliza dicha transferencia, los niveles de voltajes utilizados, el tipo de cable

permitido, las distancias entre equipos, los conectores, etc.

Además de las líneas de transmisión (Tx) y recepción (Rx), las comunicaciones

seriales poseen otras líneas de control de flujo (Hands-hake), donde su uso es

opcional dependiendo del dispositivo a conectar.

A nivel de software, la configuración principal que se debe dar a una conexión a

través de puertos seriales. RS-232 es básicamente la selección de la velocidad en

baudios (1200, 2400, 4800, etc.), la verificación de datos o paridad (paridad par,

11 http://juandeg.tripod.com/rs232.htm Febrero 16 de 2006

Page 56: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

56

impar o sin paridad), los bits de parada luego de cada dato(1 ó 2), y la cantidad de

bits por dato (7 ó 8), que se utiliza para cada símbolo o carácter enviado.

La Norma RS-232 fue definida para conectar un ordenador a un modem. Además

de transmitirse los datos de una forma serie asíncrona son necesarias una serie

de señales adicionales, que se definen en la norma. Las tensiones empleadas

están comprendidas entre +15/-15 voltios.

Puerta serial full dúplex para comunicación punto a punto a una distancia no

superior a 30 metros. Desde 3 hilos hasta 19 hilos.

El primer puerto serial denominado comúnmente COM1 tiene asignada la

interrupción IRQ4 y sus registros empiezan en la dirección de la memoria %3F8, y

de ahí en adelante hasta la %3FE. Para las máquinas que tienen un segundo

puerto serial este se denomina COM2, tiene asignada la interrupción IRQ3 y sus

registros se alojan en las direcciones %2F8 hasta la %2FE. Los puertos

denominados COM3 y COM4 a pesar de que se mapean en un espacio diferente

de los puertos anteriores, comparten las interrupciones, COM1 con COM3 y

COM2 con COM4, por esto es muy difícil utilizar los cuatro cuando se trata de

hacerlos funcionar mediante interrupciones.

2.3.4. Manejo De La Web

Existen diferentes tipos de diseños que utilizan métodos para programar, diseños

prácticos y fáciles de manejar.

PHP (Hipertext Preprocessor) es un lenguaje de programación que se usa para la

creación y diseño de sitios Web, PHP Tools o Personal Home Page Tools es un

lenguaje que es común en aplicaciones para servidores y creación de contenido

dinámico en sitios Web, también se incluyen aplicaciones en las cuales logra

Page 57: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

57

trabajar aplicaciones con interfaz gráfica y conexión con diferentes tipos de

plataformas para comunicación con dispositivos electrónicos.

Tiene mucha similitud con lenguajes como C y Perl. Se logra crear complicadas

aplicaciones pero con una curva de aprendizaje factible, se involucra con

aplicaciones dinámicas con un simple conocimiento en los anteriores y más

conocidos programas.

Para lograr ejecutar e interpretar esta programación se tiene que hacer en el

servidor, aquí está almacenado el script, y el cliente recibe es la ejecución de

todas las acciones programadas, PHP maneja una cantidad de archivos como son

PDF, Flash entre otros, así se logra trabajar con variedades de formatos que

logran subir entre imágenes y música si se requiere.

La conexión que permite es a diferentes tipos de servidores de bases de datos

como MySQL, Postgres, Oracle, ODBC, IBM DB2, Microsoft SQL Server y SQLite;

lo cual permite la creación de Aplicaciones Web muy robustas.

Sus principales usos se ven en la programación de páginas Web dinámicas

combinadas con base de datos MySQL y tiene soporte nativo en otros motores

como ODBC y por esto se logra tener más posibilidades de conexión, puede

programarse en consola al estilo Perl, en Linux, Windows y Macintosh. Se logra

crear aplicaciones gráficas independientes del navegador combinando PHP y

GTK, esto permite desarrollar aplicaciones de escritorio en sistemas operativos

basados en Unix y Windows, Mac OS X.

2.3.5. Microcontrolador

Un Microcontrolador está diseñado para realizar la tarea de muchos circuitos

lógicos simplificando el diseño. Los pasos necesarios que el usuario tiene que

Page 58: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

58

cubrir para desarrollar circuitos con Microcontroladores es determinar las tareas a

realizar, escribirlas en un archivo, procesarlo para que después se almacene a la

memoria del Microcontrolador. Un Microcontrolador es un circuito integrado el

cual, de no ser programado no realizará tarea alguna. Requiere de ser

programado para que realice desde la tarea más sencilla hasta el control mas

complicado.

Las ventajas del uso de los Microcontroladores son muchas y muy diversas. Los

circuitos discretos son alambrados permanentemente para realizar una función

específica. Si los requerimientos del diseño cambian, es probable que sea

necesario rediseñar todo el circuito para ajustar estas nuevas necesidades.

Con un Microcontrolador, la mayoría de los cambios pueden implementarse

simplemente reprogramando el dispositivo. Es decir, solo es necesario cambiar un

programa y no el circuito lógico.

Contiene tres unidades básicas que lo identifican como tal y son CPU para

procesar la información, Memoria de datos para guardar información y Memoria de

Programa para almacenar las instrucciones.

2.3.5.1 CPU

La Unidad de Procesamiento Central es el corazón del Microcontrolador y es aquí

donde todas las operaciones aritméticas y lógicas son realizadas. Es decir, es la

unidad que calcula todas las operaciones que son ordenadas por la memoria de

programa.

2.3.5.2. Memoria de Programa

Contiene las instrucciones organizadas en una secuencia particular para realizar

una tarea. Típicamente es denominada memoria de sólo lectura (ROM) o también

Page 59: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

59

OTP, EPROM o FLASH que son memorias que una vez programadas almacenan

la información aunque el sistema no sea energizado. Esto permite que el

Microcontrolador ejecute el programa almacenado en Memoria inmediatamente

después de ser energizado.

2.3.5.3. Memoria de Datos

Esta es una memoria que puede ser escrita y leída según sea requerido por el

programa. Tiene las funciones de almacenamiento de datos (pila) y como

almacenamiento de variables. Este tipo de memoria es usualmente llamada

memoria RAM (Memoria de Acceso Aleatorio). Cada localidad de memoria tiene

una dirección única con la cual el CPU encuentra la información necesaria.

Los microcontroladores actuales contienen ambas memorias (Datos y Programa)

incluidas dentro del circuito integrado. Por otro lado, resulta necesario contar con

otras unidades que hacen posible el funcionamiento mínimo de un

Microcontrolador que son Circuitería de Temporización y Entradas/Salidas

2.3.5.4. Circuitería de Temporización

Los Microcontroladores usan señales de temporización llamadas Reloj que

proveen una referencia en el tiempo para la ejecución del programa. Esta señal

determina en qué momento los datos deben ser escritos o leídos de la memoria.

Así mismo, provee la sincronía con los dispositivos conectados al Microcontrolador

(Periféricos).

Entradas/Salidas: Los Microcontroladores requieren de una interfase para

comunicarse con la circuitería externa. Esta Interfase es denominada comúnmente

como Puerto.

Page 60: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

60

Existen Puertos de Entrada y Salida los cuales permiten que las señales (o datos)

sean leídos del exterior o mandados al exterior del Microcontrolador. Los Puertos

están formados de pines, (terminales del circuito integrado) los cuales,

dependiendo de la aplicación, son conectados a un sin fin de dispositivos como

teclados, interruptores, sensores, relevadores, motores, etc.

2.3.5.5. Diagrama de un microcontrolador

Para entender la configuración básica del Microcontrolador, describiremos una

solicitud del CPU de un dato localizado en Memoria: El CPU solicita información a

la memoria (o un Puerto) por un llamado con la dirección correspondiente a la

localidad donde se encuentre el dato solicitado. La dirección (de la información

solicitada) es almacenada en el CPU como un número binario en un registro

temporal. Las salidas de este registro son mandadas por muchas vías (o una vía

sencilla) a la memoria del Microcontrolador y periféricos. Al grupo de vías de

comunicación que comparten una trayectoria común en forma paralela se le

denomina “BUS”.

Es entonces cuando el registro de dirección almacena el dato recibido. El número

de bits recibidos dependen del tipo de Microcontrolador. El dato o la información

buscada se envían a la CPU por el bus de datos. El bus de datos es diferente al

bus de direcciones ya que el bus de datos sirve únicamente para recibir o mandar

datos a memoria o periféricos.

Las señales del bus de direcciones son controladas solamente por el CPU y la

información va siempre del CPU a los bloques de memoria. Por otro lado, la

información en el bus de datos puede ser de entrada o salida al CPU por medio

del registro de datos.

Page 61: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

61

En otras palabras, el bus de datos es bi-direccional y el bus de direcciones es uni-

direccional. El ancho de los buses de datos y de direcciones también pueden ser

diferentes, dependiendo del tipo de microcontrolador y del tamaño de la memoria.

A continuación en la figura 12 se muestra a bloques el CPU, Memorias y Buses.

Figura 12. Diagrama de bloques de un microcontrolador.

2.3.5.6. Memoria del programa

La Memoria de Programa contiene el programa del Microcontrolador. Es decir es

aquí donde se almacenan los comandos a ejecutar por el CPU para realizar una

tarea de control determinados por el usuario dependiendo de los requerimientos

de la aplicación. Existen muchos tipos de memoria de programa ROM, EPROM,

OTP, EEPROM, FLASH.

Page 62: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

62

Figura 13. Diagrama de la memoria de un programa.

Existe un registro que se identifica como PC (Program Counter) o Contador de

Programa. El PC es requerido por el CPU para apuntar a la localidad de memoria

que contiene las instrucciones del programa.

Algunos Microcontroladores también almacenan información de status del

controlador en la pila antes de responder a alguna interrupción. El programa

puede utilizar la pila para guardar datos temporalmente, especialmente cuando se

desea almacenar datos entre subrutinas. No todas las pilas de los

Microcontroladores son accesibles al usuario. El diagrama de memoria de los

programas de los microcontroladores se muestra en la figura 13.

2.3.6. Bases de datos MySQL

SQL, Structure Query Language (Lenguaje de Consulta Estructurado) es un

lenguaje de programación para trabajar con base de datos relacionales como

MySQL, Oracle, etc.

Es un sistema de gestión de bases de datos relacional, licenciado bajo la GPL de

la GNU. Su diseño multi-hilo le permite soportar una gran carga de forma muy

Page 63: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

63

eficiente. MySQL fue creada por la empresa sueca MySQL AB, que mantiene el

copyright del código fuente del servidor SQL, así como también de la marca.

Aunque MySQL es software libre, MySQL AB distribuye una versión comercial de

MySQL, que no se diferencia de la versión libre más que en el soporte técnico que

se ofrece, y la posibilidad de integrar este gestor en un software propietario, ya

que de no ser así, se vulneraría la licencia GPL.

Este gestor de bases de datos es, probablemente, el gestor más usado en el

mundo del software libre, debido a su gran rapidez y facilidad de uso. Esta gran

aceptación es debida, en parte, a que existen infinidad de librerías y otras

herramientas que permiten su uso a través de gran cantidad de lenguajes de

programación, además de su fácil instalación y configuración.

Las principales características por las cuales se escogió este gestor de bases de

datos son las siguientes:

1. Aprovecha la potencia de sistemas multiprocesador, gracias a su

implementación multi-hilo.

2. Soporta gran cantidad de tipos de datos para las columnas.

3. Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, etc.).

4. Gran portabilidad entre sistemas.

5. Soporta hasta 32 índices por tabla.

6. Gestión de usuarios y passwords, manteniendo un muy buen nivel de

seguridad en los datos.

Page 64: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

64

3. METODOLOGÍA Para el desarrollo del proyecto, se desarrollaron los siguientes pasos:

• Recolección de la información que documente sobre este tipo de proyectos.

• Análisis cada parte de un cultivo, la siembra de las rosas, el cultivo, como

es el cuidado de las flores, la temperatura adecuada, la humedad requerida,

el manejo de cada uno de los instrumentos de control.

• Escogencia de los sensores de humedad y temperatura con los cuales se

va a trabajar.

• Diseño de los circuitos de trabajo y su compatibilidad con el PC quien es el

que recibirá cada una de las variables

• Observación de las características de los componentes más relevantes de

las tarjetas preseleccionadas teniendo en cuenta su manual de

características.

• Escogencia del software y la programación que recolectará los datos de la

tarjeta de adquisición de datos.

• Revisión de la compatibilidad con conexión a bases de datos, la rapidez y

capacidad de respuesta del software.

Page 65: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

65

• Construcción de cada una de las páginas que revelarán los resultados

almacenados, el programa adecuado para diseñar la página se escoge

según las técnicas de diseño que se posean.

Page 66: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

66

3.1 ENFOQUE DE LA INVESTIGACIÓN

La metodología a utilizar es la empírico analítica ya que se elaborará la

construcción de un sistema dado el previo análisis de diseño que proporcionará

las características y requerimientos del sistema.

3.2 LÍNEA DE INVESTIGACIÓN DE USB / SUB-LÍNEA DE FACULTAD / CAMPO TEMÁTICO DEL PROGRAMA

Línea de investigación de USB: “Tecnologías Actuales y Sociedad”

Sublínea de facultad: “Instrumentación y Control de Procesos”

Campo de Investigación: “Sistemas de Adquisición y Control de Variables”

3.3 TÉCNICAS DE RECOLECCIÓN DE INFORMACIÓN

La principal fuente de investigación es Internet, libros de programación y tutoriales,

dado que es un medio cómodo para la realización de éste proyecto. Se pretende

buscar técnicas y opciones para recolectar información como medio de guía para

generar un diseño e implementación.

3.4 HIPÓTESIS

Con el diseño de un sistema que permita medir, supervisar, y generar un reporte

se podrá llevar el monitoreo de la temperatura, humedad y la activación de riego

Page 67: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

67

por un software implementado en la plataforma Visual Basic, almacenando la

información en una base de datos y una interfase que permita el análisis de los

datos adquiridos, realizando pruebas desde una tarjeta de adquisición de datos

hacia el computador. Todo esto visualizado por Internet, con visualización del

prototipo. En el caso que exista alguna variable que no pueda ser normalizada

envía un mensaje SMS al celular reportando la falla.

3.5 VARIABLES

3.5.1 Variables Independientes

• Sensores o entradas del sistema. Se escogerán según su función dentro

del sistema, es necesario también tener en cuenta que sean asequibles y

fáciles de manipular.

• Identificar el tipo de alimentación a utilizar. Esta variable es de vital

importancia en el desarrollo del proyecto, ya que es necesario tener de un

sistema no interrumpido de alimentación para dotar de energía a todo el

sistema. Esto incluye circuito de adquisición de datos, microcontrolador,

entradas, etc.

3.5.2 Variables Dependientes

• Diseño del circuito: Depende de la selección del microcontrolador, los

sensores y la herramienta de software apropiada para realizar la simulación

del mismo.

• Diseño de la interfaz PC-Tarjeta: Depende del circuito diseñado y la

plataforma para el diseño Web que se vaya a utilizar.

Page 68: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

68

4. PRESENTACIÓN Y ANÁLISIS DE RESULTADOS

Como primera medida se entra a evaluar los resultados que entregan las variables

al ser analizadas por el sistema, para el sistema en el computador maestro se

visualizan por medio de Visual Basic, aquí se pueden ajustar los valores en los

cuales se necesita o se requiere que los sistemas de control se activen, se

observan los resultados obtenidos de temperatura y humedad, se da la opción de

guardar estas condiciones de trabajo.

Otra opción para poder ver las variables y esta es la fundamental es en página

Web, en cualquier computador que tenga acceso a Internet, aquí se visualiza el

valor de la temperatura y de la humedad en tiempo real, y cada uno de los

historiales de hora, día, semana, mes y año. Y la opción de poder ver el

invernadero en Internet, una fotografía tomada cada minuto podrá dar una

visualización en tiempo real del mismo.

Como último resultado se tiene el mensaje de texto enviado en dado caso que se

llegue a tener una condición de fallos en el sistema que los controladores no

puedan regular, este mensaje viene establecido por medio del código PHP el cual

es un script que envía un correo a la página de uno de los grandes operadores

que poseen un sistema de envío de mensajes al celular.

Page 69: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

69

5. DISEÑO INGENIERIL 5.1. DESCRIPCIÓN DEL SISTEMA En este capítulo se explica el diseño, construcción e implementación del sistema

de supervisión, los sensores utilizados, las tarjetas diseñadas y su funcionamiento;

los microcontroladores que se escogieron con sus correspondientes circuitos y

programas, la fuente de voltaje, el uso de los relevos, el dispositivo de

comunicación, la alarma de aviso de fallos, así como los programas utilizados para

la comunicación entre la tarjeta y el computador, el programa de Visual Basic, la

base de datos implementada en MySQL, la comunicación entre la base de datos e

Internet, el entorno gráfico de las páginas; por último se explicará el programa

para la visualización del invernadero por medio de una cámara Web y el envío de

mensajes de texto para la detección de los errores.

En la figura 14 se puede observar un diagrama de bloques sobre el

funcionamiento del sistema, cada una de estas etapas se explican a continuación.

Page 70: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

70

Figura 14. Plataforma del sistema.

Para la explicación este sistema se ha dividido en seis importantes procesos con

los cuales se garantiza la completa presentación del mismo y por supuesto el

cumplimiento de los objetivos previamente planteados. Estos seis procesos son:

Page 71: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

71

1. Diseño y programación del módulo de sensores.

2. Diseño del módulo de control.

3. Diseño y programación de la interfaz.

4. Diseño y programación de la Web

5. Montaje.

6. Construcción del prototipo.

5.1.1. Diseño y programación del módulo de sensores

Esta es una de las 6 grandes etapas que se van a manejar. Es importante en el

sistema pues es la que va a obtener los datos de las variables que se manejan en

el banco de prueba, es la que va a transmitir a la tarjeta de adquisición de datos y

va a indicar según sus valores al microcontrolador cuales son los sistemas de

control que deben ser activados, este es el módulo que nos va a ayudar a tomar

las muestras que se van a visualizar en Internet.

A su vez, esta se divide en 2 partes, ya que se van a obtener resultados de dos

variables como lo son la humedad y la temperatura, por esto mismo existen dos

diseños.

Page 72: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

72

Figura 15. Ubicación de los sensores en el invernadero.

La figura 15 muestra la ubicación de los sensores de temperatura y humedad a lo

largo del invernadero, se puede ver que se tienen 4 sensores de temperatura, esto

es para lograr un control preciso de la temperatura del lugar, estos invernaderos

generalmente son de grandes dimensiones lo que hace que la temperatura que se

tiene en el extremo norte posiblemente no sea la misma que se tiene en el

extremo sur, esta condición se explica mejor con un ejemplo:

Suponiendo que en la parte norte se encuentra la entrada del invernadero, esto

acarrea muchos factores, abrir la puerta, tráfico en el exterior entre otros, pero en

dado momento del día llega un camión con plaguicidas para el invernadero, este

se estaciona muy cerca a la entrada logrando que se eleve la temperatura en el

costado norte del cultivo, mientras en el extremo sur la temperatura se encontrará

Page 73: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

73

mas baja, factores como éste llevan a que en el diseño de la tarjeta se

implementen cuatro sensores de temperatura. Estos sensores tomarán la

temperatura de cada punto y por software se tendrá la temperatura del cultivo

entero por medio de un promedio que se hace en el microcontrolador maestro. El

prototipo tiene de largo de un metro los sensores estarán ubicados cada 25

centímetros uno del otro.

Con la humedad en el aire ocurre un caso diferente, este factor es el mismo en

todo el lugar, por esto se implementa un sensor de humedad a lo largo del

invernadero.

Ya claro este punto se puede observar en la figura 16 los diseños de los circuitos

de los sensores de humedad y temperatura.

Figura 16. Circuito de supervisión de temperatura y humedad.

Page 74: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

74

5.1.1.1. Sensor de temperatura

Luego de evaluar varios sensores de temperatura, evaluando rango de trabajo,

capacidad de respuesta, compatibilidad con los microcontroladores y decidiendo si

sería análogo o digital se tuvo entre la preselección al LM35 y al DS1820. El

sensor seleccionado es el DS1820, este tiene amplio rango de escala y por tener

la gran ventaja de ser un sensor digital no necesita calibración y tiene una interfaz

directa con el microcontrolador, mientras el LM 35 es un sensor digital que

necesita de circuitos de amplificación y demanda mas tiempo para su calibración,

Es un dispositivo ideal para realizar el monitoreo de temperaturas en recintos

amplios simplemente con una sencilla instalación se vinculan los DS1820

dispuestos en los puntos en que se desea medir la temperatura. Los valores de

temperatura máximos y mínimos que se manejan en los invernaderos como ya se

había dicho son: De 18°C a 21°C en proceso de enraizamiento de la planta mas o

menos entre 5 y 6 semanas de sembrada la planta, después de este proceso entre

17°C a 25°C, para la noche no debe ser menor a 15°C y en el día no mayor a

25°C. La configuración del sensor se puede observar en la figura 17.

Periódicamente una computadora maestra interrogará a todos los termómetros,

almacenará la medición y podrá tomar las acciones de control necesarias

(conexión de calefactor, ventilador, extractor, etc.)

Page 75: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

75

Figura 17. Sensor DS1820.

5.1.1.2 Sensor de humedad

Figura 18. Circuito multivibrador astable.

Page 76: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

76

Como se puede observar en la figura 18 El sensor escogido para trabajar es el HS

1101 de Humirel, el circuito está montado como un típico multivibrador astable

diseñado para un 555. Este sensor se utiliza como un condensador variable, lo

que hace es cargarse por medio de la resistencia de 562K (R5) y 49.9K (R3) hasta

que llega a la tensión umbral, luego se descarga solo a través de la resistencia de

49.9K (R3) hasta llegar a la tensión Trigger pues en descarga la resistencia de

49.9K (R3) está conectada a tierra. Esta carga y descarga determinada por las

resistencias ya nombradas determinan el ciclo de trabajo del sensor. La

resistencia de 1K (R2) protege contra cortocircuitos.

La resistencia de 1.238K (R4) desequilibra la compensación de temperatura

interna del 555 introduce un coeficiente de temperatura emparejado al del

HS1101.

El sensor cuando entrega los valores de voltaje toma su medida en humedad la

cual se identifica con unos rangos determinados:

3.55V]~[100%~1.41V]~%10[=PH

Con esto se puede observar que cuando se tiene un voltaje de 1.41V la relación

de humedad medida es del 10% RH, y cuando se tiene un voltaje de 3.55V la

humedad que se está midiendo es del 100%.

Teniendo estos datos claros se puede averiguar la ganancia del circuito:

H

ccPH V

VA

max

=

408.155.35

==V

VAPH

Page 77: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

77

Figura 19. Sensor de humedad HS1101 de Humirel.

El sensor mostrado en la figura 19 tiene un rango de trabajo de -40 a 100°C, la

tensión de alimentación recomendada es de 10V y el rango de humedad de

trabajo es de 0 a 100% RH. El rango de humedad manejado en los invernaderos

esta entre 45% y 60%.

5.1.1.3 Microcontrolador MC68H908QT4

El microcontrolador utilizado tanto para el dispositivo de temperatura como para el

de humedad es el MC68H908QT4 mostrado en la figura 20. Se escogió por ser un

microcontrolador de bajo costo que posee las líneas de entrada y salida

necesarias para ser utilizado como la interfase entre el sensor y el

microcontrolador maestro.

Figura 20. Microcontrolador MC68H908QT4.

Page 78: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

78

Tiene un módulo de conversor análogo digital (ADC) de 10 bits de resolución y 4

canales con un conversor del tipo de “Aproximaciones Sucesivas”, un formato de

salida a 10 bits u 8 bits, conversión simple o continua, apagado automático del

módulo en el modo “conversión simple”, tiempo de muestreo y velocidad de

conversión configuradas por el software, un indicador de conversión completada e

interrupción, 3 fuentes distintas de referencia de clock para la conversión que son

oscilador externo, interno fijo e interno especial; operación del módulo en estados

STOP y WAIT, lo que permite un menor consumo de energía y además menor

ruido en la conversión y disparo de conversión asincrónico seleccionable por

software.

5.1.1.4 Transmisor Half-duplex RS485

El RS-485 como el mostrado en la figura 21 permite velocidades de transmisión

cercanas a 1 megabit por segundo, así como longitudes de la línea de hasta 1200

metros.

También tiene otra característica muy importante en ambientes industriales, puede

soportar hasta 32 nodos (equipos emisores/receptores) conectados por cada

segmento de red. Estos distintivos lo hacen muy adecuado para el trabajo que fue

diseñado, aplicaciones industriales.

Page 79: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

79

Figura 21. Transmisor RS485.

5.1.2. Funcionamiento de los circuitos sensores de temperatura y humedad

Para la explicación del funcionamiento de la tarjeta hay que volver a mencionar

que esta es usada para la implementación de los 4 sensores de temperatura y el

sensor de humedad, este último para su correcto funcionamiento tiene también

implementado el circuito multivibrador astable que ya fue explicado junto con su

respectivo sensor en la sección anterior. Se analizará el circuito de la figura 16.

El microcontrolador trabaja con un cristal de 24 MHz que se comunica digitalmente

a través de un pin de entrada salida con el sensor de temperatura DS1820

Este microcontrolador tiene una comunicación serial Half Duplex a 9600/N/8/1

(configuración del puerto serial en donde 9600 es la velocidad del puerto en bps, n

es no paridad, es un bit para verificar errores, 8 son los bits de datos que se

transmiten a la vez y 1 son los bits de stop que va a manejar el protocolo). Esta

comunicación obtiene por medio de la interfase RS485 encargada de hacer

comunicaciones a larga distancia y es muy eficiente para lugares de ruido.

Page 80: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

80

Este circuito se alimenta a través del conector RJ45 como el mostrado en la figura

22, este trabaja a un voltaje de 12V, se conecta en serie con los otros conectores

de su misma clase que se encuentran en cada una de los circuitos de los sensores

para su comunicación con la tarjeta maestra.

Figura 22. Conector RJ45.

El circuito maneja un regulador lineal de 5V, este regulador ayuda al buen

funcionamiento de los integrados, pues estos trabajan también a este voltaje de

5V.

La resistencia de final de línea implementada en el circuito de Humedad solo debe

ir en uno de los cuatro circuitos de los sensores de temperatura, tiene que ser en

el más lejano, esta resistencia es de 1K ohmios que se encuentra en la figura 18

del circuito multivibrador astable.

Los condensadores de la fuente son para eliminación de ruido, cada uno de los

integrados tiene su condensador de bypass (eliminación de ruido), este debe ir lo

mas cercano posible a la fuente de alimentación, y va al pin de alimentación

positivo.

La resistencia 4.7k es la resistencia de Pull Up Sensor, la resistencia de 10M que

llega al micro y la configuración del cristal son especificadas por el fabricante del

microcontrolador.

Page 81: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

81

El circuito de humedad está configurado igual que el circuito de temperatura,

observando la figura 22 varía para este circuito JP1 la pequeña tarjeta del 555

reemplaza el sensor de temperatura, JP2 conecta el sensor de humedad con la

board del circuito.

Para poder ajustar los valores que el fabricante aconseja en este sensor se debe

poner el “Trimer” del microcontrolador en un valor crítico según el datasheet.

En la configuración del oscilador astable estandar del 555 donde el condensador

determina la frecuencia máxima de oscilación esta es determinada por el sensor

de humedad HS1101 el cual cambia su capacitancia de forma proporcional de

acuerdo a las mediciones que se hagan en el banco de prueba.

5.1.3. Programa microcontrolador de las tarjetas de temperatura y humedad. Los programas de cada uno de los microcontroladores de esta etapa son hechos

en un programa de Freescale llamado CodeWarrior versión 5.7.0, este programa

lee los datos obtenidos por el sensor y los envía al microcontrolador maestro. Para

ver los programas consultar el ANEXO K y O.

La programación de los microcontroladores para los sensores de temperatura es

de la siguiente manera:

Page 82: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

82

Figura 23. Diagrama de flujo de la programación de los microcontroladores de temperatura.

Page 83: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

83

La programación del microcontrolador para el sensor de humedad es de la

siguiente manera:

Figura 24. Diagrama de flujo de la programación de los microcontroladores de humedad.

Page 84: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

84

El programa para el manejo de la comunicación serial se encuentra en el ANEXO

J.

5.2 Diseño y programación del módulo de control Este módulo es definitivo para la comunicación y adquisición de datos, aquí es

donde realmente se va a tener todo el control de cada una de las variables que se

manejan en el banco de prueba, donde se almacenan los datos y se transmiten al

PC.

Page 85: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

85

Figura 25. Circuito de la tarjeta maestra.

Page 86: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

86

A continuación se explicará cada una de las etapas que se visualizan en la figura

29.

5.2.1 Relevos Existen 3 relevos que se van a utilizar de la siguiente manera:

Relevo 1: Activa y desactiva y cuando sea necesario los dos ventiladores

instalados en el banco de prueba, uno para ventilación y el otro para extracción del

aire, los dos irán conectados en paralelo. Este relevo va al Pin 42 del

Microcontrolador

Relevo 2: Activa y desactiva cuando sea necesario el bombillo instalado como

calefacción. Este va al Pin 41 del Microcontrolador.

Relevo 3: activa y desactiva cuando sea necesaria la electroválvula que controla el

sistema de riego por goteo del prototipo. Este va al Pin 40 del Microcontrolador.

Este sistema de switcheo posee una resistencia de 18 omhios que va a tierra y es

la que sirve para la limitación de corriente, un diodo en inverso y paralelo a la

bobina del relevo para consumir las corrientes inversas generadas por la misma

bobina (Diodo de protección), todo esto es manejado a 12V.

5.2.2 Fuente de tensión Esta fuente proporciona voltajes de 12V, 5V y 3.3V DC. La regulación de 12V y 5v

se hace con reguladores lineales estandar y la regulación de 3.3V se hace a

través de un regulador LM7812 que es un regulador variable ajustado para

funcionar a 3.3, la regulación se lleva a cabo por medio de las dos resistencias R4

Page 87: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

87

y R5, estas ajustan el voltaje de salida del LM7812 para que sea

aproximadamente de 3.3V. Los condensadores estabilizan la señal y corrigen las

señales de ruido.

5.2.3. Programación

Es un pinhead de 6 pines para el programador del micro para ser utilizado con la

interfase o quemador multilink que usa el codeWarrior para programar el micro.

Esta parte se utiliza para programar el micro maestro

5.2.4. Reset Un simple pulsador que tiene la función de resetear el circuito cada vez que se

necesite. Va al Pin 6 del Microcontrolador

5.2.5. Alarma Se utiliza una alarma por si en dado caso alguna variable no logre ser controlada

esta pueda ser activada. Es la configuración de un swich con un transistor para

activar un busser piezoeléctrico controlado desde el micro por programación. Va al

Pin 23 del microcontrolador.

5.2.6. Microcontrolador El microcontrolador escogido es el 68HCS908GT60CFB mostrado en la figura 26,

seleccionado para ser el microcontrolador maestro por su facilidad de

programación, su buena relación costo beneficio. Posee dos puertos de

comunicación serial que son necesarios para comunicarse con el PC y los

sensores sin tener necesidad de estar verificando constantemente el envío y

Page 88: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

88

recepción de datos, también posee suficiente memoria para manejar los buffers de

comunicación y tiene la capacidad de trabajar con un bus de 20MHz generado por

un cristal de 4MHz lo que le permite ejecutar mas instrucciones que un

microcontrolador estandar del mercado.

Figura 26. Microcontrolador 68HCS908GT60CFB.

El sistema de oscilador es especificado por el fabricante, trabaja con un cristal de

4MHz que internamente es aumentado a 20MHz por medio del FLL interno del

microcontrolador (La frecuencia de bus interna del microcontrolador es de 20MHz).

Los condensadores de bypass que se utilizan para esta implementación son

recomendados por el fabricante para su completo funcionamiento. Los leds son

indicadores de estado con resistencias de limitación de corriente de 470 omhios

Page 89: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

89

para no exceder el consumo de 5mA por cada uno de los pines del

microcontrolador.

5.2.7. Interfase de Comunicación En esta parte se hace la comunicación entre el computador y la tarjeta de

adquisición de datos.

El buffer que se utiliza es el 7407 como el mostrado en la figura 27, este tiene la

propiedad que sus salidas son Open Collector para acoplar la lógica del

microcontrolador de 3.3V a la lógica de comunicación de 5 voltios.

Figura 27. SN7407.

Los buffer que se dirigen hacia el microcontrolador no usan resistencia de pull-up

externa porque para su funcionamiento se usa la interna que posee el

microcontrolador.

Page 90: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

90

Figura 28. Conector DB9.

La max 232 en configuración estandar ordena los niveles del estandar 232 que

utiliza el computador. Se conecta a través de un conector DB9 hembra de forma

directa como el de la figura 28.

Figura 29. Max 232.

La comunicación con los sensores a través del RS485 (comunicación Hallduplex)

(figura 29), utiliza la misma configuración de conector, lo único que cambia en esta

conexión es que tiene un Jumper (pinhead) para activar o desactivar la resistencia

de fin de línea.

5.2.8. Programa microcontrolador maestro

El programa del microcontrolador para recoger los datos de los sensores y

controlar las variables se visualizar en el ANEXO L.

Page 91: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

91

Figura 30. Diagrama de flujo de la programación del microcontrolador maestro.

Page 92: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

92

5.3. Diseño y programación de la interfaz Ya para este punto y teniendo la mayoría del sistema implementado podría decirse

que se ha establecido la comunicación satisfactoriamente con el computador, a

continuación se explica la interfaz entre el circuito y el computador, un lenguaje en

el cual se puedan visualizar los datos en el PC, esta herramienta la complementa

Visual Basic, un programa que está implementado para recibir todas las variables

de la tarjeta de adquisición de datos, muestre las variables de control que se están

trabajando y además tenga una conexión con MySQL.

Para revisar el programa consultar el ANEXO M. El programa se realiza la

siguiente función:

Como primera medida se escoge el puerto de comunicación a trabajar y se

determina el muestreo de cada una de las variables que se trabajan, luego se

activa la interfaz de comunicación entre la base de datos y Visual Basic, ya con

esto determinado se empieza a trabajar por eventos, el primero sería cargar la

aplicación, segundo carga el index de selección del puerto y lo pone de primero.

Se trabaja con el puerto serial, se configura y se visualizan las activaciones y

desactivaciones del mismo, la configuración estandar del puerto es 9600/N/8/1 con

1024 en la entrada del buffer y 512 en la salida.

Para enviar la temperatura y el PH lo que hace es incrementar el contador de

segundos, este compara con el valor de muestreo, cuando estos dos valores son

iguales envía el dato, se abre el puerto, entra, si el puerto esta cerrado lo abre,

revisa cual es el puerto seleccionado y lo abre, confirma si está abierto, se activa

el timer de segundos. Cuando se trata de abrir un puerto que no existe genera el

Page 93: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

93

número de error, si el puerto esta abierto y revisa si lo cerro, se habilita el timer de

segundos.

Cuando se ingresan los datos este revisa si es un número decimal, almacena el

tipo de dato, dependiendo si es double o integrer y guarda los datos en una

cadena temporal, verifica si los campos de temperatura PH y tiempo están vacíos.

Se activa el buffer para transmitir los datos, se hacen las sumatorias para guardar

los datos, se agregan los caracteres de inicio, los caracteres de fin, se indica la

posición de escritura y se agrega la información de las variables, se verifican los

valores que estos no sean nulos, se incrementa el contador donde se va a escribir

el próximo dato a leer.

Ya con estos datos se procede a establecer los rangos de trabajo de las variables,

para la temperatura y para la humedad. Se establecen los valores máximos y

mínimos de las dos variables y ya con esto se define cuales de los sistemas se

activan. Los sistemas que se manejan son un ventilador, un extractor de aire,

calefacción por medio de un bombillo alógeno y el sistema de riego por goteo.

Se agrega al buffer el indicador del parámetro que se envía, se incrementa el

contador donde se escribirá el siguiente dato del buffer, se incrementa el contador

que indica la posición donde se escribirá el siguiente dato del buffer, se agrega el

comando guardar los datos y se envía el buffer al puerto serial y envía los datos

para activación.

Luego se procede a guardar los datos que se van a transmitir agregando el

carácter de inicio a la trama del buffer, se agrega el comando de lectura, se

agrega el fin de la trama y se envían los datos por el puerto serial.

Page 94: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

94

Cuando se ha cumplido el tiempo de un segundo del timer, el buffer guarda los

datos a ser transmitidos, luego incrementa el contador de segundos, verifica si el

contador de segundos es igual al muestreo de ser así hace la petición de datos al

micro, pone en cero el contador de segundos, agrega el carácter de inicio de

trama al buffer en 0, agrega el comando de lectura de datos, genera el carácter de

fin de trama y finalmente se envía el buffer al puerto serial para enviar los datos.

En el momento que existe un evento en el puerto serial el byte que se recibe en la

conversión llega al puerto, recibe el dato, se guardan los datos recibidos y se

verifica si se esta recibiendo un byte, se apaga el timer de recepción y empieza de

nuevo el conteo, se guarda el dato en el buffer de recepción y se queda recibiendo

datos en el buffer mientras existan datos en el buffer y luego se enciendo de

nuevo el timer para esperar el siguiente byte.

Para poner datos en el buffer de recepción se verifica que el número de datos no

sea el límite del buffer, se incremente en 1 el contador de datos, se escribe el dato

en la siguiente posición libre del buffer, se incrementa el valor de la siguiente

posición vacía y se verifica que el indicador de la siguiente posición libre no sea

mayor al tamaño del buffer, en caso contrario se pone un 0.

Para lectura en el buffer entonces como primera medida se verifica si se pudo leer

el dato, se inicializa la variable de respuesta para indicar que no ha leído datos, se

verifica que existan datos en el buffer, se decrementa el contador de datos del

buffer, se lee el dato en la siguiente posición de lectura, se verifica el indicador de

siguiente posición y se asigna la respuesta indicando la lectura del dato.

Para finalizar se verifican los datos, se actualizan las posiciones se asegura que

se estén activando los sistemas adecuadamente, verifica si se activan y que todos

los registros hayan tenido todo el proceso correspondiente.

Page 95: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

95

Este código genera un resultado de este tipo para visualización del usuario:

Figura 31. Plataforma Visual Basic (Interfaz entre la tarjeta maestra y el PC).

Para finalizar con esta etapa se debe explicar la conexión de Visual Basic con la

Base de datos, esto se logra con un programa llamado ODBC que envía una

petición de datos al micro según el tiempo de muestreo, lo que recibe lo guarda

directamente a la base de datos, actúa como una interfaz entre estos dos

programas, se configura con respecto a la base de datos y este genera

inmediatamente un mensaje de aprobación de la conexión.

Page 96: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

96

Figura 32. Conexión exitosa de MyODBC.

5.4 Diseño y programación de la Web En esta etapa del proyecto se diseña, implementa y construye la base de datos del

sistema y las páginas Web que van a ser visualizadas en Internet.

Existe una plataforma bastante útil que integra MySQL, apache y PHP, es un

servidor local que se llama WM Server Versión 3.3, esta plataforma de trabajo

Page 97: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

97

ayuda a que todo el sistema montado pueda ser probado solo configurando sus

condiciones iniciales.

Como primera medida en esta etapa se procede al diseño e implementación de la

base de datos en MySQL. La figura 33 muestra la base de datos implementada.

La base de datos se llama supervisión, Tiene 6 tablas: Anual, Datos, Día, Hora,

Mensual y Semanal. Las tablas se muestran en las figuras 33 y 34.

Figura 33. Base de datos (Supervisión).

Los valores de cada uno de los campos están designados según el dato que vaya

a almacenarse, en los campos de temperatura y la humedad se indexan datos

decimales por lo que se define que es tipo “decimal”, para la activación de riego

que es un número entero se le asigna que este campo es tipo “int”, la fecha es tipo

“date” y la hora tipo “time”, todos son valores no nulos, lo que significa que nunca

uno de sus campos puede estar vacío.

Page 98: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

98

Figura 34. Tablas que componen la base de datos (1).

Para casos como hay en la tabla de mes y año en donde existen campos que

dicen cual fue el mes de la consulta y para el caso del año identifica el año de la

consulta, este campo esta denominado de tipo varchar (10), lo que quiere decir

Page 99: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

99

que los datos que ingresan aquí son letras y los caracteres permitidos son de un

máximo de 10.

Figura 35. Tablas que componen la base de datos (2).

Ya con la base de datos lista se procede a realizar las páginas en PHP para la

visualización de la base de datos y la parte gráfica de la misma.

Page 100: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

100

5.4.1 Diseño de las páginas Web Para poder obtener conexión entre la base de datos y PHP se tiene que ejecutar un programa llamado “librería.php”. <? function Conexion() { /*mysqli_connect requiere 4 parámetros: 1ero. Nombre del Servidor 2do. Nombre del usuario de Mysql 3ro. Password del usuario de Mysql 4to. Nombre de la base de datos de Mysql */ $conectID = mysql_connect("localhost", "root", ""); /* check connection */ if (!$conectID) { printf("Error al conectar con la BD: %s\n", mysql_connect_error()); exit(); } else {$db=mysql_select_db("supervision",$conectID);} return $db; } //Cierra la conexión abierta por Marcela(); function CConexion() { $connect = Conexion(); mysql_close ($connect); } ?>

El funcionamiento del anterior Script sería de la siguiente manera: Como primera medida se realiza la conexión y se abre la base de datos con la sentencia “function Conexion()”. Se necesita tener la conexión con el servidor local, y por lo tanto que revise si se tiene la conexión y si no existe que genere un error y que lo anuncie esto se realiza con la “sentencia mysql_connect”. Luego de tener el servidor local conectado se procede por seleccionar la base de datos con la cual se quiere trabajar, en este caso supervisión. Para finalizar la consulta, se genera la sentencia final que hace que la conexión pueda ser cerrada.

Page 101: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

101

Ahora se va a realizar la consulta que va a mostrar los resultados enviados por el micro de las variables trabajadas. <? include('Libreria.php'); //Abre la conexión a la BD $conexion=Conexion(); $query=mysql_query("Select item, temperatura, humedad, activacion_riego, fecha, hora from datos"); while($row = mysql_fetch_array($query, MYSQL_ASSOC)) { $c1=$row["item"]; $c2=$row["temperatura"]; $c3=$row["humedad"]; $c4=$row["activacion_riego"]; $c5=$row["fecha"]; $c6=$row["hora"]; echo"<p><b><u>INVERNADERO DATOS</u></b> </p><p>Fecha: $c5 </p><p>Hora: $c6 </p><p>Temperatura: $c2 ºC </p><p>Humedad: $c3 % </p><p>Activación de Riego: $c4 Veces"; } ?> Se llama a la librería y esta a su vez llama el archivo PHP con la función de conexión, logra que se visualicen las variables de la base de datos en la página, luego de llamar ese código se procede a seleccionar la tabla que se va a visualizar con cada uno de los campos que contiene con la sentencia “mysql_query”, se ejecuta una sentencia que hace que recorra el array con los resultados de la consulta, lo que hace es un tipo de chequeo en la base de datos para verificar los resultados que tiene que mostrar en PHP. Luego de esto se le asigna a cada variable un valor que será su identificación a la hora de imprimir los datos con la sentencia $row. Para finalizar se muestran los resultados de la consulta con la función echo, esto es lo que se visualizará en la página, los datos que se encuentran en la base de

Page 102: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

102

datos y su significado o todas las cosas que se quieren mostrar en la página, todo el entorno gráfico es plasmado en este sitio. Para el llenar las otras tablas de la base de datos se ingresará todo desde PHP. <? include('Libreria.php'); $conexion=Conexion(); $query=mysql_query("Select item, temperatura, humedad, activacion_riego, fecha, hora from datos order by fecha, hora DESC"); //Recorre el array con los resultados de la consulta while($row = mysql_fetch_array($query, MYSQL_ASSOC)) { $c1=$row["item"]; $c2=$c2+$row["temperatura"]; $c3=$c3+$row["humedad"]; $c4=$c4+$row["activacion_riego"]; $c5=$row["fecha"]; $c6=$row["hora"]; $count=$count+1; if($count == 4) { $c2=$c2/4; echo "Temperatura: $c2"; $c3=$c3/4; echo "Humedad: $c3"; echo "Activación de Riego: $c4 veces"; mysql_query("INSERT INTO dato (hora) VALUES('$c3' ) ") or die(mysql_error()); mysql_query("INSERT INTO dato (hora) VALUES('$c2' ) ") or die(mysql_error()); mysql_query("INSERT INTO dato (hora) VALUES('$c4' ) ") or die(mysql_error()); echo "Data Inserted!";

Page 103: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

103

} } ?> Para el ingreso de los datos a la tabla hora se llama igual a la librería para hacer la conexión, se recorre el array como en el programa anterior, se llaman a cada una de las variables de la tabla pero en este Query se agrega una sentencia, que los datos sean organizados por fecha y hora. Luego para asignar las variables del valor de cada una de las columnas se hacen las operaciones correspondientes para que los resultados indexados a la base de datos sean los de la hora. Como las variables que se van a consultar son Temperatura, Humedad y Activación de riego en cuando se asignan los valores a las variables en estos valores se agrega una operación que irá sumando cada uno de los valores correspondientes, cuando se termina de asignar los valores se ejecuta un “if” que hace que esta sumatoria se detenga cuando los valores leídos sean igual a 4, entonces, ya tomados los 4 datos arrojados por el micro cada 15 minutos se suman y para realizar el promedio de la hora para la Temperatura y la Humedad se toman cada uno de los valores asignados y se dividen en 4, para la variable de activación de riego la sumatoria muestra las veces que se tuvo q activar el riego en el transcurso de esa hora. Para ingresar los datos a cada una de las tablas de la base de datos se trabaja con la sentencia “insert”, luego de realizadas las operaciones en PHP para realizar el promedio se encarga de insertar los resultados.

5.4.2. Visualización de resultados en Internet

Así se visualiza la página en Internet con los resultados del banco de prueba:

Page 104: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

104

Figura 36. Visualización resultados del banco de prueba.

La figura 36 muestra un pantallaza de la primera página que se mostrará en el

invernadero inmediatamente se entre a la página, al hacer clic en el hipervínculo

“Entrar” va a abrirse un “Popup” en todo el centro de la pantalla, en el están

contenidos los datos de la temperatura, humedad y activación de riego, también se

tiene una visualización del banco de prueba actualizando cada 15 segundos. El

programa utilizado para generar la visualización por cámara se llama Fwink, este

se configura con el servidor y empieza a capturar video.

Los entornos gráficos de las páginas fueron trabajados en Macromedia

Dreamweaver y Fireworks, dos programas especializados para el diseño dinámico

de páginas Web.

Page 105: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

105

Figura 37. Visualización resultados del banco de prueba.

Los históricos de Hora, Día, Semana, Mes y Año se visualizan de la misma

manera que los datos inmediatamente se entra a la página, con promedios

dependiendo de la opción que se escoja. La figura 37 muestra como es la

visualización de los datos en Internet con el video del invernadero en tiempo real.

5.4.3. Mensaje de texto SMS Este sistema se activa si el invernadero se presenta un problema que ninguna de

los controladores pueda regular, este mensaje dirá cual es la variable que ha sido

afectada.

Page 106: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

106

La configuración de este sistema se lleva a cabo gracias a la tecnología SMS

aplicada en la empresa Comcel S.A. ya que con solo abrir una cuenta de correo

en su página y configurar un correo externo a los de esta empresa se puede lograr

que se envíe el mensaje sin ningún tipo de inconveniente, además de un código

en Javascript que después de realizar todo el proceso ya explicado en el proyecto

y descubrir algún tipo de error hace que se ejecute esta sentencia:

<?

$mensaje=$_POST["message"];

$correo=$_POST["email"];

$destinatario="[email protected]";

$motivo="comentario desde archivosmicroopticos.com";

mail("$destinatario",$motivo, $mensaje,"FROM: $correo\nX-Mailer: PHP");

?>

5.1. Construcción del banco de prueba

Page 107: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

107

Figura 38. Invernadero.

Para la construcción del invernadero mostrado en la figura 38 se siguieron los

siguientes pasos. Como primera medida es buscar un soporte para las plantas, se

utiliza un cajón hecho en madera cedro blanco de 1x 60 cm. de largo, este cajón

es impermeabilizado con emulsión asfáltica para evitar que la madera sea

carcomida por comejenes, gorgojos, orugas ó termitas, luego se hacen las bases

que sostendrán el plástico que protege las flores, se cogen 6 barras de la misma

madera del cajón, cuatro de 60 cm. para las 4 esquinas y dos de 1 MT para el

centro de los lados largos, se aseguran al cajón con tornillos de 2” y 1.5’’, y otros 3

palos de 60 cm. que van de extremo a extremo de los estos para asegurar el

plástico y los tornillos. En la figura 39 se puede observar los avances del

invernadero hasta el punto ya descrito.

Page 108: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

108

Figura 39. Invernadero en construcción.

Con esto asegurado, se procede al acondicionamiento de la planta, se utilizan 3

bultos de arena mezclados con cascarilla y humus, se esparce bien en el cajón y a

continuación se introducen las rosas.

Se siembran 6 plantas, son pocas porque ellas en espacios pequeños y si están

muy cerca la una de la otra empezarán a pelear por comida, ocasionando que se

mueran.

Las rosas mini, requieren mucha atención, por esto son llevadas con cuidado del

vivero al banco de prueba, sacándolas de las materas con cuidado, sus raíces

están aprisionadas por el reducido espacio, se necesita que las raíces se acoplen

bien al invernadero pero sin forzar la planta, se abren unos pequeños huecos

según el espesor de las raíces, y se introducen ahí, se cubren con tierra e

inmediatamente se incorpora el riego por goteo. Las piezas del riego por goteo se

muestran en la figura 40.

Page 109: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

109

Figura 40. Manguera, racores y electroválvula para implementación del riego.

Figura 41. Sistema de ventilación, extracción y calefacción del invernadero.

Se incorpora una manguera de poliuretano de 6mm, se le abren huecos cada 8

centímetros con una pequeña aguja, la manguera se incorpora a lo largo y en el

centro del invernadero, una en cada hilera donde van las plantas, no muy lejos de

las raíces de las mismas, siempre hay que evitar que caiga agua sobre las hojas y

las flores de las plantas, se puede hacer que a las plantas les salgan animales y la

dañen, los tubos se aseguran con tornillos para madera. El riego goteando con

poca presión para adaptar las condiciones de la planta. El tubo va a una T de 6mm

es para que los dos lados del tubo puedan suministrar agua a todas las plantas del

banco de prueba, luego la otra extensión del tubo va a la Electro-Válvula que

Page 110: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

110

controlará la activación del riego y la otra extensión a un racor espina de pescado

que se adapta a la llave del acueducto.

Para incorporar el plástico se toman las medidas y se corta, se aseguran a los

soportes al mismo cajón para evitar que las condiciones atmosféricas dañen las

plantas.

Uno de los frentes del invernadero no es asegurado, ayudará a que se pueda

manipular la planta por ejemplo para cortar las hojas secas, supervisar el

funcionamiento del riego por goteo, (figura 42) o cualquier percance que se pueda

presentar.

Figura 42. Instalación del riego por goteo.

Para finalizar, se adecuan los sistemas de control y supervisión, ventiladores a los

dos lados de los frentes cortos, uno como ventilador, el otro como extractor, el

Page 111: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

111

bombillo de luz alógena que va a hacer la función de calentador. Los sistemas

implementados se muestran en la figura 41. Los circuitos van fuera del

invernadero, pero cada uno de los sensores se acomodan según las

características del mismo, los 4 sensores de temperatura van a estar distribuidos

cada 25 cm. uno del otro, es para la medida de temperatura, con cada uno de los

datos tomados se hace un promedio y con esto se tiene la temperatura total. El

sensor de humedad solo se utiliza uno, esta condición será la misma en todo el

invernadero, éste ira en el centro del mismo. El riego es controlado según las

condiciones de la temperatura y la humedad al igual que el ventilador y el

extractor. La cámara se incorpora en una de las esquinas en donde tenga una

vista completa de las rosas. Y todo conectado a un computador con acceso a

Internet. El invernadero finalizado con todas los sistemas de control incorporados

se muestran en la figura 43.

Figura 43. Invernadero finalizado.

Page 112: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

112

6. CONCLUSIONES

• Los microcontroladores están en auge, son una excelente opción a la hora

de hacer diseños académicos e industriales. El programador puede resolver

aplicaciones de complejidad media y grande. La potencia, velocidad y bajo

costo de estos dispositivos pone a disposición de los diseñadores los

dispositivos ideales para resolver proyectos de microelectrónica

programada.

• Tanto el almacenamiento como la consulta de los registros en la base de

datos es eficiente, además que MySQL es una herramienta muy sencilla de

utilizar, sobretodo en esta aplicación ya que el servidor local WM Server

tiene una excelente conectividad entre PHP y la base de datos, los

resultados de consulta se generan rápido, la inserción de los datos desde

PHP o algún programa de adquisición de datos es eficaz y su facilidad de

manejo lo convierte en parte importante en el sistema.

• El desarrollo de la interfaz con Visual Basic es bastante sencillo, ya que da

muchas facilidades a la hora de implementar los códigos fuente de las

aplicaciones, su compatibilidad con el puerto serial y el buffer permite una

comunicación ideal a la hora de transmitir, recibir y hasta almacenar datos.

• El tiempo de respuesta del sensor de temperatura hace que la captura de

los datos sea más efectiva, su tiempo de respuesta es bastante corto lo que

hace que el objetivo se cumpla en un tiempo bastante alentador, los

sensores digitales resultan una gran opción para la implementación de

circuitos que necesiten respuestas de trabajo ideales para las necesidades

de los usuarios.

Page 113: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

113

• Aunque el sensor de humedad sea análogo su respuesta de trabajo es muy

buena, además, el microcontrolador hace mas sencilla la operación de este

dispositivo pues sus características permiten trabajar con este tipo de

sensores y adaptarlos perfectamente a las exigencias del sistema.

Page 114: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

114

7. RECOMENDACIONES

• Para programar los dispositivos se debe tener en cuenta el diseño y las

pruebas del mismo programa, es recomendable realizarlas a través de

diagramas de flujo, maquinas de estado, diagrama de clases, pero es

importante implementar pruebas en papel o simuladores antes de involucrar

directamente el dispositivo ya que con esto se puede ahorrar tiempo y no se

exponen elementos del hardware.

• Para determinar los parámetros en el caso la temperatura y la humedad es

necesario permitir además de la visualización de los datos el análisis de los

mismos mediante software en un PC, esto con el fin de permitir la

automatización como parte del proceso de análisis de las pruebas.

• Mejorar la comunicación entre el equipo y el PC, con el fin de disminuir el

tiempo requerido para la transferencia de los datos. Como posible solución

se puede utilizar el sistema de comunicación USB (Universal Serial Bus), el

cual está presente en la mayor parte de los PC que se consiguen en la

actualidad.

• Para la implementación del proyecto en las empresas es preciso obtener

las licencias de Visual Basic, CodeWarrior y el paquete Macromedia

(Dreamweaver, Flash y Fireworks).

• Para mejorar este proyecto se podría investigar otro tipo de variables que

afecten o beneficien los cultivos y así manipularlas e implementarlas en

futuras pruebas de diseño.

Page 115: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

115

8. BIBLIOGRAFÍA

• CABELLO TORRALBO Antonio. CABRERA GARCÍA Rafael.

Consideraciones Sobre la Fertilización Nitrogenada en los Cultivos

Hortícolas de Invernadero. España. Junta de Andalucía. 2003. 98 p.

• CERNA Polo, ALEJANDRINA Dora. Eficiencia y Productividad del Cultivo

de Flores (Claveles) en el Callejón de Huaylas. España. 2002. 126 p.

• ANGULO USASTEGUI José M, ROMERO YESA Susana. Microcontroladores Pic

Diseño Práctico y Aplicaciones. España. 2002. 266 p.

• CREUS Antonio. Instrumentación Industrial. Barcelona. Marcombo. 1979.

350 p.

Page 116: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

116

WEBLIOGRAFÍA

Infoagro http://www.infoagro.com: Empresa especializada en información, soporte y venta

de implementos para la agricultura. Se utilizó para la consulta del marco teórico.

Consultada Marzo 5.

Comisión de Regulación de Telecomunicaciones – República de Colombia http://www.crt.gov.co/: Normatividad y regulación del uso de las telecomunicaciones en el territorio nacional. Se utilizó para buscar parte del marco legal y normativo de este proyecto. Consultada Febrero 8.

Wikipedia, Enciclopedia de Uso libre versión en español. http://es.wikipedia.org/wiki/Portada: Buscador Web de reconocimiento mundial. Se utilizó para buscar las palabras del glosario. Consultada Mayo 18.

Monografías http://www.monografias.com: Portal Web centro de tesis, documentos,

publicaciones y recursos educativos. Se utilizó para buscar parte del marco

teórico. Febrero 15.

Infojardín http://www.infojardin.com: Página Web especializada en información sobre

jardinería. Se utilizó para parte del marco teórico. Marzo 6.

Page 117: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

117

Nacional Semiconductors http://www.national.com: Empresa encargada de la distribución y diseño de

Dispositivos electrónicos. Se utilizó para consulta de datasheets y diseño de las

tarjetas.

Freescale Semiconductor http://www.freescale.com: Distribución y diseño de dispositivos electrónicos de alta

tecnología, software y documentación. Se utilizó para consulta de los datasheets

de los microcontroladores y para información y descarga del software de

programación de los microcontroladores (CodeWarrior).

WM Creation http://www.wmcreation.it/: Herramientas para diseño e implementación de

aplicaciones Web. Se utilizó para descarga y consulta de la plataforma del servidor

local (WM Server).

Microsoft http://www.microsoft.com/latam/vbasic/: Implementación de software. Se utilizó

para consulta sobre el programa de interfaz (Visual Basic).

Page 118: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

118

ANEXOS ANEXO A

Page 119: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

119

Page 120: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

120

Page 121: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

121

Page 122: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

122

Page 123: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

123

ANEXO B

Page 124: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

124

Page 125: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

125

ANEXO C

Page 126: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

126

Page 127: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

127

ANEXO D

Page 128: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

128

Page 129: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

129

Page 130: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

130

Page 131: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

131

Page 132: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

132

ANEXO E

Page 133: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

133

Page 134: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

134

Page 135: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

135

ANEXO F

Page 136: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

136

Page 137: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

137

Page 138: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

138

ANEXO G

Page 139: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

139

Page 140: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

140

Page 141: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

141

Page 142: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

142

ANEXO H

Page 143: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

143

Page 144: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

144

ANEXO I

Page 145: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

145

Page 146: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

146

Page 147: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

147

Page 148: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

148

ANEXO J /* MODULE Events */ #pragma MESSAGE DISABLE C1420 /* WARNING C1420: Result of function-call is ignored */ #include "Cpu.h" #include "Events.h" extern unsigned char RxBitCont; extern unsigned char TxBitCont; extern unsigned char RxData; extern unsigned char TxData; extern unsigned char TxBuff[10]; extern unsigned char WritePtTx; extern unsigned char ReadPtTx; extern unsigned char ContTx; extern unsigned char RxBuff[10]; extern unsigned char WritePtRx; extern unsigned char ReadPtRx; extern unsigned char ContRx; /* ** ============================================ ** Event : DataInput_OnInterrupt (module Events) ** ** From bean : DataInput [ExtInt] ** Description : ** This event is called when an active signal edge/level has ** occurred. ** Parameters : None ** Returns : Nothing ** ============================================ */ void DataInput_OnInterrupt(void) { /* place your DataInput interrupt procedure body here */ unsigned char TempL; unsigned char TempH; unsigned int Time; TempL = TCNTL; TempH = TCNTH; Time = TempL + (TempH * 256); Time += 150; Time %= 332; TCH0H = (Time >> 8) & 0xFF; TCH0L = Time & 0xFF; RxBitCont = 0; RxData = 0; TSC0; TSC0_CH0F = 0; TSC0_CH0IE = 1;

Page 149: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

149

DataInput_Disable(); } void OnRxBit(void) { if(RxBitCont == 0) { if(DataInput_GetVal() != 0) { TSC0_CH0IE = 0; DataInput_Enable(); } else { RxBitCont++; } } else { RxData >>= 1; RxData &= 0x7F; if(DataInput_GetVal()) { RxData |= 0x80; } RxBitCont++; if(RxBitCont == 9) { TSC0_CH0IE = 0; DataInput_Enable(); if(ContRx < 10) { RxBuff[WritePtRx] = RxData; WritePtRx++; WritePtRx %= 10; ContRx++; } } } } void OnTxBit(void) { if(TxBitCont == 0) { DataOutput_ClrVal(); TxBitCont++; } else { if(TxBitCont < 9)

Page 150: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

150

{ if(TxData & 0x01) { DataOutput_SetVal(); } else { DataOutput_ClrVal(); } TxBitCont++; } else { if(TxBitCont == 9) { DataOutput_SetVal(); TxBitCont++; } else { if(ContTx != 0) { TxData = TxBuff[ReadPtTx]; ReadPtTx++; ReadPtTx %= 10; ContTx--; TxBitCont = 0; } else { TSC_TOIE = 0; DIR_ClrVal(); } } } } } /* END Events */ /*

Page 151: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

151

ANEXO K /* MODULE Sensor_Temperatura_DS1820 */ /* Including used modules for compiling procedure */ #include "Cpu.h" #include "Events.h" #include "Sensor.h" #include "DIR.h" #include "DataOutput.h" #include "DataInput.h" #include "BitTime.h" /* Include shared modules, which are used for whole project */ #include "PE_Types.h" #include "PE_Error.h" #include "PE_Const.h" #include "IO_Map.h" #define SENSOR 0x01 typedef struct SCRATCHPAD { signed int Temperatura; unsigned char Th; unsigned char Tl; unsigned int Reservado; unsigned char CountRemaint; unsigned char CountPerC; unsigned char CRC; }; unsigned char Reset(void); void Write1(void); void Write0(void); unsigned char ReadBit(void); void WriteByte(unsigned char Dato); unsigned char ReadByte(void); unsigned char SendChar(unsigned char Dato); unsigned char ReciveChar(unsigned char * Dato); struct SCRATCHPAD Data; unsigned char * Pt; unsigned char Cont; unsigned char TxBuff[10]; unsigned char WritePtTx = 0; unsigned char ReadPtTx = 0; unsigned char ContTx = 0; unsigned char RxBuff[10]; unsigned char WritePtRx = 0; unsigned char ReadPtRx = 0; unsigned char ContRx = 0; unsigned char RxBitCont = 0;

Page 152: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

152

unsigned char TxBitCont = 0; unsigned char RxData = 0; unsigned char TxData = 0; unsigned char Temp = 0; signed int Temperatura; void main(void) { /* Write your local variable definition here */ /*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/ PE_low_level_init(); /*** End of Processor Expert internal initialization. ***/ /* Write your code here */ /* For example: for(;;) { } */ TSC0_CH0IE = 0; for(;;) { if(Reset()) { WriteByte(0xCC); WriteByte(0x44); for(Cont = 0; Cont < 100; Cont++) { Cpu_Delay100US(100); if(ContRx != 0) { if(ReciveChar(&Temp)) { if(Temp == SENSOR) { SendChar(Temperatura & 0xFF); SendChar((Temperatura >> 8) & 0xFF); } } } } if(Reset()) { WriteByte(0xCC); WriteByte(0xBE); Pt = (unsigned char *) &Data; for(Cont = 0; Cont < 8; Cont++) { Pt[Cont] = ReadByte(); } Temperatura = Data.Temperatura; } }

Page 153: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

153

} /*** Don't write any code pass this line, or it will be deleted during code generation. ***/ /*** Processor Expert end of main routine. DON'T MODIFY THIS CODE!!! ***/ for(;;){} /*** Processor Expert end of main routine. DON'T WRITE CODE BELOW!!! ***/ } /*** End of main routine. DO NOT MODIFY THIS TEXT!!! ***/ unsigned char Reset(void) { EnterCritical(); Sensor_SetDir(TRUE); Sensor_ClrVal(); Cpu_Delay100US(6); Sensor_SetDir(FALSE); Cpu_Delay100US(1); if(Sensor_GetVal() == FALSE) { ExitCritical(); return TRUE; } ExitCritical(); return FALSE; } void Write1(void) { EnterCritical(); Sensor_SetDir(TRUE); Sensor_ClrVal(); asm { NOP NOP NOP NOP NOP } Sensor_SetDir(FALSE); ExitCritical(); Cpu_Delay100US(1); } void Write0(void) { EnterCritical(); Sensor_SetDir(TRUE); Sensor_ClrVal(); Cpu_Delay100US(1); Sensor_SetDir(FALSE); ExitCritical(); Cpu_Delay100US(1);

Page 154: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

154

} unsigned char ReadBit(void) { unsigned char res; EnterCritical(); Sensor_SetDir(TRUE); Sensor_ClrVal(); asm { NOP NOP NOP NOP NOP } Sensor_SetDir(FALSE); asm { NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP } res = Sensor_GetVal();

Page 155: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

155

ExitCritical(); Cpu_Delay100US(1); return res; } void WriteByte(unsigned char Dato) { unsigned char cont; for(cont = 0; cont < 8; cont++) { if((Dato & 0x01) == 0x01) { Write1(); } else { Write0(); } Dato >>= 1; } } unsigned char ReadByte(void) { unsigned char res = 0; unsigned char cont; for( cont = 0; cont < 8 ; cont++) { res <<= 1; res &= 0xFE; if(ReadBit() == TRUE) { res |= 0x01; } } return res; } unsigned char SendChar(unsigned char Dato) { if(ContTx < 10) { if(TSC_TOIE == 0) { TxBitCont = 0; TxData = Dato; DIR_SetVal(); TSC; TSC_TOF = 0; TSC_TOIE = 1; }

Page 156: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

156

else { TxBuff[WritePtTx] = Dato; WritePtTx++; WritePtTx %= 10; ContTx++; } return TRUE; } return FALSE; } unsigned char ReciveChar(unsigned char * Dato) { if(ContRx > 0) { *Dato = RxBuff[ReadPtRx]; ReadPtRx++; ReadPtRx %= 10; ContRx--; return TRUE; } return FALSE; } /* END Sensor_Temperatura_DS1820 */ /*

Page 157: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

157

ANEXO L /* MODULE Control_Temperatura */ /* Including used modules for compiling procedure */ #include "Cpu.h" #include "Events.h" #include "PC.h" #include "Sensores.h" #include "DIR.h" #include "Riego.h" #include "Ventilacion.h" #include "Calefaccion.h" #include "LedRojo.h" #include "LedVerde.h" #include "Milisegundo.h" #include "Alarma.h" /* Include shared modules, which are used for whole project */ #include "PE_Types.h" #include "PE_Error.h" #include "PE_Const.h" #include "IO_Map.h" #include "FLASH Program.h" #define EEPROM 0xC000 void LeerParametrosEEPROM(unsigned char * Data,unsigned char Size); void EscribirParametrosEEPROM(unsigned char * Data,unsigned char Size); void EnviaParametros(void); void EnviaInformacion(void); unsigned int Temperatura = 0; unsigned int Humedad = 0; unsigned int Sensores[5] = {0,0,0,0,0}; unsigned int Contador = 0; unsigned int TimerVentilacion = 5; unsigned int TimerCalefaccion = 5; unsigned int TimeSleep = 0xFFFF; unsigned int TimeOutSensor = 0xFFFF; unsigned int TemperaturaRiego = 0; unsigned int TemperaturaVentilacion = 0; unsigned int TemperaturaCalefaccion = 0; unsigned int HumedadRiego = 0; unsigned int HumedadVentilacion = 0; unsigned int HumedadCalefaccion = 0; unsigned int TimeOnRiego = 0; unsigned int TimeOnVentilacion = 0; unsigned int TimeOnCalefaccion = 0; unsigned int TimeOffRiego = 0; unsigned int TimeOffVentilacion = 0; unsigned int TimeOffCalefaccion = 0;

Page 158: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

158

unsigned char MayorMenor = 0; unsigned char Banderas = 0; unsigned char Activados = 0; unsigned char Leidos[5] = {0,0,0,0,0}; unsigned char Buffer[100]; unsigned int ContBuff = 0; unsigned char Sensor = 0; unsigned char Pos = 0; unsigned char Paquete[100]; unsigned int ContPaqu = 0; unsigned char * Pointer; void main(void) { PE_low_level_init(); { if(TimerRiego == 0) { if(MayorMenor & 0x01) { if(Temperatura > TemperaturaRiego) { if((Activados & 0x01) == 0) { Activados |= 1; TimerRiego = TimeOnRiego; Riego_SetVal(); } } else { if(Activados & 0x01) { Activados &= 0xFE; TimerRiego = TimeOffRiego; Riego_ClrVal(); } } } else { if(Temperatura <= TemperaturaRiego) { if((Activados & 0x01) == 0) { Activados |= 1; TimerRiego = TimeOnRiego; Riego_SetVal(); }

Page 159: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

159

} else { if(Activados & 0x01) { Activados &= 0xFE; TimerRiego = TimeOffRiego; Riego_ClrVal(); } } } } if(TimerRiego == 0) { if(MayorMenor & 0x02) { if(Humedad > HumedadRiego) { if((Activados & 0x01) == 0) { Activados |= 1; TimerRiego = TimeOnRiego; Riego_SetVal(); } } else { if(Activados & 0x01) { Activados &= 0xFE; TimerRiego = TimeOffRiego; Riego_ClrVal(); } } } else { if(Humedad <= HumedadRiego) { if((Activados & 0x01) == 0) { Activados |= 1; TimerRiego = TimeOnRiego; Riego_SetVal(); } } else { if(Activados & 0x01) { Activados &= 0xFE;

Page 160: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

160

TimerRiego = TimeOffRiego; Riego_ClrVal(); } } } } if(TimerVentilacion == 0) { if(MayorMenor & 0x04) { if(Temperatura > TemperaturaVentilacion) { if((Activados & 0x02) == 0) { Activados |= 2; TimerVentilacion = TimeOnVentilacion; Ventilacion_SetVal(); } } else { if(Activados & 0x02) { Activados &= 0xFD; TimerVentilacion = TimeOffVentilacion; Ventilacion_ClrVal(); } } } else { if(Temperatura <= TemperaturaVentilacion) { if((Activados & 0x02) == 0) { Activados |= 2; TimerVentilacion = TimeOnVentilacion; Ventilacion_SetVal(); } } else { if(Activados & 0x02) { Activados &= 0xFD; TimerVentilacion = TimeOffVentilacion; Ventilacion_ClrVal(); } } } }

Page 161: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

161

if(TimerVentilacion == 0) { if(MayorMenor & 0x08) { if(Humedad > HumedadVentilacion) { if((Activados & 0x02) == 0) { Activados |= 2; TimerVentilacion = TimeOnVentilacion; Ventilacion_SetVal(); } } else { if(Activados & 0x02) { Activados &= 0xFD; TimerVentilacion = TimeOffVentilacion; Ventilacion_ClrVal(); } } } else { if(Humedad <= HumedadVentilacion) { if((Activados & 0x02) == 0) { Activados |= 2; TimerVentilacion = TimeOnVentilacion; Ventilacion_SetVal(); } } else { if(Activados & 0x02) { Activados &= 0xFD; TimerVentilacion = TimeOffVentilacion; Ventilacion_ClrVal(); } } } } if(TimerCalefaccion == 0) { if(MayorMenor & 0x10) { if(Temperatura > TemperaturaCalefaccion) {

Page 162: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

162

if((Activados & 0x04) == 0) { Activados |= 4; TimerCalefaccion = TimeOnCalefaccion; Calefaccion_SetVal(); } } else { if(Activados & 0x04) { Activados &= 0xFB; TimerCalefaccion = TimeOffCalefaccion; Calefaccion_ClrVal(); } } } else { if(Temperatura <= TemperaturaCalefaccion) { if((Activados & 0x04) == 0) { Activados |= 4; TimerVentilacion = TimeOnVentilacion; Ventilacion_SetVal(); } } else { if(Activados & 0x04) { Activados &= 0xFB; TimerCalefaccion = TimeOffCalefaccion; Calefaccion_ClrVal(); } } } } if(TimerCalefaccion == 0) { if(MayorMenor & 0x20) { if(Humedad > HumedadCalefaccion) { if((Activados & 0x04) == 0) { Activados |= 4; TimerCalefaccion = TimeOnCalefaccion; Calefaccion_SetVal(); }

Page 163: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

163

} else { if(Activados & 0x04) { Activados &= 0xFB; TimerCalefaccion = TimeOffCalefaccion; Calefaccion_ClrVal(); } } } else { if(Humedad <= HumedadCalefaccion) { if((Activados & 0x04) == 0) { Activados |= 4; TimerVentilacion = TimeOnVentilacion; Ventilacion_SetVal(); } } else { if(Activados & 0x04) { Activados &= 0xFB; TimerCalefaccion = TimeOffCalefaccion; Calefaccion_ClrVal(); } } } } if(Banderas & READ_SENSORES) { Banderas &= ~READ_SENSORES; Banderas &= ~SENSOR_TIMEOUT; Banderas &= ~ON_RX_SENSOR; Sensores_ClearRxBuf(); Sensor = 0; DIR_SetVal(); Sensores_SendChar(Sensor + 1); TimeOutSensor = 500; } if(Banderas & ON_RX_SENSOR) { TimeOutSensor = 0xFFFF; Banderas &= ~ON_RX_SENSOR; Banderas &= ~SENSOR_TIMEOUT; Sensores_RecvBlock(Buffer,2,&ContBuff); Sensores_ClearRxBuf();

Page 164: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

164

Sensores[Sensor] = 0; if(ContBuff == 2) { Sensores[Sensor] = (unsigned int) Buffer[0]; Sensores[Sensor] += (unsigned int) (Buffer[1] * 256); Leidos[Sensor] = 1; } else { Leidos[Sensor] = 0; } Sensor++; if(Sensor < 5) { DIR_SetVal(); Sensores_SendChar(Sensor + 1); TimeOutSensor = 500; } else { if(Leidos[4]) { Humedad = Sensores[4]; } else { if(Leidos[4]) { Humedad = Sensores[4]; } else { Humedad = 0; } Temperatura = 0; Pos = 0; for(Contador = 0; Contador < 4; Contador++) { if(Leidos[Contador]) { Temperatura += Sensores[Contador]; Pos++; } } if(Pos) { Temperatura /= Pos; } TimeSleep = 1000; } }

Page 165: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

165

if(Banderas & ON_RX_PC) { Banderas &= ~ON_RX_PC; PC_RecvBlock(Buffer,100,&ContBuff); ContBuff--; Pointer = (unsigned char *) &HumedadRiego; Pos++; *Pointer = Buffer[Pos++]; Pointer++; *Pointer = Buffer[Pos]; break; case 9: Pointer = (unsigned char *) &HumedadVentilacion; Pos++; *Pointer = Buffer[Pos++]; Pointer++; *Pointer = Buffer[Pos]; break; case 10: Pointer = (unsigned char *) &HumedadCalefaccion; Pos++; *Pointer = Buffer[Pos++]; Pointer++; *Pointer = Buffer[Pos]; break; case 16: Pointer = (unsigned char *) &TimeOnRiego; Pos++; *Pointer = Buffer[Pos++]; Pointer++; *Pointer = Buffer[Pos]; break; case 17: Pointer = (unsigned char *) &TimeOnVentilacion; Pos++; *Pointer = Buffer[Pos++]; Pointer++; unsigned char cont; Direccion = (unsigned int) EEPROM; ErasePage(Direccion); for(cont = 0; cont < Size; cont++) { ProgramByte(Direccion,Data[cont]); Direccion++; } } void EnviaParametros(void) { unsigned char * Pt; ContPaqu = 0;

Page 166: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

166

Pt = (unsigned char *) &TemperaturaRiego; Paquete[ContPaqu++] = 2; Paquete[ContPaqu++] = 4; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = 5; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = 6; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = 8; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = 33; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = 34; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = 64; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = 3; PC_SendBlock(Paquete,ContPaqu,&ContPaqu); } void EnviaInformacion(void) { unsigned char * Pt; Pt = (unsigned char *) &Temperatura; ContPaqu = 0; Paquete[ContPaqu++] = 2; Paquete[ContPaqu++] = 255; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = *Pt; Pt++; Paquete[ContPaqu++] = *Pt;

Page 167: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

167

Pt++; Paquete[ContPaqu++] = Activados; Paquete[ContPaqu++] = 3; PC_SendBlock(Paquete,ContPaqu,&ContPaqu); } /* END Control_Temperatura */

Page 168: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

168

ANEXO M Private ContSegundos As Integer Private RxBuffer(499) As Byte Private WriteRx As Integer Private ReadRx As Integer Private ContRx As Integer Private Sub Abrir_Click()On Error GoTo errores If Serial.PortOpen = False Then If Val(Muestreo.Text) <> 0 Then Serial.CommPort = Puerto.ListIndex + 1 Serial.PortOpen = True If Serial.PortOpen = True Then Muestreo.Enabled = False Puerto.Enabled = False ContSegundos = 0 Segundo.Enabled = True Leer.Enabled = True Guardar.Enabled = True Abrir.Caption = "Cerrar &Puerto" End If Else MsgBox ("El tiempo de muestreo no puede ser nulo") End If Else Serial.PortOpen = False If Serial.PortOpen = False Then Segundo.Enabled = False Muestreo.Enabled = True Puerto.Enabled = True Leer.Enabled = False Guardar.Enabled = False Abrir.Caption = "Abrir &Puerto" End If End If errores: If Err = 8002 Then MsgBox ("El puerto " & Puerto.Text & " no existe") End If End Sub Private Sub Cerrar_Click() End End Sub Private Sub Form_Load() Puerto.ListIndex = 0 WriteRx = 0 ReadRx = 0 ContRx = 0

Page 169: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

169

ConectarDB End Sub Private Sub SoloNumeros(ByRef texto As String) Dim temp As String Dim cont As Integer temp = "" For cont = 1 To Len(texto) If Mid(texto, cont, 1) = "0" Or Val(Mid(texto, cont, 1)) > 0 Then temp = temp & Mid(texto, cont, 1) End If Next texto = "" texto = texto & temp End Sub Private Sub SoloDecimal(ByRef texto As String) Dim temp As String Dim cont As Integer tama = 2 For cont = 0 To 2 If Len(Temperatura(cont).Text) <> 0 Then tama = tama + 3 End If Next For cont = 0 To 2 If Len(PH(cont).Text) <> 0 Then tama = tama + 3 End If Next For cont = 0 To 2 If Len(TimeOn(cont).Text) <> 0 Then tama = tama + 3 End If Next For cont = 0 To 2 If Len(TimeOff(cont).Text) <> 0 Then tama = tama + 3 End If Next tama = tama + 3 tama = tama - 1 ReDim Buffer(tama) As Byte Buffer(0) = 2 Buffer(tama) = 3 ActualPos = 1 For cont = 0 To 2 If Len(Temperatura(cont).Text) <> 0 Then Tempe = CDbl(Temperatura(cont).Text) Tempe = Tempe * Valor = Tempe

Page 170: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

170

Buffer(ActualPos) = 4 + cont ActualPos = ActualPos + 1 Buffer(ActualPos) = Valor Mod 256 ActualPos = ActualPos + 1 Valor = Valor - (Valor Mod 256) Buffer(ActualPos) = Valor / 256 ActualPos = ActualPos + 1 End If Next For cont = 0 To 2 If Len(PH(cont).Text) <> 0 Valor = Val(PH(cont).Text) Buffer(ActualPos) = 8 + cont ActualPos = ActualPos + 1 Buffer(ActualPos) = Valor Mod 256 ActualPos = ActualPos + 1 Valor = Valor - (Valor Mod 256 Buffer(ActualPos) = Valor / 256 ActualPos = ActualPos + 1 End If Next For cont = 0 To 2 If Len(TimeOn(cont).Text) <> 0 Then Valor = Val(TimeOn(cont).Text) Buffer(ActualPos) = 16 + cont ActualPos = ActualPos + 1 Buffer(ActualPos) = Valor Mod 256 ActualPos = ActualPos + 1 Valor = Valor - (Valor Mod 256) Buffer(ActualPos) = Valor / 256 ActualPos = ActualPos + 1 End If Next For cont = 0 To 2 If Len(TimeOff(cont).Text) <> 0 Then Valor = Val(TimeOff(cont).Text) Buffer(ActualPos) = 32 + cont ActualPos = ActualPos + 1 Buffer(ActualPos) = Valor Mod 256 ActualPos = ActualPos + 1 Valor = Valor - (Valor Mod 256 Buffer(ActualPos) = Valor / 256 ActualPos = ActualPos + End If Next Valor = 0 If MayorTempRiego.Value Then Valor = Valor + 1 End If If MayorPhRiego.Value Then Valor = Valor + 2

Page 171: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

171

End If If MayorTempVentilacion.Value Then Valor = Valor + 4 End If If MayorPhVentilacion.Value Valor = Valor + 8 End If If MayorTempCalefaccion.Value Then Valor = Valor + 16 End If If MayorPhCalefaccion.Value Then Valor = Valor + 32 End If Buffer(ActualPos) = 64 ActualPos = ActualPos + 1 Buffer(ActualPos) = Valor Mod 256 ActualPos = ActualPos + 1 Buffer(ActualPos) = 128 Serial.Output = Buffer End Sub Private Sub Leer_Click() Dim Buffer(2) As Byte End Sub Private Sub Segundo_Timer() Dim Buffer(2) As Byte ContSegundos = ContSegundos + 1 If ContSegundos = Val(Muestreo.Text) Then ContSegundos = 0 Buffer(0) = 2 Buffer(1) = 255 Buffer(2) = 3 Serial.Output = Buffer End If End Sub Private Sub Serial_OnComm() Dim dato As Byte Dim temp As Dim cont As Integer If Serial.CommEvent = 2 Then Do Set temp = Nothing TimerRx.Enabled = False temp = Serial.Input dato = temp(0) PutByteInRxBuff dato Loop While Serial.InBufferCount TimerRx.Enabled = True

Page 172: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

172

End If End Sub Private Sub Temperatura_Change(Index As Integer) Dim temp As temp = Temperatura(Index).Text SoloDecimal temp Temperatura(Index).Text = temp End Sub Private Sub TimeOff_Change(Index As Integer) Dim temp As String temp = TimeOff(Index).Text SoloNumeros temp TimeOff(Index).Text = temp End Sub Private Sub TimeOn_Change(Index As Integer) Dim temp As String temp = TimeOn(Index).Text SoloNumeros TimeOn(Index).Text = temp End Sub Private Sub PutByteInRxBuff(ByVal dato As Byte) If ContRx < 500 ContRx = ContRx + 1 RxBuffer(WriteRx) = dato WriteRx = WriteRx + 1 WriteRx = WriteRx Mod 500 End If End Sub Private Function GetByteFromRxBuff(ByRef dato As Byte) As Boolean Dim res As Boolean res = False If ContRx > 0 Then ContRx = ContRx - 1 dato = RxBuffer(ReadRx) ReadRx = ReadRx + 1 ReadRx = ReadRx Mod 500 res = True End If GetByteFromRxBuff = res Private Function GetRxBuff(ByRef Datos() As Byte) As Integer Dim cont As Integer cont = 0 While GetByteFromRxBuff(Datos(cont)) cont = cont + 1 Wend GetRxBuff = cont

Page 173: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

173

End Function Private Sub TimerRx_Timer() Dim Datos() As Byte Dim cont As Integer Dim tama As Integer Dim Valor As Integer Dim Deci As Double Dim Tempera As String Dim Humedad As String Dim Activados As String Dim Sentencia As String Dim Fecha As String Dim Hora As String TimerRx.Enabled = False ReDim Datos(ContRx) As Byte tama = GetRxBuff(Datos) tama = tama - 1 cont = 1 If Datos(0) = 2 And Datos(tama) = 3 Then tama = tama - 1 Valor = 0 Deci = 0 Select Case Datos(cont) Case 4 cont = cont + 1 Valor = Datos(cont) cont = cont + 1 Valor = Valor + (256 * Datos(cont)) Deci = Valor Deci = Deci / 10 Temperatura(0).Text = CStr(Deci) Case 5 cont = cont + 1 Valor = Datos(cont) cont = cont + 1 Valor = Valor + (256 * Datos(cont)) Deci = Valor Deci = Deci / 10 Temperatura(1).Text = CStr(Deci) Case 6 cont = cont + 1 Valor = Datos(cont) cont = cont + 1 Valor = Valor + (256 * Datos(cont)) Deci = Valor Deci = Deci / 10 Temperatura(2).Text = CStr(Deci) Case 8 cont = cont + 1 Valor = Datos(cont) cont = cont + 1

Page 174: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

174

Valor = Valor + (256 * Datos(cont)) PH(0).Text = CStr(Valor) Case 9 cont = cont + 1 Valor = Datos(cont) cont = cont + 1 Valor = Valor + (256 * Datos(cont)) PH(1).Text = CStr(Valor) cont = cont + 1 Valor = Datos(cont) cont = cont + 1 Valor = Valor + (256 * Datos(cont)) PH(2).Text = CStr(Valor) Case 16 cont = cont + 1 Valor = Datos(cont) cont = cont + 1 Valor = Valor + (256 * Datos(cont)) TimeOn(0).Text = CStr(Valor) Case 17 cont = cont + 1 Valor = Datos(cont) cont = cont + 1 Valor = Valor + (256 * Datos(cont)) TimeOn(1).Text = CStr(Valor) Case 18 cont = cont + 1 Valor = Datos(cont) cont = cont + 1 Valor = Valor + (256 * Datos(cont)) TimeOn(2).Text = CStr(Valor) Case 32 cont = cont + 1 Valor = Datos(cont) cont = cont + 1 Valor = Valor + (256 * Datos(cont)) TimeOff(0).Text = CStr(Valor) Case 33 'I cont = cont + 1 Valor = Datos(cont) cont = cont + 1 Valor = Valor + (256 * Datos(cont)) TimeOff(1).Text = CStr(Valor) Case 34 cont = cont + 1 Valor = Datos(cont) If Valor Mod 2 = 1 Then MayorTempRiego.Value = True MenorTempRiego.Value = False Else MenorTempRiego.Value = True MayorTempRiego.Value = False

Page 175: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

175

End If Valor = Valor - (Valor Mod 2) Valor = Valor / 2 If Valor Mod 2 = 1 Then MayorPhRiego.Value = True MenorPhRiego.Value = False Else MenorPhRiego.Value = True MayorTempCalefaccion.Value = True MenorTempCalefaccion.Value = False Else MenorTempCalefaccion.Value = True MayorTempCalefaccion.Value = False End If Valor = Valor - (Valor Mod 2) Valor = Valor / 2 If Valor Mod 2 = 1 Then MayorPhCalefaccion.Value = True MenorPhCalefaccion.Value = False Else MenorPhCalefaccion.Value = True MayorPhCalefaccion.Value = False End If Case 255 cont = cont + 1 Valor = Datos(cont) cont = cont + 1 Valor = Valor + (256 * Datos(cont)) Deci = Valor Deci = Deci / 10 Tempera = CStr(Deci) Tempera = Replace(Tempera, ",", ".") cont = cont + 1 Valor = Datos(cont) cont = cont + 1 Valor = Valor + (256 * Datos(cont)) Humedad = CStr(Valor) cont = cont + 1 Activados = CStr(Datos(cont)) Fecha = Format(Now, "yyyy/mm/dd") Hora = Format(Now, "HH:MM:SS") Sentencia = "INSERT INTO datos(temperatura,humedad,activacion_riego,fecha,hora) VALUES ('" & Tempera & "','" & Humedad & "','" & Activados & "','" & Fecha & "','" & Hora & "')" EjecutaSentenciaSQL Sentencia End Select cont = cont + 1 Wend End If End Sub

Page 176: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

176

ANEXO O /* Including used modules for compiling procedure */ #include "Cpu.h" #include "Events.h" #include "DataInput.h" #include "DataOutput.h" #include "Dir.h" #include "Frecuencia.h" /* Include shared modules, which are used for whole project */ #include "PE_Types.h" #include "PE_Error.h" #include "PE_Const.h" #include "IO_Map.h" #include <string.h> #define SENSOR 0x05 void SendChar(unsigned char Dato); unsigned char ReciveChar(unsigned char * Dato); void itoa(unsigned char * cade,unsigned int num); unsigned char RxBuff[10]; unsigned char Valor[4] = {'0','0','0','0'}; unsigned char WritePtRx = 0; unsigned char ReadPtRx = 0; unsigned char ContRx = 0; unsigned char RxBitCont = 0; unsigned char RxData = 0; unsigned char Temp = 0; unsigned char Band = 0; unsigned int Frecuencia = 0; void main(void) { PE_low_level_init(); /* Write your code here */ /* For example: for(;;) { } */ for(;;) { while(ReciveChar(&Temp)) { if((Temp == SENSOR)) { itoa(Valor,Frecuencia); for(Temp = 0; Temp < 4; Temp++) { SendChar(Valor[Temp]); }

Page 177: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

177

} } } for(;;){} } /*** End of main routine. DO NOT MODIFY THIS TEXT!!! ***/ void SendChar(unsigned char Dato) { unsigned char BitCont = 0; EnterCritical(); Dir_SetVal(); Cpu_Delay100US(1); PTA_PTA0 = 0; Cpu_Delay100US(8); while(BitCont < 8) { if((Dato & 0x01) == 0x01) { PTA_PTA0 = 1; } else { PTA_PTA0 = 0; } Dato >>= 1; BitCont++; Cpu_Delay100US(8); } PTA_PTA0 = 1; Cpu_Delay100US(10); Dir_ClrVal(); Band = 0; ExitCritical(); } unsigned char ReciveChar(unsigned char * Dato) { if(ContRx > 0) { *Dato = RxBuff[ReadPtRx]; ReadPtRx++; ReadPtRx %= 10; ContRx--; return TRUE; } return FALSE; } void itoa(unsigned char * cade,unsigned int num) {

Page 178: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

178

unsigned char cont; unsigned char dat; for(cont = 0; cont < 4; cont++) { dat = '0'; dat += num % 10; num /= 10; cade[3 - cont] = dat; } } /* END Sensor_PH */

Page 179: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

179

ANEXO P

Page 180: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

180

ANEXO Q

Page 181: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

181

ANEXO R

Page 182: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

182

ANEXO S

Page 183: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

183

ANEXO T

Page 184: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

184

ANEXO U

Page 185: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

185

ANEXO V

Page 186: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

186

ANEXO W

Page 187: DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA …bibliotecadigital.usb.edu.co/bitstream/10819/1263/... · DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO PARA LA SUPERVISIÓN DE ... 2.1.2

187

ANEXO X