You are on page 1of 170

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA


MECANICA Y ELECTRICA









REPORTE TCNICO

QUE PARA OBTENER EL TITULO DE:
INGENIERO EN COMUNICACIONES Y
ELECTRNICA.



P R E S E N T A:

CASTILLO BAUTISTA BRAULIO ANTONIO


ASESORES:

Ing. Armando Martnez Ros
Ing. Carlos Barroeta Zamudio




MEXICO, D.F. 2009
Implementacin de un protocolo de
comunicacin inalmbrica para el control de
dispositivos en forma remota de una casa
domtica



I



II

AGRADECIMIENTOS

Quiero agradecer a la vida y a dios por haberme dado lo que he necesitado, por
haberme puesto dentro de una familia maravillosa, me ha dado la satisfaccin de
culminar mis estudios y da con da me da grandes alegras



A mis padres Braulio Castillo Ortz y Virginia Bautista Mrquez a quienes amo,
respeto y admiro y son quienes me han enseado a esforzarme por alcanzar mis
metas, gracias por haber estado presentes en todo momento, por su apoyo
incondicional y sacrificios sobrehumanos que con nada pago, los amo.



Agradezco a mi hermana Diana Carolina con quien he compartido grandes
momentos de felicidad, quien me ha tendido la mano apoyndome a lo largo de
mis estudios y en este proyecto an a costa de mucho esfuerzo, mil gracias.



A mi hermanos Jos Marcos quien cada da me motiva a seguir adelante para
ser de el un buen ejemplo.



A mis abuelos que en paz descansen quienes con su vida llena de nobleza me
heredaron grandes experiencias.


A mis asesores Carlos Barroeta y Armando Martnez quienes me apoyaron en
la realizacin de este proyecto.


Al Instituto Politcnico nacional por haberme abierto sus puertas para cumplir
con mi formacin y darme grandes herramientas para la vida.






III

NDICE TEMTICO

NDICE DE FIGURAS VI
APENDICES IX
NDICE DE TABLAS IX
Objetivo general ii
Objetivos especficos ii
Justificacin ii
INTRODUCCIN 2
ANTECEDENTES 2
ESTRUCTURA DE LA TESIS 3
PLANTEAMIENTO DEL 4
PROBLEMA 4
Campo de aplicacin 7
CAPITULO I 8
LA DOMOTICA Y LAS COMUNICACINES 8
1.1 Domtica y casas inteligentes 9
1.1.1 El ahorro de energa 10
1.1.2 Comunicaciones 11
1.1.3 Seguridad 11
1.2 Definicin de vivienda inteligente 12
1.3 Sistemas Domticos 13
1.4 Tcnicas de modulacin usualmente usadas en dispositivos de comunicacin para domtica
15
1.4.1 Modulacin BPSK 15
1.4.1.2 Modulador BPSK 16
1.4.1.3 Demodulacin BPSK 17
1.4.1.4 Espectro de la seal BPSK 18
1.4.2 Modulacin QPSK 20
1.4.2.1 Modulador QPSK 20
1.4.2.2 Demodulador QPSK 23
1.4.3 Modulacin OQPSK 27
1.4 Tecnologias de comunicacin utilizadas en domtica 29
1.4.1 Bus europeo de instalacin (EIB) 29
1.4.1.1 Caractersticas del sistema EIB (Bus europeo de instalacin) 29
1.4.1.2 Ventajas del sistema EIB 30
1.4.2 Protocolo X.10 30
1.4.3 Bluetooth 31
1.4.4 ZigBee 32
1.5 Comparativa general 33
CAPITULO II 34
ZIGBEE 34
2.1 Introduccin a ZigBee 35
2.2 Arquitectura 35


IV

2.2.1 IEEE 802.15.4 36
2.2.1.1 Capas del estndar IEEE 802.15.4 36
2.2.1.1.1 Nivel fsico 36
2.2.1.1.1.1 Medidas de canal 38
2.2.1.1.2 Nivel de enlace de datos 41
2.2.1.2 Especificaciones del estndar IEEE 802.15.4 42
2.2.2 Niveles especificados por ZigBee Alliance 44
2.2.2.1 Nivel de red 44
2.2.2.2 Nivel de aplicacin 44
2.3 Dispositivos ZigBee 45
2.4 Topologas de redes ZigBee 46
2.4.1 Topologa en estrella 46
2.4.2 Topologa en rbol 47
2.4.3 Topologa en malla 48
2.5 Mdulos ZigBee 49
2.5.1 eZ430-RF2480 Development Tool 49
2.5.2 ATMEL Module 51
2.5.3 EasyBee ZigBee 52
2.5.4 XBee Module 53
CAPITULO III 54
DISEO DEL SISTEMA DE COMUNICACIN 54
3.1 MODLO XBEE 55
3.1.2 Modos de operacin 57
3.1.2.1 Modo recibir y transmitir 57
3.1.2.2 Modo de bajo consumo (Sleep Mode) 58
3.1.2.3 Modo de comandos 58
3.1.2.4 Modo transparente 59
3.1.2.5 Modo IDLE 59
3.2 Microcontroladores 59
3.2.1 Familias de microcontroladores 61
3.2.2 PIC 18F452 61
3.3 Pantalla de LCD de 4 x16 64
3.4 Teclado matricial de 4x4 65
3.5 Comunicacin mediante C.I. MAX 232 66
3.6 MPLAB C18 67
3.7 Software X-CTU 68
3.8 Componentes del coordinador 69
3.9 Diseo del sistema terminal inalambrico 1 70
3.9.1 Diseo del programa para el primer microcontrolador 71
3.9.1.1 Lectura del teclado 71
3.9.1.2 Men mostradopor la pantalla de LCD 73
3.10 Diseo del sistema terminal inalmbrico 2 75
3.11 Acoplamiento ptico entre un sistema digital y una etapa de potencia 80
3.12 Puente H (L293B) 81


V

CAPITULO IV 82
IMPLEMENTACIN DEL PROTOTIPO 82
4.1 Propuesta de implementacin en una casa 83
4.2 Configuracin de los modulos XBee 85
4.2.1 Configuracion con el software X-CTU 86
4.3 Componentes del sistema terminal 1 89
4.3.1 Configuracin con el software XCT-U 92
4.4 Componentes del sistema terminal 2 93
4.4.1 Configuracin con el software XCT-U 94
4.5 Componentes del acoplamiento ptico entre en sistema digital y la etapa de potencia 96
4.6 Manipulacin de motores de C.A. con C.I. L293B 97
4.7 La transmision serial del PIC 18F452 98
4.8 Programacin del primer microcontrolador 100
4.8.1 Control de accesos 101
4.8.2 Control de Ventilacin 102
4.8.3 Monitoreo de temperatura 104
4.8.4 Control de iluminacin 105
4.9 Programacin del 2 microcontrolador 106
4.9.1 Monitoreo de temperatura 107
4.9.2 Control de ventilacin e iluminacion 108
4.10 Desarrollo de la interfaz grffica 109
4.10.1 Descripcin de la aplicacin 109
4.10.2 Descripcin de la interfaz grfica 110
CAPITULO V 115
PRUEBAS Y RESULTADOS 115
5.1 Prueba del sistema terminal 1 116
5.2 Prueba del sistema terminal 2 121
5.3 Prueba del software 123
5.4 Rango de alcance 127
5.5 Muestra del estado de la ventilacin e iluminacin 129
CONCLUSIONES 130
ANEXO I: PROGRAMA DEL PRIMER MICROCONTROLADOR 132
ANEXO II: PROGRAMA DEL SEGUNDO MICROCONTROLADOR 139
ANEXO III: MANUALES DEL FABRICANTE 144
ANEXO IV: DISEO DE CIRCUITOS IMPRESOS 151
ANEXO V: ESTRUCTURA DE TRAMAS 153
ANEXO VI: COSTOS DEL SISTEMA CONSTRUIDO 157




VI

NDICE DE FIGURAS

Fig. A Dispositivos interconectados por medio de una red PAN. 6
Fig. B Distancias entre dispositivos dentro de una habitacin respectivamente uno de otro. 7

CAPITULO I
Fig. 1.1 Modulacin PSK: en la parte superior se observa la seal binaria de informacin
mientras que en la parte inferior la seal modulada BPSK. 16
Fig. 1. 2 Esquema de un Modulador BPSK 17
Fig. 1.3 Demodulador BPSK. 17
Fig. 1.4 Tren de pulsos binario. 18
Fig. 1.5 Espectro de Amplitud de una seal peridica de BPSK. 20
Fig. 1.6 Modulador QPSK. 21
Fig. 1.7 Diagrama de fasores para la modulacin QPSK. 22
Fig. 1.8 Demodulador QPSK. 23
Fig. 1.9 Alineacin de los bits con el retraso introducido en uno de los canales. 27
Fig. 1.10 Modulador OQPSK. 28
Fig. 1.11 Esquema de Conexin con EIB 29

CAPITULO II

Fig. 2.1 Tasa de error de bit contra relacin seal a ruido en los estndares IEEE 802.15.4, IEEE
802.11 e IEEE 805.15.1. 38
Fig. 2.2 RSSI en ambientes internos 39
Fig. 2.3 RSSI en ambientes externos (derecha). 39
Fig. 2.4 PER en ambientes internos. 40
Fig. 2.5 PER para ambientes externos. 41
Fig. 2.6 Capas que controlan el estndar IEEE 802.15.4. 42
Fig. 2.7 Canales del estndar IEEE 802.1.4 42
Fig. 2.8 Capas del Protocolo Zigbee. 45
Fig. 2.9 Diagrama Red ZigBee con topologa tipo estrella. 46
Fig. 2.10 Diagrama Red ZigBee con topologa tipo rbol. 47
Fig. 2. 11 Diagrama. Red ZigBee con topologa tipo malla. 48
Fig. 2.12 Transceiver CC2480 49
Fig. 2.13 eZ430-RF2480 Development Tool 50
Fig. 2.14 Modulo ATMEL 52
Fig. 2. 15 Modulo EasyBee ZigBee 52
Fig. 2.16 Modulos XBee de Maxstream 53

CAPITULO III

Fig. 3.1 Modos de operacin de los modulos XBee 57
Fig. 3.2 Esquema de un microcontrolador. 60


VII

Fig. 3.3 Esquema de conexin del PIC al LCD 64
Fig. 3.4 Teclado matricial 65
Fig. 3.5 Rebote generado al oprimir una tecla. 66
Fig. 3.6 Circuito integrado Max232 66
Fig. 3.7 Compilador MPLAB C18 67
Fig. 3.8 Software X-CTU, a la izquierda se encuentra la funcin de prueba de comunicacin, a la
izquierda las opciones a configurar. 68
Fig. 3.9 Componentes de la interzaz con la computadora 69
Fig. 3.10 Diagrama a bloques del sistema terminal 1 70
Fig. 3.11 Diagra de flujo para detectar tecla oprimida en el teclado. 71
Fig. 3.12 Diagrama de flujo del men principal mostrado por la pantalla de LCD 73
Fig. 3.13 Diagrama de flujo de la opcin ACCESOS 74
Fig. 3.14 Diagrama de flujo para Entrada 74
Fig. 3.15 Diagramas de flujo para lectura de temperatura y control de la ventilacin. 75
Fig. 3.16 Diagrama a bloques del sistema terminal 2. 76
Fig. 3.17 Diagrama de flijo para el encendido y apagado de lamparas. 77
Fig. 3.18 Diagrama de flijo para el encendido y apagado de lamparas. 77
Fig. 3.19 Diagramas de flujo para la recepcin de temperatura y test de conectividad. 78
Fig. 3.20 Diagrama de flijo para el encendido y apagado de ventiladores. 79
Fig. 3.21 Diagrama de flijo para el encendido y apagado de lamparas. 79
Fig. 3.22 Configuracin De Un Optoacoplador. 80
Fig. 3.23 Figura y simbolo de un TRIAC 81
Fig. 3.24 Diagrama esquemtico para LM293B. 81

CAPITULO IV
Fig. 4.1 Plano de la casa propuesta para la implementacin. 83
Fig. 4.2 Diseo en 3D de la Casa propuesta para la implementacin. 84
Fig. 4.3 Diagrama esquematico para el coordinador y pruebas. 85
Fig. 4.4 Circuito Impreso del coordinador 86
Fig. 4.5 Captura en pantalla de la ventana principal del software XCT-U 86
Fig. 4.6 A la izquierda se muestra la caprura en pantlla de una comunicacin exitosa, a la
derecha se muestra el resultado de una comunicacin fallida. 87
Fig. 4.7 Configuracion del modulo central. 88
Fig. 4.8 Elementos configurados dentro de los modulos XBee 89
Fig. 4.9 Diagrama esquematico del nodo terminal 90
Fig. 4.10 Circuito Impreso del nodo terminal. 91
Fig. 4.11 Circuiti impreso del nodo terminal con todos sus componentes. 91
Fig. 4.12 Configuracion del modulo XBee del nodo terminal 1. 92
Fig. 4.13 Diagrama Esquematico del nodo terminal 2. 93
Fig. 4.14 Circuito impreso del nodo terminal 2. 94
Fig. 4.15 Configuracion del modulo XBee para el nodo terminal 2. 95
Fig. 4.16 Montaje Estndar Bsico Con Lgica Digital Positiva. 96
Fig. 4.17 Circuito utilizado para la manipulacin de elementos de C.A. 96
Fig. 4.18 Diagrama de conexin para el giro en un solo sentido del L293B 97


VIII

Fig. 4.19 Conexin al microcontrolador del L293B 97
Fig. 4.20 Se muestra la inicializacin del modo de transmision serial. 98
Fig. 4.21 Captura en pantalla del codigo fuente y la declaracin de las cadenas para el
despliegue del menu principal 100
Fig. 4.22 Sentencia Switch para la apertura y cierre de la entrada principal. 101
Fig. 4.23 Sentencia Switch para el encendido y apagado de la ventilacin. 103
Fig. 4.24 Rutina de adrquisicion de datos de temperatura. 104
Fig. 4.25 Control de iluminacin 105
Fig. 4.26 Cadenas mostradas en el men del nodo terminal 2. 106
Fig. 4.27 Monitoreo de temperatura en el nodo terminal 2. 107
Fig. 4.28 Envio de datos para control de ventilacin. 108
Fig. 4.29 Captura en pantalla de la interfaz grfica 110
Fig. 4.30 Ventana para control de Iluminacin 112
Fig. 4.31 Ventana para monitoreo de temperatura. 112
Fig. 4.32 Test de conectividad con los nodos terminales 113
Fig. 4.33 Ventana para el control de ventilacin. 114

CAPITULO V

Fig. 5.1 Circuitos impresos de ambos nodos terminales con los dispositivos montados 116
Fig. 5.2 Menu principal del nodo terminal 1 117
Fig. 5.3 Contrasea para ingresar a alguno de los puntos de acceso. 117
Fig. 5.4 Submen para la opcion ACCESOS. 118
Fig. 5.5 Seleccionar la apertura de algn acceso. 118
Fig. 5. 6 Seleccionar el cierre de algun acceso. 119
Fig. 5.7 Monitoreo de temperatura ambiental. 120
Fig. 5.8 Activar o desactivar la iluminacin en un espacio. 120
Fig. 5.9 Nodo terminal 2 con todos sus elementos. 121
Fig. 5.10 Primer pantalla presentada por el nodo terminal 2. 122
Fig. 5.11 Pantalla presentada cuando es seleccionada la segunda opcin del men. 122
Fig. 5.12 Cierre de un acceso. 123
Fig. 5.13 Muestra del plano con la ubicacin marcada en el lugar del cierre de la entrada
principal. 124
Fig. 5. 14 La imagen muestra el estado de la entada principal y una ventana de alerta tambin
indica la accin tomada. 124
Fig. 5.15 Muestra del plano en el cual se encuentra el acceso principal. 125
Fig. 5.16 Monitoreo de la temperatura por medio del software. 125
Fig. 5.17 Prueba de conectividad. 126
Fig. 5.18 Datos recibidos en las pruebas mediante el monitoreo de temperatura. 127
Fig. 5.19 Datos recibidos con algunos errores. 128
Fig. 5. 20 Tablilla con bombillas de C.A. y ventiladores de C.D. 129



IX

APENDICES
Figura A Circuito impreso del sistema terminal 1 151
Figura B Circuito impreso del sistema terminal 2 151
Figura C Circuito impreso del nodo central 152
Figura D Estructura del paquete de la capa fisica IEEE 802.15.4 153
Figura E Estructura de la trama MAC 154
Figura F Formato de Trama de Datos 155
Figura G Formato de la Trama de Acuse de Recibo 156
Figura H Formato de Trama de Comando MAC 156
NDICE DE TABLAS
CAPITULO I

Tabla 1.1 Comparativa general de diferentes tecnologas inalmbricas. 33

CAPITULO II
Tabla 2.1 Frecuencia de trabajo ZigBee 43

CAPITILO III
Tabla 3.1 Comparativa entre los dispositivos ZigBee en el mercado 56
Tabla 3.2 Familia de microcontroladores en el mercado 61
Tabla 3.3 Caractersticas del PIC18F45 63
Tabla 3.4 Pines de la LCD 64
Tabla 3.5 Asignacin de cdigo para filas del teclado 72
Tabla 3.6 Valores asignados a cada tecla y su equivalencia en ASCII 72

CAPITULO IV
Tabla 4.1 Caracteres utilizados para la inicializacin de la transmisin de datos del modo serial
99
Tabla 4.2 Valores hexadecimales enviados para los accesos. 102
Tabla 4.3 Valores hexadecimales enviados para la ventilacin. 102
Tabla 4.4 Valores correspondiestes al control de iluminacin 106
Tabla 4.5 Descripcin de los elementos de la interfaz grfica. 111








ii

Objetivo general

Determinar los elementos necesarios para la implementacin de un sistema de
comunicacin inalmbrica para el control y monitoreo de sensores o actuadores en una
casa domtica.
Objetivos especficos

Investigar un sistema de comunicacin inalmbrico que cuente con las
caractersticas necesarias para la optimizacin al mximo de la energa

Seleccionar el protocolo de comunicacin inalmbrico que mejor se adapte a las
caractersticas de una vivienda media.

Implementar el sistema de comunicacin utilizando dispositivos capaces de
cubrir un rea mnima y mxima respecto a los inmuebles donde estos puedan
ser implementados.

Crear una interfaz grafica capaz de interactuar con el usuario con el mnimo de
esfuerzo.
Justificacin

La evolucin de los sistemas de comunicacin como en general de la electrnica se
ha hecho a pasos gigantes, motivo por el cual su uso se extiende a muchos sectores
para los cuales se han desarrollado protocolos capaces de satisfacer las necesidades
particulares de stos.

En el campo de la domtica no es la excepcin aunque el campo de sta es muy
amplio, abarcando desde edificios inteligentes hasta casas habitacin, es en este
ltimo rubro donde el avance ha sido un tanto lento ya que se haba encontrado
abandonado por las grandes empresas dedicadas al sector. En estos ltimos aos se
han desencadenado una serie de avances para este sector olvidado, desarrollndose
diferentes aplicaciones que involucran el uso de tecnologas mviles.


iii

Una de las principales necesidades que muchas personas buscan es el confort, la
seguridad, el ahorro de energa y el control de todo su entorno, para esto se requiere
evidentemente de toda una infraestructura de automatizacin y con ello un sistema que
permita controlar toda esta tecnologa con el menor esfuerzo, es decir que la forma de
manejar todo no le represente una prdida de tiempo.

Existen en el mercado actual tecnologas mviles que se prestan para su uso en
domtica debido a sus caractersticas propias, una de estas tecnologas recibe el
nombre de ZigBee, la cual se enfoca para aquellas aplicaciones que no requieren una
alta tasa de transferencia, como lo es un sistema de comunicaciones capaz de
transmitir seales de control para monitoreo de sensores y control de dispositivos.

El implementar un sistema domtico en una casa de tipo medio podra representar
un gasto econmico considerable, por lo que es de gran ganancia trabajar con
tecnologas que sean de un costo bajo a lo mas que se pueda. ZigBee es una
tecnologa que ofrece esta posibilidad, ya que los dispositivos que se encuentran
actualmente en el mercado tienen costos reducidos.

Sin duda una de las principales razones por la que se ha decidido hacer uso de
ZigBee es el tamao que sus dispositivos poseen y su ultra bajo consumo de energa,
cabe destacar que el tamao de los dispositivos en este sector es muy importante,
esto debido a que la esttica en esta rea es siempre importante, por lo que los
dispositivos de tamao reducido ayudan mucho en la preservacin de este aspecto.


1












INTRODUCCIN














2

INTRODUCCIN

Pensado en un mbito de tecnologa en el hogar, se pretende hacer uso de
las nuevas tecnologas con el fin de mejorar la calidad de vida mediante la comodidad
que la tecnologa ofrece. Para ello, se debe plantear desde un principio los
objetivos que se pretenden alcanzar y los beneficios que con ellos queremos
obtener.

Los sistemas de comunicacin en el hogar son una herramienta que brinda
confiabilidad a los usuarios ya que adems se encargan de la seguridad. Los
sistemas de seguridad tambin evolucionan cada da y su sistema de
comunicacin alambico ha sido paulatinamente sustituido por sistemas
inalmbricos.

Respecto a la automatizacin, esta comienza en la industria aeronutica y la
automotriz, donde comenzaron a utilizar diversas automatizaciones con cierto grado
de integracin. Despus siguieron los edificios comerciales y administrativos para
finalmente ser las construcciones educacionales y viviendas los sitios en donde se
pretendido introducir procesos cada vez ms inclinados hacia la tecnologa.
ANTECEDENTES

En nuestros das es esencial utilizar la tecnologa para cubrir todas nuestras
necesidades. En ingeniera se debe usar esa tecnologa en beneficio de la humanidad
para poderle brindar comodidad y as hacerle la vida ms fcil, utilizando a
nuestro entorno y modificarlo para cumplir con el objetivo, sin daar al medio ambiente
o tratar de hacerle el menor dao posible. Los primeros intentos de crear un conjunto de
normas y protocolos sobre Domtica se remonta a principio de los ochentas donde se
desarrollaron diversos proyectos, en el ao de 1984 es lanzado el proyecto Smart
House por la NAHB: National Association of Home Builders), el sistema antes
mencionado se basa en la utilizacin de un cable unificado que sustituye a todos los
diversos sistemas pueden existir en una vivienda como pueden ser electricidad,
perifricos de audio y video, telfono, alarmas etc. para lo cual posteriormente se


3

crearon tecnologas de comunicacin tanto cableadas como inalmbricas con el
fin de facilitar la interaccin de dispositivos dentro de una vivienda.

Una de las desventajas de las tecnologas mencionadas era su alto costo que no
era justificado, pues siempre se ha considerado como un lujo, es por eso que las
tecnologas de comunicaciones con un enfoque dirigido a aplicaciones como la que se
pretende en este trabajo no haban sido tan populares. En este trabajo se pretende
hacer uso de una tecnologa diferente que no necesite ser alambrada, esto con la
principal meta de crear una aplicacin ms esttica, eficiente y sobretodo econmico.
ESTRUCTURA DE LA TESIS

La estructura de este trabajo de tesis contempla el siguiente temario:
Captulo 1: Se hace nfasis de la teora sobre la domtica y se da a conocer
tericamente elementos que forman parte de ella, asimismo se mencionan diversas
tecnologas en comunicaciones que han sido utilizadas para la domtica,

Capitulo 2: En este captulo se describe la forma en que trabaja la tecnologa ZigBee
as como sus caractersticas y funciones.

Captulo 3: Aqu se expone el diseo del proyecto as como los diversos componentes
que intervienen en l, desde como inicio el plan y as mismo todos los pasos que se
siguieron hasta lograr los objetivos.

Captulo 4: Se mencionan todos los pasos para llevar a cabo el diseo planteado en el
captulo anterior y se especifica la manera en la que se ha realizado tanto el hardware
como el software.

Captulo 5: Se muestran los resultados finales obtenidos del proyecto.






4











PLANTEAMIENTO
DEL
PROBLEMA


















5

Hoy en da la problemtica de comunicaciones en el sector de la domtica se ha
vuelto muy diversa debido a que el principal problema es el costo que genera la
implementacin de la tecnologa necesaria para la implantacin del sistema de
comunicacin que controle o monitoree cada una de las actividades del hogar, en gran
medida el costo es generado por la necesidad de instaurar protocolos que ofrezcan
seguridad y por la cantidad de energa que estos consumen, en base a esto se hace
presente encontrar una tecnologa y un protocolo capaces de tener un ultra bajo
consumo de energa y de esta manera reducir los costos que esto genera. Una vez
identificado el protocolo a trabajar ser necesario aplicarlo a las necesidades que
requiera una casa o edificio en cuanto a la transmisin de datos de control o de
monitoreo de sensores.

La aplicacin a desarrollar mediante el protocolo seleccionado deber ser de
utilidad para el sector domtica y deber optimizar cada una de las tareas para los
cuales se requiera el sistema de comunicacin. A menudo los datos transmitidos
necesitan ser observadas y analizadas por el ser humano, tales como temperatura,
humedad, presencia en una habitacin determinada , sobre todo cuando se trata de un
sistema enfocado a seguridad, es por esto que se hace presente la necesidad de
obtener una interfaz grafica que permita llevar a cabo la observacin del estado de cada
uno de los sensores monitoreados as como una simulacin que permita emular las
diferentes situaciones que podran hacerse presentes dentro de un hogar o edificio.

Primeramente es necesario definir el tipo de protocolo que se necesita utilizar para
las aplicaciones de comunicacin entre los diferentes dispositivos que la domtica
requiere, para lo cual es necesario analizar cul es el ms viable de acuerdo a los
costos y consumo de energa principalmente. La problemtica a nivel de aplicacin
surge con la necesidad de intercomunicar los diferentes dispositivos de un hogar ya sea
directamente o a manera de sensores segn sea el caso, por lo cual se necesita crear
una red que pueda transportar todos los datos de todos los sensores y dispositivos que
existan dentro de una casa o edificio, la figura 1 muestra una posible red instaurada
entre dispositivos existentes en una sala, el objetivo de intercomunicarlos es con el fin


6

de saber fcilmente cuando alguno tiene alguna falla adems de poder tener diversos
caminos por los cuales la informacin pueda viajar.

















Fig. A Dispositivos interconectados por medio de una red PAN.

Debido a la gran diversidad que existe en cuanto al tamao de la habitacin a
intercomunicar y as mismo la distancia entre las diferentes habitaciones, surge la
necesidad de verificar si la tecnologa a usar soporta satisfactoriamente la distancia de
separacin entre ellas, adems de esto debe ser muy econmico y no decrementar su
potencia de manera considerable para poder realizar el envo y recepcin de datos.

La distancia de separacin entre cada uno de los dispositivos que se utilicen debe
cubrir al menos 30 metros en interiores para garantizar el envo y recepcin de los
datos, para lo cual se ha establecido que una habitacin promedio nunca excede de un
volumen mximo de 25 metros cuadrados, es por esto que se pretende encontrar una
tecnologa que cumpla con las expectativas.

La distancia requerida entre dispositivos de una habitacin a otra es muy corta
debido a que generalmente no tienen ms de 5 metros de largo, Por lo tano la
tecnologa seleccionada deber cubrir al menos el largo de 6 habitaciones que pudiera
tener una casa .


7
















Fig. B Distancias entre dispositivos dentro de una habitacin respectivamente uno de otro.

Campo de aplicacin


El campo de aplicacin comprende las instalaciones de aquellos sistemas que
realizan una funcin de automatizacin para diversos fines, como gestin de la energa,
control y accionamiento de receptores de forma centralizada o remota, sistemas de
emergencia y seguridad en edificios, entre otros, con excepcin de aquellos sistemas
independientes e instalados como tales, que puedan ser considerados en su conjunto
como aparatos, por ejemplo, los sistemas automticos de elevacin de puertas,
persianas, toldos, cierres comerciales, sistemas de regulacin de climatizacin, redes
privadas independientes para transmisin de datos exclusivamente y otros aparatos.

No obstante, a las instalaciones excluidas anteriormente, cuando formen parte de
un sistema ms complejo de automatizacin, gestin de la energa o seguridad de
viviendas o edificios, se les aplicarn los requisitos de la presente Instruccin adems
los requisitos especficos reglamentarios correspondientes.






8





CAPITULO I

LA DOMOTICA Y LAS
COMUNICACINES






9

1.1 Domtica y casas inteligentes
Una de las principales necesidades del ser humano es la vivienda, debido a esto
todo el tiempo hay una constante bsqueda de un hogar que asegure la comodidad, el
confort y seguridad y as lograr la optimizacin de las tareas de la casa ha sido siempre
una de las bsquedas del hombre. Este conjunto de necesidades han llevado al ser
humano a una constante bsqueda tecnolgica que cubra cada una de estas
exigencias y es as como se ha llevado a la invencin de mltiples aparatos elctricos y
electrnicos para el hogar.

Todos los aparatos que forman parte de nuestra vida cotidiana en algunos casos
son demasiados y debido al ritmo de vida actual las personas deben llevar una vida
ms organizada para poder solventar todas sus ocupaciones y ahorrar lo ms posible
tiempos. En la antigedad las personas dedicaban tiempo a tareas que hoy en da no
toman tiempo y pueden efectuarse en tan solo unos minutos, esto da como resultado
final tiempo libre para realizas otro tipo de acciones, y esto continuamente se
transforma en un ciclo en el cual el ser humano busca obtener ms tiempo.

Es evidente la evolucin de la sociedad a las nuevas tendencias que marcan una
necesidad imponente de una gama de soluciones a problemas relacionados con
actividades simples pero que las personas consideran por su misma simplicidad que
estas ocupen lo menos posible de su tiempo.

La tecnologa ha jugado un papel muy importante para la solucin de gran parte de
los problemas mencionados, pues ha sido ella quien ha provisto de diversas soluciones
y alternativas que han permitido a lo largo de los aos la mejora de mltiples tareas. A
partir de la su evolucin, se han ido modificando muchas formas de realizar procesos
en todos los mbitos ya sea en la industria o en el hogar, y en el caso de la industria
esta posee un centro de atencin muy grande por parte de del sector de la
automatizacin, no as con el hogar, ya que pocos aos son los que han transcurrido
desde las primeras innovaciones en este sector, y menos tiempo an desde que el


10

sector de las comunicaciones ha enfocado aplicaciones enfocados para su uso
domestico.
Dentro de toda esta nueva gama de tecnologas enfocadas al uso domestico
surge un nuevo concepto denominado casa inteligente el cual engloba en concreto
cuatro grandes reas: la electrnica, la informtica, la arquitectura y las
telecomunicaciones. Un concepto que est ntimamente relacionado con la tecnologa
enfocada al hogar, es conocido como Domtica, cuya etimologa nos dice el
significado concreto de esta palabra, por un lado domus que significa casa, por otro
lado se hace una relacin entre este trmino y la palabra informtica, esto significa
que el termino. Domtica hace referencia a todo un conjunto de tecnologas
informticas y de comunicaciones que permiten automatizar y gestionar diferentes
aplicaciones dentro de una instalacin de tipo domestico con el fin de proporcionar una
mejor calidad de vida a las personas.

La domtica surge primeramente con la iniciativa de lograr realizar tareas
concretamente de automatizacin con el objetivo de reducir el trabajo humano y facilitar
la realizacin de distintas tareas, sin embargo estas tareas en principio solo haban
representado ms gastos a quienes implementaban estas nuevas soluciones, y es en
parte por esta razn que el desarrollo de aplicaciones a la domtica se ha realizado de
una manera lenta, en la actualidad han surgido aplicaciones que buscan adems de lo
anterior, lograr realizar acciones que permitan justificar o retribuir de alguna manera el
gasto generado de la instalacin de todos los artefactos utilizados en la aplicacin de
nuevos procesos. Los campos que la domtica cubre actualmente son: ahorro de
energa, comunicaciones, seguridad.
1.1.1 El ahorro de energa

Hoy en da son muchos los dispositivos que se utilizan en el hogar que consumen
grandes recursos energticos por lo que este factor se suma a uno de los principales
objetivos de la domtica, se trata de la generacin de dispositivos capaces de de
controlar ciertos procesos sin desperdiciar energa, tal es el caso de el control de la
climatizacin, la regulacin de la iluminacin de acuerdo a la zona, la iluminacin por


11

deteccin de presencia, la desconexin automtica de dispositivos cuando estos no se
usan, todo esto aunado con la construccin de dispositivos con un bajo consumo de
energa constituyen una parte de las caractersticas que se pretenden actualmente en
el sector domtica, todo esto con la meta de ahorrar gastos generados a causa del
consumo energtico y que puede resultar a mediano y largo plazo un ahorro muy
significativo .
1.1.2 Comunicaciones

En este sector la domtica juega un papel de tipo estratgico ya que sirve como un
vinculo con aplicaciones que posiblemente generen gastos en recursos humanos o en
tiempo, tal es el caso del mano a distancia de diversos servicios como alarmas, control
de acceso, activacin de vlvulas hidrulicas, etc., algunas de las actividades que se
requieren realizar implican gastos significativos respecto al tiempo en que estas se
ejecutan. Dicho problema se resuelve con un buen sistema de comunicacin enfocado
a estas necesidades.
En domtica, todos los servicios tienen que estar comunicados entre s, basado en
redes de comunicacin esto con el fin de asegurar premisas tales como seguridad,
confort y comunicacin en la vivienda. Un sistema que es destinado a ser utilizado por
la Domtica, tienen sus bases de funcionamiento en tres objetivos particulares: ahorro
de energa, confort y seguridad.
1.1.3 Seguridad

En materia de seguridad, la domtica ha sido de mucha utilidad, esto debido a que
todo el conjunto de sistemas y dispositivos se configuran siempre siguiendo este
objetivo por lo que la seguridad de los habitantes est siempre presente. Estos
sistemas permiten que el proceso de seguridad sea un trabajo conjunto entre las
actividades de seguridad llevadas a cabo por el habitante y los procesos de seguridad
del sistema inteligente; generando de esta manera en la persona que habita en la casa
inteligente una sensacin de seguridad y tranquilidad, lo cual se traduce en confort. La
seguridad es un rubro que necesita ser distribuido muchas veces en diferentes reas,


12

las principales son aquellas que requieren de cuidados especiales ya que por su
naturaleza podran resultar peligrosas si son mal manipuladas, o bien la seguridad pone
especial atencin a el monitoreo de sensores cuya actividad denota peligro de cualquier
ndole. La seguridad en Domtica debe contar entre otros: alarmas de gas, alarmas de
humo, alarmas de fuego, sensores de movimiento, alarmas policacas y alarmas de
tipo mdicas.
1.2 Definicin de vivienda inteligente
Este concepto engloba todas aquellas acciones que se realizan comnmente en el
hogar tales como encender las luces, la climatizacin, el audio, la TV, sistemas de
riego, sistemas de seguridad domestica, entre otras muchas tareas. El tema principal
de las viviendas inteligentes es la automatizacin y control de todos estos servicios de
manera inalmbrica. Sin embargo en general todo esto gira en torno a una sola tarea
general que es: la realizacin con bajo esfuerzo humano, es decir, se trata de hacer por
medio de las diferentes tecnologas el trabajo que el ser humano podra hacer.

Un proyecto de casa inteligente puede ser similar a una actividad como la
decoracin de la misma, uno mismo puede comenzar desde lo ms bsico y
posteriormente agregar ms adaptaciones de acuerdo con las necesidades que se
tengan o vayan surgiendo as mismo de acuerdo al presupuesto que se tenga.

Las principales ventajas en general de una vivienda inteligente son:

Confort: Al permitir al usuario tener el control de dispositivos del hogar de
manera remota o el programar todas las actividades para que estas se realicen
de manera automtica, es un beneficio que permitir realizar tareas de manera
fcil y sobre todo el tiempo podr ser aprovechado para realizar otras tareas.

Ahorro de energa: Sin duda este aspecto es primordial en base a que est
directamente relacionado con el costo. Si un dispositivo consume demasiada
energa implicara un costo elevado ya que la energa es uno de los recursos en


13

los cuales se busca siempre ahorrar para que de manera consecuente el gasto
en dinero disminuya. Adems de lo anterior mediante este beneficio es posible
que a mediano o largo plazo sea ms rentable hacer uso de un sistema
domtico.

Economa: Un sistema de este tipo puede implementarse de manera gradual, y
es por esto que puede adaptarse a las necesidades especificas que se tengan,
por lo que de este modo se evita tener recursos innecesarios que implican un
gasto mayor, adems del ahorro de energa que nos permite obtener constantes
ahorros en cuanto a recursos econmicos.

Seguridad: Uno de los aspectos primordiales que se buscan en todos los
hogares y por supuesto edificios ya que permiten tener el control total de la
vivienda de manera remota haciendo ms fcil la manipulacin de un sistema de
seguridad, y sobre todo ahorra tiempos al permitir una inspeccin de todo el
lugar sin tener que ir hasta el fsicamente.
1.3 Sistemas Domticos
Los sistemas domticos poseen una serie de caractersticas que los hace diferentes
de otros tipos de sistemas informticos. En un sistema domtico, la interaccin con el
entorno fsico del sistema, es un factor muy importante. En el desarrollo de estos
sistemas es necesario establecer mecanismos, para que ste pueda extraer
informacin del entorno y realizar acciones sobre l. Debido a esto, en el sistema
domtico existirn dispositivos que no sern computadoras lo cual no es habitual en
otros tipos de sistemas informticos, como pueden ser las aplicaciones de gestin o los
sistemas puramente informticos.

Por otra parte, hay que destacar que un aspecto importante de los sistemas
domticos, es la integracin de los distintos tipos de servicios que debe ofrecer:
automatizacin, seguridad, comunicaciones, multimedia, etc. Para ello se valdr tanto
de elementos hardware, como elementos software. Por todo esto, es necesario un
lenguaje de modelado especfico, que tenga en cuenta estas caractersticas. A grandes


14

rasgos un recinto con entorno inteligente posee dos sistemas principales, los cuales
deben de trabajar de manera conjunta: El sistema de administracin de toda la casa y el
sistema para la administracin de habitaciones.

A) Sistemas de administracin de toda la casa: Contempla los sistemas de
gestin y control propios de la casa y de las prestaciones indirectas que la mismo
facilita a los usuarios, entre ellas:

Control ambiental: alumbrado.
Control energtico.
Seguridad: Circuito Cerrado de Televisin, alarmas de incendio e intrusos.
Control de acceso: personas o visitantes.
Sistema de altavoces-sonido.
Control de sensores.
Control de motores.

B) Sistema para la administracin de habitaciones: En este caso se incluyen los
elementos necesarios para una adecuada automatizacin del ambiente
individual, ya sea por prestacin directa al usuario o bien teniendo una
instalacin lo suficientemente flexible y amplia, para que el usuario pueda instalar
sus propios equipos con posibilidades de interconexin, entre ellas:

Control de alarmas: Permite gestionar las operaciones relacionadas por las
distintas clases de indicadores.

Vigilancia de intrusos: Se trata de identificar la presencia de personas en
recintos no autorizados y avisar en el momento en que se detecte.

Vigilancia mediante cmaras: permite al usuario ver determinados puntos del
recinto de forma local o remota, mediante cmaras distribuidas
estratgicamente. Esto permitir al usuario vigilar la presencia de extraos,


15

trabajadores, etc., incluyendo la grabacin de las imgenes que tome la
cmara. Esta activacin podr realizarse de manera manual en el momento
que el cliente lo crea conveniente, mediante seales de alarmas, o podr
programarse para que se lleve a cabo en lapsos de tiempo determinados por
el usuario.

Un punto considerado relevante e innerente a los sistemas anteriores, es lo
referente a las soluciones de automatizacin, entre las principales podemos citar las
siguientes:

Actuacion remota sobre dispositivos: encendido de boma de agua,
desactivacion selectiva de cargas, sistemas de riego, iluminacion, persinas,
etc
Alarmas por eventos: deteccion y envio de mensajes por alarmas.
Programacion de automecanismos: inicio programado de riego, control
automatico temporizado de persianas, etc. [1]

1.4 Tcnicas de modulacin usualmente usadas en dispositivos de comunicacin
para domtica

Dentro del ambiente de comunicaciones en el ambiente domtico se requiere enviar
datos entre transmisor y receptor, dichos datos son manejados de forma digital para su
fcil procesamiento mediante computadoras, microcontroladores o microprocesadores,
debido a lo anterior se hace uso de tcnicas de modulacin digital. En los siguientes
puntos se explicara la forma en que trabajan las tcnicas de modulacin PSK (BPSK,
QPSK y OQPSK), las cuales son utilizadas en dispositivos de transmisin inalmbrica
con aplicaciones en domtica incluyendo la tecnologa presentada en este trabajo.
1.4.1 Modulacin BPSK

Es una tcnica de modulacin digital que permite que la informacin se module de
acuerdo a la fase, lo que significa que dependiendo de los valores de la entrada digital,


16

la seal analgica modulada va a tener una u otra fase de salida. Para ejemplificar esta
forma de modulacin se considera que la seal de informacin a transmitir es una
seal binaria con niveles de tensin de +1v. Asimismo la seal portadora:





















Fig. 1.1 Modulacin PSK: en la parte superior se observa la seal binaria de informacin mientras que
en la parte inferior la seal modulada BPSK.

La funcin para la seal que es modulada mediante la tcnica BPSK se defino como:




Cuando la entrada al modulador corresponde a un 0 lgico, la fase absoluta de
salida para la seal BPSK es 180. Si la entrada es un 1 lgico entonces la fase de
salida va a ser 0, como se muestra en la figura.
1.4.1.2 Modulador BPSK
El modulador BPSK consta de un circuito que integra un modulador balanceado
quien se encarga de multiplicar analgicamente las seales de entrada, asimismo


17

consta de un filtro pasa banda que elimina los armnicos que no son significativos para
la seal BPSK, lo anterior con la finalidad de no interferir con otro tipo de seales que
puedan transmitirse por el mismo canal.









Fig. 1. 2 Esquema de un Modulador BPSK

1.4.1.3 Demodulacin BPSK

En la figura siguiente se muestra un demodulador BPSK de deteccin sncrona. El
recuperador de la seal portadora es un circuito que se encarga de obtener la seal
BPSK recibida.












Fig. 1.3 Demodulador BPSK.

La demodulacin de una seal BPSK se puede representar de la siguiente forma:

Las dos posibles entradas analgicas para este demodulador son:

.

Para el proceso para obtener la seal digital original es:

Modulador
Balanceado
Filtro paso
banda
Seal
binaria





g1(t) g2(t)
Recuperador de
la Portadora.
Modulador
balanceado
Filtro pasa
bajas.


18

(1.1)



(1.2)

Para el proceso para obtener la seal digital original es:

(1.3)



(1.4)

1.4.1.4 Espectro de la seal BPSK

Para ejemplificar el espectro de una seal BPSK se tomara para anlisis que la
seal digita es una seal peridica por lo que tiene una anchura de bit constante Tb=T/2
y niveles de tensin +A. Esto con el fin de ejemplificar una seal donde nunca se
mantenga contante la informacin.









Fig. 1.4 Tren de pulsos binario.

La funcin y transformada de Fourier de este tren de pulsos es el siguiente:

(1.5)



19

(1.6)


La funcin de la seal modulada BPSK es:

(1.7)

Por lo tanto la transformada de Fourier es la siguiente:





(1.8)


Aplicando la propiedad de translacin en la frecuencia a la ecuacin anterior tenemos:


=




( + ) (1.9)

Dado que Tb=T/2 , y sustituyendo lo anterior se tiene:



20


( + ) (1.10)
De esta forma el espectro de una seal BPSK se representa como se muestra en la
figura:














Fig. 1.5 Espectro de Amplitud de una seal peridica de BPSK.
1.4.2 Modulacin QPSK

Quaternary Phase Shift Seying, como se deduce su nombre, es un tipo de modulacin
MPSK en la que M=4 , esto significa que la seal portadora de frecuencia puede
tener 4 fases de salida diferentes, esto trae como consecuencia k=2 , entonces
en el esquema de modulacin QPSK , los datos de entrada binarios estn compuestos
por grupos de 2 bits que reciben el nombre de dibits y que producen 4 posibles
combinaciones: 00,01,10 y 11.
1.4.2.1 Modulador QPSK
El siguiente circuito muestra un modulador QPSK que utiliza una seal portadora
, y en el que entra una seal digital f(t) secuencial con niveles de tensin v.


21

CANAL I
CANAL Q
























Fig. 1.6 Modulador QPSK.

En un modulador QPSK se distinguen dos canales, CANAL I y CANAL Q, cada uno
de ellos conducir uno de los bits desde el convertidor serie-paralelo a du modulador
balanceado correspondiente, cabe destacar que un modulador balanceado opera igual
que un multiplicador analgico. El bit I, cuyo nivel de tensin puede ser de +1 o -1 v, es
multiplicado por la seal portadora desplazada en fase 90, es decir . A la salida
de los dos moduladores balanceados se tiene una suma lineal para obtener as la seal
QPSK.

El filtro pasa banda que es colocado a la salida del modulador QPSK lo que hace es
eliminar los armnicos que no son significativos de la seal modulada para no interferir
con otras seales que pudieran transmitirse por el mismo canal.






Convertidor
Serie/Paralelo
Q
I
Modulador
Balanceado
Oscilador
Generador
de portadora
( )
Desplazador
de fase de 90
Modulador
Balanceado
Sumador
Lineal
Filtro pasa
Banda


22


Los valores que puede tomar la seal de salida son:

Entrada binaria

Fase de salida de la
seal QPSK
Q I
0 0

-135
0 1

-45
1 0

+135
1 1

+45


Su diagrama de fasores se muestra a continuacin:





















Fig. 1.7 Diagrama de fasores para la modulacin QPSK.

En la modulacin QPSK, como se puede observar en la figura, la separacin angular
entre fases de salida adyacentes es de 90. Adems para este modulador, cada dibit
difiere del adyacente en un solo bit. Este sistema de codificacin recibe el nombre de
Cdigo Gray.

90
Q
I
1 0
Q
I
1 1
Q
I
0 0
Q
I
0
1





23

CANAL I

CANAL Q




1.4.2.2 Demodulador QPSK

En la figura 1.8 se muestra el demodulador QPSK. El separador de potencia triplica
la seal recibida sin que este procedimiento tenga como consecuencia la
perdida de potencia, conducindola por el calan I y el canal Q hasta los multiplicadores
analgicos. En el circuito recuperador de portadora se obtiene la portadora a
partir de la seal de QPSK. Las salidas de los multiplicadores analgicos se hacen
pasar por dos filtros de paso de bajas que tienen que tener una frecuencia de corte
menor que .




















Fig. 1.8 Demodulador QPSK.

De forma matemtica el proceso para la demodulacin QPSK para los posibles dibits
que se pueden transmitir es el siguiente:

QI=00 para este dibit la seal analgica es la siguiente:
. (1.11)



Separador
de Potencia.
Recuperador de la
portadora .
Desplazador de
fase de 90.
Filtro pasa
bajos.
Filtro pasa
bajos.
Convertidor
Serie/Paralelo
Q I




24

Si analizamos por el canal Q se obtiene:

(1.12)












Para el canal I:

(1.13)









QI=01 para este dibit la seal analgica es la siguiente:
(1.14)
Si analizamos por el canal Q se obtiene:

(1.15)







25





Para el canal I:

(1.16)









QI=10 para este dibit la seal analgica es la siguiente:
. (1.17)
Primeramente se analiza para el canal Q:

(1.18)









Para el canal I:

(1.19)





26








QI=11 para este dibit la seal analgica es la siguiente:


. (1.20)

Primeramente se analiza para el canal Q:


(1.21)









Para el canal I:


(1.22)










27

1.4.3 Modulacin OQPSK

La modulacin OQPSK es similar a la modulacin QPSK de pulsos rectangulares,
en la que se ha limitado la mxima variacin de fase instantnea. As como en la
modulacin QPSK se llegan a producir saltos de rad. entre dos smbolos
consecutivos, en la modulacin OQPSK dichos saltos de fase instantnea se reducen a
la mitad rad, de este modo se evita que la componente en fase y la componente
en cuadratura cambien simultneamente su signo.

La limitacin del mximo salto de fase instantneo es til cuando la seal se
amplifica mediante amplificadores de alta potencia. Para evitar que ambas
componentes cambien de signo simultneamente en el transmisor, la componente en
cuadratura se retarda temporalmente un tiempo equivalente a medio periodo de
smbolo T/2 y posteriormente en recepcin con un filtro pasa bajo, se retarda la
componente en fase temporalmente un tiempo equivalente a medio periodo de smbolo
T/2, de este modo, quedan de nuevo las dos componentes sincronizadas.

Se puede definir como un caso particular de la modulacin QPSK en donde uno de
los bits ya se ale canal Q o el canal I se retrasa medio periodo de bit (Tb/2) respecto al
bit del otro canal. En la figura se muestra un ejemplo en el que el bit de informacin del
canal I es retrasado un tiempo Tb/2 respecto al bit del canal Q.










Fig.1. 9 Alineacin de los bits con el retraso introducido en uno de los canales.


28

De acuerdo a la diferencia que se presenta en la figura anterior se modifica tambin
la forma en la que trabaja un modulador OQPSK respecto del QPSK convencional. Para
este caso se presenta un latch de retraso en uno de los dos canales:


Fig. 1.10 Modulador OQPSK.

Con OQPSK se consigue que no se produzca el cambo en ms de 1 bit
simultneamente en el cdigo del dibit, es decir que nunca se dar la transicin de 00 a
11 o de 01 a 10. Esto traer como consecuencia que no se produzca un
desplazamiento mayor a 90 en la fase de la seal analgica de salida OQPSK, esto
significa que se asegura que la fase nunca pase de -135 a +45 o de -45 a +135. La
ventaja principal de este tipo de modulacin es el mnimo desplazamiento que la fase
realiza en el proceso de modulacin.




29

1.4 Tecnologias de comunicacin utilizadas en domtica
1.4.1 Bus europeo de instalacin (EIB)

Las instalaciones elctricas con este protocolo son casi como las instalaciones
tradicionales, slo que el usuario utiliza unos interruptores para encender y apagar las
luces de su hogar. A los mtodos con este esquema de conexin se le llaman Sistemas
de control distribuidos en red.












Fig.1.11 Esquema de Conexin con EIB (Bus europeo de instalacin).

1.4.1.1 Caractersticas del sistema EIB (Bus europeo de instalacin)

Los elementos del EIB pueden comunicarse entre s, sin importar el fabricante
del elemento.

Las seales recibidas por el sensor se envan al actuador correspondiente por la
lnea del bus, que es un cable de dos hilos.

El sistema puede ser ampliado con un mximo de quince reas como instalacin
unitaria. El sistema trabaja de manera descentralizada.



30

Su estructura puede ser lineal, de estrella o con ramificaciones, sin necesidad de
un control central.

1.4.1.2 Ventajas del sistema EIB

Ahorro de tiempo: Los tiempos de montaje del sistema pueden reducirse debido
a una planificacin e instalacin adecuada, con la ayuda de un software y con la
reduccin de la cantidad de cables, el montaje es mucho ms fcil.

Flexibilidad: Es posible la ampliacin o modificacin de funciones gracias a la
reprogramacin de los actuadores y sensores, incluso ampliando la instalacin
existente.

Eficiencia en la comunicacin: Los componentes del sistema son compatibles
entre s, creando una comunicacin sin problemas o interferencias. Esto
garantiza la utilizacin racional de la energa.

Respeto por el medio ambiente: Al aprovecharse al mximo la energa, el
sistema brinda un alto grado de efectividad y mejora el manejo de los recursos
existentes, repercutiendo en ahorro de dinero.[2]

1.4.2 Protocolo X.10

X.10 permite controlar los aparatos electrodomsticos y las luces de la vivienda,
haciendo uso de la instalacin elctrica ya presente en el hogar, evitando la instalacin
de cables. Cada aparato posee una direccin a la que responde o enva informacin,
contando con un total de 256 direcciones.

Debido a su permanencia de ms de 20 aos en el mercado, al empleo de su
tecnologa y a su liderazgo, sus productos, son ampliamente utilizados en algunas
viviendas residenciales o importantes edificios en los Estados Unidos de Norteamrica.
La instalacin tambin es muy accesible, debido a que cualquier persona con un poco
de conocimientos previos en electricidad o incluso los usuarios, pueden ser capaces de


31

elaborar una sencilla instalacin domtica. El empleo de X.10 no requiere cableado
especial, pero si se requieren dos dispositivos para la comunicacin:

Un receptor: Se instala para enchufar algn electrodomstico. En l se especifica
el cdigo de la unidad y el cdigo de la vivienda, ofreciendo un gran nmero de
posibilidades.

Un controlador o transmisor: Emite las rdenes de cundo deben activarse los
aparatos electrodomsticos y con qu intensidad, encontrndose estos en
cualquier otro lugar de la vivienda.

X.10 protege efectivamente la vivienda porque monitorea constantemente el estado
de la casa, ya sea en el lugar o a distancia. Se encarga de encender las luces cuando
se requiere, activa el sistema de alarmas si es requerido tambin, incorporando tambin
a sus beneficios el empleo de un guardin electrnico, llamado perro electrnico X.10,
un mdulo que imita los ladridos de un perro Pastor Alemn [2].
1.4.3 Bluetooth

Bluetooth aparece en el ao de 1998 como una norma desarrollada por un grupo
de empresas con el objetivo optimizar la comunicacin inalmbrica mediante
radiofrecuencia entre dispositivos de uso domestico como por ejemplo: computadoras,
PDAs, telfonos celulares, impresoras etc. Esta tecnologa puede abastecer hasta 8
dispositivos en una sola WPAN (Wireless Personal Area Network).

Bluetooth opera en la banda de 2,56 GHz y ofrece hasta 1Mbps, que se reducen a
un aproximado de 434 Kbps al descontar la sobrecarga de los protocolos. El alcance
mximo es de entre 10 y 100 metros, aunque los resultados obtenidos de manera
efectiva son diferentes ya que intervienen factores externos como el ruido
electromagntico y los obstculos.

Las principales caractersticas de esta tecnologa son:


32


Una soporta un mximo de 8 nodos dentro una subred Bluetooth.
Bluetooth maneja una velocidad de intercambio de hasta 1Mbps.
Frecuencia de 2.4 GHz.
Potencia de transmisin: 1mW para 10 metros, 100mW para 100 metros.
Canales mximos de datos: 7 por subred.
Velocidad de datos: 721 Kbps por subred.
Cobertura: 10 Metros.
Bajo consumo de energa: 2.7 Volts. [3]
1.4.4 ZigBee

Las redes ZigBee comenzaron a ser concebidas por el ao 1998, el organismo
encargado del desarrollo es la ZigBee Alliance cuyo afn era disear redes ad-hoc de
auto organizacin para radios digitales as como programas de certificacin, insignias y
estrategias de comercializacin.

El enfoque principal fue desarrollar dispositivos para aplicaciones diferentes, las
cuales proveern al usuario soluciones inalmbricas que son rentables, fciles de
utilizar, altamente confiables y seguras. ZigBee ha sido diseado para soportar una
diversa gama de aplicaciones con conectividad ms sofisticada que los anteriores
sistemas inalmbricos. Se enfoca un segmento del mercado no atendido por los
estndares existentes, con baja tasa de transmisin de datos, bajo ciclo de servicio de
conectividad y bajo costo. Las principales caractersticas de esta tecnologa son:

Bajo costo en los dispositivos, la instalacin y el mantenimiento.

Los dispositivos ZigBee amplan la vida de las bateras ya que la naturaleza de
ZigBee permite la creacin de redes que requieren poco mantenimiento.

Redes de alta densidad de nodos. ZigBee permite que las redes manejen hasta
65536 dispositivos [4].


33

1.5 Comparativa general

Una vez analizados los distintos medios de transmisin aplicables en Domtica se
presenta un panorama de las diversas ventajas y desventajas que pueden tenerse al
utilizar cualquiera de ellos, sin embargo cada uno de ellos es apto para necesidades
diferentes, para el caso particular de este trabajo es prioritario encontrar una tecnologa
que consuma muy pocos recursos tanto econmicos como en materia de energa. A
continuacin se presenta una comparativa general de las tecnologas antes
mencionadas.

Tabla 1.1 Comparativa general de diferentes tecnologas inalmbricas.
EIB X.10 BLUETOOTH ZIGBEE
Ancho de
banda
12-96 Mbps 60bps 1Mbps
20
250kbps
Aplicaciones

Automatizacin
y
Sistemas de
control.

Control
remoto de
dispositivos
elctricos
Reemplazo
de cable
Monitorizacin
y
control
Consumo
energtico
alto Alto Medio Bajo
Puntos
importantes
Robustez,
Seguridad, alta
velocidad d
transmisin.

Empleo de
un guardin
electrnico
Costo,
seguridad
Consumo,
costo,
robustez,
seguridad
Complejidad

Media Alta Media - alta Baja
Distancia
En metros
300-600
No
especificado
1 - 10 1 - 75



34











CAPITULO II

ZIGBEE

















35

2.1 Introduccin a ZigBee
Las tecnologas inalmbricas si bien pudiesen tener algunas desventajas en cuanto
al ancho de banda se refiere respecto a tecnologas alambicas , poseen mltiples
ventajas en el mbito de la domtica debito en primer lugar a el ahorro de toda la
infraestructura que se requiere para una instalacin almbrica que para el caso prctico
y esttico no es muy conveniente ya que en domtica uno de los puntos que ms
sobresaltan a la vista es la esttica y como en todo tambin el costo resulta importante.

ZigBee es una tecnologa que se presta para esto ya que el estndar se ha hecho a
medida para la monitorizacin y para tareas de control. Por este motivo, los mercados
tales como la automatizacin de edificios y hogares, la atencin sanitaria, control
industrial, control de alumbrado y control comercial, son las principales reas bajo las
cuales trabaja la tecnologa en cuestin.
2.2 Arquitectura
ZigBee es una tecnologa que basa su funcionamiento en el modelo de referencia
OSI (Open System Interconection) y como tal tambin divide su arquitectura en capas
que definen su funcionamiento, Sien embargo para el caso de las capas de ZigBee
encontraremos una divisin entre los protocolos encargados de definir dichas capas,
por una parte se encuentra presente la norma IEEE 802.15.4 y por otro lado se
encuentran las normas dictadas por la ZigBee Alliance.

La ZigBee Alliance es el grupo conformado por diversas empresas que se dedican a
la creacin de nuevas soluciones en el mbito inalmbrico principalmente para su uso
en entornos residenciales aunque tambin hay diversas aplicaciones de uso comercial
e industrial. Esta alianza tecnolgica, sin fines de lucro, conformada por ms de 100
firmas, la mayora de ellas fabricantes de semiconductores tienen el objeto de colaborar
con el progreso e implementacin de una tecnologa inalmbrica de rea personal a
bajo costo.




36

2.2.1 IEEE 802.15.4

ZigBee es una tecnologa que est basada en el estndar IEEE 802.15.4 que est
enfocado para conexiones inalmbricas de tipo personal PAN con una tasa de
transferencia baja como es el caso de la tecnologa de la que se hace uso para la
realizacin de este trabajo. Para poder estudiar la tecnologa ZigBee, ser necesario
tratar los niveles definidos por el estndar IEEE 802.15.4 especfico para conexiones
inalmbricas tales como ZigBee y bajo la cual esta se basa.

IEEE 802.15.4 es una norma bajo la cual se define la especificacin de ZigBee. La
finalidad del estndar IEEE 802.15.4 es definir los niveles de red bsicos para dar
servicio a un tipo en particular de red inalmbrica de rea personal (WPAN) centrada
para constituir la comunicacin entre dispositivos con un bajo costo y baja velocidad.
Se hace nfasis en el bajo precio de los mdulos de comunicacin y su fcil
reconocimiento con nodos cercanos y sin infraestructura, o con muy poca, as mismo
con esto se favorece al mximo el bajo consumo de recursos materiales y por lo tanto
econmicos.
2.2.1.1 Capas del estndar IEEE 802.15.4

La capa de ms bajo nivel es la capa fsica (PHY), que en conjunto con la capa de
acceso al medio (MAC), brindan los servicios de transmisin de datos por el aire, punto
a punto. Estas dos capas esta descritas dentro del estndar IEEE 802.15.4. El estndar
trabaja sobre las bandas ISM de uso no regulado, dnde se definen hasta 16 canales
en el rango de 2.4 GHz, cada una de ellas con un ancho de banda de 5 MHz
2.2.1.1.1 Nivel fsico

El nivel fsico PHY es quienes encarga de realizar la transmisin de datos sobre el
medio fsico, asimismo asigna la interfaz fsica por medio de la cual se acceden a todos
los servicios proporcionados por las capas superiores, as mismo mediante esta capa
se realiza el control de los dispositivos transceptores encargados de la trasmisin y
recepcin de datos y se realiza la seleccin del canal para este intercambio, dichos


37

transceptores trabajan bajo una de los tres rangos de frecuencias ya anteriormente
mencionados:

De 868 a 868.8 MHz: Europa. Se permite de uno a tres canales.
De 902 a 928 MHz: Norte Amrica. Se permite de diez a treinta canales.
De 2400 a 2483.5 MHz: Uso en todo el mundo. Se permite hasta diecisis
canales.

La IEEE 802.15.4 maneja dos modos diferentes de modulacin y as mismo puede
manejar dos diferentes versiones para el nivel fsico (PHY). La primer versin es
denominada PHY a 868/915 MHz y es conocida como la versin PHY de banda baja,
esta versin utiliza modulacin por desplazamiento de fase binaria (BPSK) .La segunda
versin PHY a 2.4 GHz es conocida como Banda alta y utiliza una tcnica de
modulacin llamada OQPSK por sus siglas en ingles Offset Quadrature Phase-Shift
Keying.

La grafica que se muestra en la figura 2.2 muestra que la tcnica de modulacin del
estndar IEEE 802.15.4 es de manera clara ms eficiente que el utilizado por Wi-Fi o
Bluetooth ya que obtenemos que es 7 dB o 18 dB mejor que las tcnicas utilizaras por
los estndares IEEE802.11 e IEEE 802.15.4 que son quienes definen las tecnologas
Wi-Fi y Bluetooth respectivamente. Es necesario recordar que la relacin seal a ruido
es de suma importancia para lograr un enlace inalmbrico que pueda transmitir y recibir
de manera optima, ya que como su nombre lo indica, la relacin seal a ruido establece
la relacin entre la potencia de la seal recibida y la potencia del ruido presente en el
canal de comunicacin [4].


38


























Fig. 2.1 Tasa de error de bit contra relacin seal a ruido en los estndares IEEE 802.15.4, IEEE 802.11
e IEEE 805.15.1.

2.2.1.1.1.1 Medidas de canal

Dependiendo del tipo de dispositivo utilizado y el consumo de potencia que generan
aplicaciones determinadas, con el estndar IEE 802.15.4 se espera una transmisin
exitosa en un rango de 10 a 75 m con un consumo de potencia aproximado a 1mW. En
las graficas mostradas en la figura 2.4 se analiza la tasa de error de paquete PER
(Packet Error Rate) y el indicador de seal recibida RSSI (Receive Signal Strength
Indication) tanto en ambientes exteriores como en interiores. El estndar IEE 802.15.4
define dentro de sus caractersticas una transmisin optima para interiores de hasta 32
metros entre el transmisor y el receptor con PSDU (Physical layer Service Data Unit) de
tamaos de 20, 40,80 y 127 bytes. La grafica 2.3 tambin muestra la intensidad de
seal recibida arroja que a mayor distancia la intensidad ir disminuyendo de manera
paulatina conforme se aleja el transmisor del receptor, sin embargo esto es solo para el
caso de ambientes internos donde se encuentren obstculos a cada paso como
sucedera dentro de una casa.


39















Fig. 2.2 RSSI en ambientes internos















Fig. 2.3 RSSI en ambientes externos (derecha).


40

La grafica de la figura 2.4 muestra una relacin entre la intensidad de la seal
recibida y la distancia, en este caso a diferencia de la respuesta que se obtiene en
ambientes internos, la seal decae ms rpidamente sin embargo a partir de los 30
metros la intensidad de la seal es ms constante.

El segundo parmetro al cual se hace referencia en el estndar IEEE 802.15.4 es la
tasa de error de paquete PER, ese parmetro tambin es manejado en funcin de la
distancia, el estndar indica que la tasa de error para el caso de ambientes externos se
dispara cuando se rebasa la distancia de 20 metros siendo probable despus de esta
distancia la deteccin de errores. El panorama es diferente cuando se trabaja en
ambientes externos ya que haya los 20 metros la probabilidad de error es muy baja y es
hasta los 50 metros donde esta comienza a elevarse [5].




















Fig. 2.4 PER en ambientes internos.


41















Fig. 2.5 PER para ambientes externos.
2.2.1.1.2 Nivel de enlace de datos

En este nivel encontramos la subcapa de Control de Acceso al Medio (MAC). sta
se encarga de transmitir tramas MAC. Adems del servicio de datos, ofrece una interfaz
de control y regula el acceso al canal fsico y al balizado de l a red. Tambin se encarga
de controlar la validacin de tramas y las asociaciones entre nodos tiempo. Por ltimo,
ofrece puntos de enganche para servicios seguros.

Tambin podemos encontrar en el nivel de enlace de datos la subcapa de control
de Enlace Lgico (LLC) que hace la funcin de interfaz con los niveles superiores de la
pila de protocolos. En la Figura 2.6 podemos observar los diferentes niveles definidos
por el estndar 802.15.4 y las capas intermedias que hacen posible la comunicacin
con los niveles superiores definidos por un tipo de red inalmbrica de rea personal
WPAN, como ZigBee.


42

IEEE 802.15.4












Fig. 2.6 Capas que controlan el estndar IEEE 802.15.4.

2.2.1.2 Especificaciones del estndar IEEE 802.15.4

El medio de transmisin ZigBee trabaja sobre la banda ISM en concreto se definen
algunas frecuencias dedicadas a su uso, 915 MHz para su uso en Estados Unidos de
Norteamrica, 868 MHz para Europa y 2.4 GHz para el resto del mundo, la razn es
que esta ltima es libre en gran parte del mundo y por este motivo las empresas
dedicadas a su desarrollo optan por utilizar esta frecuencia. Para el caso de 2.4 GHz se
definen 26 canales y cada uno de ellos los posee un ancho de banda especifico de 5
MHz.







Fig. 2.7 Canales del estndar IEEE 802.1.4
NIVEL FSICO
ENLACE DE DATOS

CONTROL DE ACCESO AL MEDIO
SUBNIVEL DE CONVERGENCIA
CONTROL DE ENLACE DE DATOS
(LLC)


43

Tres bandas, 27 canales especificados:

Tabla 2.1 Frecuencia de trabajo ZigBee

FRECUENCIA COVERTURA
TRANSFERENCIA
DE DATOS
NUMRO
DE
CANALES
SENSIBILIDAD
DE
RECEPCION
MODULACION
2405-24800
MHz
RESTO DEL
MUNDO
250 Kbps 16 -85 dBm O-QPSK
868.3 A 870
MHz
EUROPA 20 Kbps 1 -92 dBm BPSK
902-828 MHz AMRICA 40 Kbps 10 -92 dBm BPSK


2.4Ghz.- Especificaciones (Disponibles mundialmente):

a) Sensibilidad: -85 dBm @ 1%PER
b) Potencia de salida: 0dB
c) Alcance: Interiores (30m), exteriores libres (75m)

Caractersticas de la comunicacin:

a) Estructura simple.
b) Entrega de datos segura ya que se hace uso de :

CSMA/CA (Acceso Mltiple con Deteccin de Portadora
Prevencin de colisin).
Reconocimiento de mensaje [6].




44

2.2.2 Niveles especificados por ZigBee Alliance
2.2.2.1 Nivel de red

Las funciones principales del nivel de red son dar paso al correcto uso del Subnivel
MAC, definido anteriormente por el estndar IEEE 802.15.4, as como ofrecer una
interfaz ajustada para su uso por parte del nivel superior, el nivel de aplicacin.

Por una parte, se realiza el ruteo en base a la topologa de la red en la que el
dispositivo se encuentra. Por otra parte, las funciones de control del nivel de red
controlan la configuracin de nuevos dispositivos y el establecimiento de nuevas redes;
puede decidir si un dispositivo colindante pertenece a la red e identifica nuevos routers
y vecinos. El control puede detectar as mismo la presencia de receptores, lo que
posibilita la comunicacin directa y la sincronizacin a nivel MAC.

2.2.2.2 Nivel de aplicacin

Se trata del nivel ms elevado definido por la especificacin y, por tanto, la interfaz
efectiva entre el nodo ZigBee y sus usuarios. En l se ubican la mayor parte de los
componentes definidos por la especificacin: tanto ZDOs, (ZigBee Device Objects)
quienes se encargan de definir el papel del dispositivo en la red, si el actuar como
coordinador, router o dispositivo final como sus procedimientos de control y los objetos
de aplicacin. El direccionamiento de los dispositivos ZigBee, a su vez, parte del nivel
de aplicacin. Un nodo est formado por un transceptor compatible con 802.15.4 y una
o ms tipos de dispositivos conformados por un conjunto de atributos que pueden ya
sea monitorearse o controlar por medio de eventos [7].









45

ZIGBEE
IEEE 802.15.4

NIVEL DE APLICACIN


















Fig. 2.8 Capas del Protocolo Zigbee.
2.3 Dispositivos ZigBee
Dentro de una red constituida por esta tecnologa se pueden encontrar tres tipos de
dispositivos diferentes que cumplen con funciones diferentes de acuerdo a la posicin
en que se encuentran dentro de una red, dichos dispositivos son los que a continuacin
se mencionan:

Coordinador ZigBee ZC (ZigBee Coordinator): Este dispositivo es el que tiene
ms funciones dentro de una red ZigBee ya que entre sus funciones se
encuentra controlar y coordinar la red y las diferentes rutas que deben de seguir
cada uno de los dispositivos para comunicarse entre ellos, para poder constituir
una red ZigBee es forzosamente necesario tener por lo menos un Coordinador.
NIVEL DE RED
SUBCAPA DE APOYO A LA
APLICACIN
SERVICIO
DE
SEGURIDAD


OBJETOS DE
APLICACIN

OBJETO DE
DISPOSITIVO
ZIGBEE
CONTROL DE ACCESO AL MEDIO (MAC)
NIVEL FISICO


46

Router ZigBee (ZigBee Router, ZR): Este dispositivo tiene como meta principal
la interconexin de cada uno de los dispositivos que se encuentren separados
dentro de una topologa de red del mismo modo este dispositivo ofrece la
posibilidad de obtener un nivel de aplicacin para la ejecucin de cdigo por
parte de los usuarios.

Dispositivo Final (ZigBee End Device, ZED): Este tercer dispositivo tiene la
tarea de tener la funcionalidad necesaria para comunicarse con el nodo principal
de una red que bien puede ser un Router ZigBee o un Coordinador ZigBee, este
dispositivo se encarga de transmitir informacin hacia el router o coordinador al
que se encuentre conectad, sin embargo no puede transmitir directamente a otro
ZED, para esto es necesario atravesar la ruta hacia el por medio de un ZR o ZC,
una de las grandes ventajas de estos dispositivos conectados a una red ZigBee
es su ahorro de energa, pues no se requiere que estn encendidos todo el
tiempo pues es posible mantenerlos en modo de hibernacin hasta que se
requiera de ellos.
2.4 Topologas de redes ZigBee
2.4.1 Topologa en estrella

En redes en estrella el coordinador se sita en el centro, y toda conexin que se
quiera realizar entre los distintos nodos de la red debe pasar por ste.
En la Figura 2.9 vemos ilustrada la tpica estructura de una red en estrella.


Coordinador de red.
Dispositivo de funcin completa (FFD).
Dispositivo de funcin reducida (RFD).


Fig. 2.9 Diagrama Red ZigBee con topologa tipo estrella.


47

En una red estrella se tiene un solo nodo central activo que normalmente es quien
administra la red y evita problemas derivados de una mala distribucin de la red , las
ventajas que una red de este tipo puede generar es la facilidad de implementacin as
como la facilidad de incrementar los dispositivos conectados a la red, as mismo el fallo
de un nodo perifrico no influira el desempeo de la red completa , otro problema que
resuelve esta topologa son las colisiones de datos, las cuales se eliminan al existir una
sola conexin por parte de cada estacin al dispositivo central.

2.4.2 Topologa en rbol

En esta topologa de red en la que los nodos estn colocados en forma de rbol el
coordinador ser la raz del rbol. La conexin en rbol es parecida a una serie de
redes en estrella interconectadas, salvo en que no tiene un nodo central. En cambi o,
tiene un nodo de enlace troncal, generalmente ocupado por un coordinador, desde el
que se ramifican los dems nodos.









Coordinador de red.
Dispositivo de funcin completa (FFD).
Dispositivo de funcin reducida (RFD).

Fig. 2.10 Diagrama Red ZigBee con topologa tipo rbol.



48

Los problemas que presentan este tipo de topologa radican en que los datos son
recibidos por todas las estaciones no importando para quien vayan dirigidos. Por lo
tanto surge el problema de dotar a la red con un mecanismo que permita identificar al
destinatario de los mensajes.
2.4.3 Topologa en malla

La topologa ms interesante es la topologa de malla. Consiste en que al menos
uno de los nodos tendr ms de dos conexiones. Con ello conseguimos que si, en un
momento dado, un nodo del camino falla y se cae, pueda seguir la comunicacin entre
todos los dems nodos debido a que se rehacen todos los caminos.

El establecimiento de una red de malla es una manera de encami nar datos, voz e
instrucciones entre los nodos. Las redes de malla se diferencian de otras redes en que
las piezas de la red (los nodos) estn conectadas unas con otras por uno u otro camino.
Esta configuracin ofrece caminos redundantes por toda la red, de modo que si falla un
cable, otro se har cargo del trfico. Esta topologa, a diferencia de las vistas en
apartados anteriores, no requiere de un servidor o nodo central, con lo que se reduce el
mantenimiento. Un error en un nodo, no implica la cada de toda la red.

Como ya se ha comentado anteriormente, las redes de malla son autogenerables.
La red puede funcionar incluso cuando un nodo desaparece o la conexin falla, ya que
el resto de nodos evitan el paso por ese punto. Consecuentemente, se forma una red
muy confiable.[8]



Coordinador de red.
Dispositivo de funcin completa (FFD).
Dispositivo de funcin reducida (RFD).

Fig. 2. 11 Diagrama. Red ZigBee con topologa tipo malla.


49

2.5 Mdulos ZigBee

Una vez que se conocen lo dispositivos bajo los cuales se basa esta tecnologa y
los lineamientos que deben seguir, corresponde el turno a la bsqueda de mdulos
comerciales que trabajen bajo ZigBee. Para este trabajo se ha realizado una bsqueda
de diferentes dispositivos fabricados por empresas diferentes y que perteneces a la
ZigBee Alliance y por tal motivo son quienes se encargan de la distribucin de
productos relacionados.

Si bien en esencia el protocolo no cambia, cada fabricante ofrece diversas
soluciones aplicables a l, por lo que en este apartado se detallan diferentes
componentes que han sido analizados para ver sus cualidades y saber cul es el ms
adecuado y cual ofrece mejores soluciones.

2.5.1 eZ430-RF2480 Development Tool

Se tratad e una herramienta de la hempresa Texas instruments, la cual contiene lo
necesario para la implementacin de proyectos por medio de ZigBee, asimismo cabe
destacar que este dispositivo es compatible y estrechamente vinculada con
micronoctroladores de la familia MSP430, dicha herramienta contiene:

Un soporte para las bateras de los mdulos.
2 bateras AAA
3 Mdulos CC2480
Una interface USB eZ430-RF.







Fig. 2.12 Transceiver CC2480


50

Dentro de esta herramienta son incluidas algunas herramientas de trabajo en
software as como documentacin sobre el hardware incluido dentro de este kit, del
mismo modo es posible descargarlas desde la pgina web del fabricante. Dichos tiles
son los siguientes:

La gua de usuario de eZ430-RF2480
Entornos de trabajo Code Composer Essentials (CCE) e IAR Embedded
Workbench.
Una gua de usuario para la familia de microcontroladores MSP430.









Fig. 2.13 eZ430-RF2480 Development Tool
Este kit contempla todo un entorno de desarrollo as como los dispositivos
necesarios para la implementacin de proyectos de tipo inalmbrico, para lo anterior se
utiliza una interfaz incluida dentro de esta herramienta de tipo USB, de esta manera la
creacin de nuevas aplicaciones se torna ms cmoda por su fcil interaccin con las
computadoras ya que muchas veces es utilizada para el alojamiento de interfaces
graficas que ejecutan acciones sobre los diferentes dispositivos utilizadas, tambin es
posible mediante la presente herramienta realizar simulaciones en tiempo real sobre el
dispositivo por medio de una computadora y el hardware y software subministrado por
la empresa Texas Instruments.

El kit, como ya se ha preciso anteriormente, consta de tarjetas inalmbricas que
trabajan bajo una frecuencia de 2.4 GHz, mismas que incluyen un microcontrolador de


51

la familia MSP430 de ultra bajo consumo. Los proyectos que se realicen con estos
dispositivos pueden gozar de una autonoma gracias a la plataforma de batera que
incluye el kit. Algunas de las caractersticas principales del eZ430-RF2480 son:

Dos LED (rojo/verde) indicadores para el desarrollo de la
Comunicacin.
Una interface USB til en la programacin de los dispositivos.
Transceiver CC2480 a 2.4GHz.
UART
Un microcontrolador MSP430 de ultra-bajo consumo a 16MHz.
18 pines disponibles para la realizacin de pruebas.

El eZ430-RF2480 utiliza dos entornos de programacin para poder escribir,
descargar y programar diferentes aplicaciones dentro del dispositivo ZigBee. Los
entornos mencionados son:

Code Composer Essentials (CEE)
IAR Embedded Workbench Integrated Development Environment (IDE)

2.5.2 ATMEL Module

ATMEL es el nombre del fabricante que proporciona dispositivos compatibles con la
especificacin ZigBee. En este caso se nos detalla, por separado, cual es el transceiver
y el microcontrolador utilizados para la implementacin del mdulo. Como se puede
comprobar en la Figura 2.14, nos encontramos con otra solucin completa al integrar en
su PCB todos los componentes requeridos y compatibles con ZigBee, por lo tanto
debemos de analizar dichos componentes para conocer los beneficios que pueden
aportar al proyecto y de este modo llegar a la mejor solucin posible.


52










Fig. 2.14 Modulo ATMEL
2.5.3 EasyBee ZigBee

EasyBee se fundamenta en un mdulo vlido para ZigBee dentro del estndar IEEE
802.15.4. El mdulo EasyBee, que se aprecia en la Figura 2.15, contiene todo el
conjunto de circuitos necesarios, integrando una antena integrada. La capa MAC
incluye la generacin CRC-16, la evaluacin de canal clara, la deteccin de seal de
energa, la seguridad, encriptacin y autentificacin. Cabe sealar que este dispositivo
nicamente es un tranceiver, por lo que para su implementacin requiere como varios
de los otros mdulos un microcontrolador externo.





Fig. 2. 15 Modulo EasyBee ZigBee

A continuacin se enuncian las caractersticas ms resaltantes de este modulo:

Frecuencia: 2.4GHz.
Posibilidad de antena integrada o externa.
Potencia de salida: 1mW (+0dBm).


53

Temperatura: -40C a 85C.
Volate necesario: 2.1 3.6V.
Distancia mxima: 120m. [12]
2.5.4 XBee Module

Es uno de los mdulos que hace uso utilizacin de ZigBee. El dispositivo tiene como
labor principal la transmisin y recepcin de datos que son suministrados ya sea por un
microcontrolador o mediante una computadora. Para el este trabajo se utilizarn los
mdulos XBee series 1 y series 2, que son mdulos de radio frecuencia que trabajan en
la banda de 2.4 GHz por medio del protocolo IEEE 802.15.4 fabricados por
MAXSTREAM. Son utilizados en automatizacin de casas, sistemas de seguridad,
monitoreo de sistemas remotos, aparatos domsticos, alarmas contra incendio, plantas
tratadoras de agua, etc. Los mdulos XBee especficamente tienen un alcance en
interiores de hasta 30 metros, y en exteriores el alcance es de hasta 100 metros. En la
Figura 2.16 se muestran los tres diferentes tipos de XBee.Las principales
especificaciones del mdulo XBee son las siguientes:

Potencia de salida: 50mW
Consumo de corriente en Rx: 45mA
Consumo de corriente en Tx: 295mA
Consumo de voltaje: 3.0 3.4V
Tamao (cm): 2.43 x 3.29
Temperatura: -40C a 85C
Distancia: Interior: 30m / Exterior: hasta 100 mts. [9]






Fig. 2.16 Modulos XBee de Maxstream


54








CAPITULO III
DISEO DEL
SISTEMA DE
COMUNICACIN









55

Para la implementacin del sistema de comunicacin se necesitan los siguientes
mdulos o dispositivos:

Modulo XBee
Microcontroladores.
Pantalla de LCD de 4 x16.
Teclado matricial de 4x4.
Comunicacin mediante C.I. MAX 232.

3.1 MODLO XBEE

Analizando las diferentes opciones que existen en el mercado podemos observar
las principales caractersticas as como sus ventajas y desventajas que ofrecen los
diferentes dispositivos existentes de manera comercial; en base a lo anterior se puede
llegar a la determinacin del elemento a emplear as como diferentes observaciones
que permitirn concluir que la mejor opcin es la de utilizar los mdulo Maxstream.

Observando las diferentes posibilidades se han utilizado diferentes criterios para
llegar al dispositivo a utilizar antes mencionado. Uno de los puntos ms importantes en
la abertura del dispositivo para trabajar con mltiples microcontroladores ya que se
desea que el gasto por este dispositivo sea reducido o bien que sea ajustable a las
necesidades que se tengan, de mismo modo es una ventaja si existe una cierta
facilidad para interconectarse con los puertos de una computadora ya que en algn
momento dado puede ser necesario para una interfaz grafica con el usuario por medio
de una computadora. En base a lo anterior se ha credo que no es muy conveniente
utilizar la herramienta eZ430-RF2480 de Texas puesto que es difcil implementar el
transceiver ZigBee con otro microcontrolador diferente al de la familia que se especifica,
as mismo las herramientas proporcionadas y el contenido de aplicaciones ya
implementadas que trae hacen de esta opcin muy costosa.







56

Tabla 3.1 Comparativa entre los dispositivos ZigBee en el mercado











Otra caracterstica que se ha tomado en cuenta fue la facilidad con que el dispositivo
seleccionado puede ser montada y desmontada ya sea en placa de circuito impreso o
en una tablilla de pruebas para su fcil manejo, por este motivo la utilizacin de los
dispositivos provistos por ATMEL es considerada no oportuna ya que en sus
herramientas de desarrollo el dispositivo ZigBee se encuentra incrustado en la placa de
circuito impreso por lo que es difcil manipular el dispositivo en su forma independiente.
Una opcin alternativa por su tamao y facilidad de manipulacin en forma individual es
el modulo EasyBee sin embargo no es fcil de encontrar en Mxico y la informacin
presente sobre este modulo an es limitada por lo que se ha descartado tambin esta
opcin. La solucin que se ha considerado ideal es el modulo XBee fabricado por
Maxstream ya que es de bajo costo, y fcil manipulacin y compatibilidad con varios
tipos de microcontroladores, as mismo es sencilla la realizacin de interfaces para la
computadora, por lo anterior se determina que el dispositivo que mas es conveniente es
el modulo XBee. [9]






Consum
o Rx
Consumo
Tx
Peso Dimensiones
c
incluido
Potencia
de salida
Consumo
de voltaje
Xbee 40mA 40mA 3gr 2.43 x 2.76 no
1.25-
2mW

2.1-
3.6V
ATMEL
15.5m
A
16.5mA 5gr 2.25x2.3 no 4mW 3.6V
Texas
Instruments
13.3m
A
21.2mA 5gr 3 x 2 x 0.1 si 1mW 3.6V
EasyBee 20mA 18mA 3gr 2.6 x 2 no 1mW
2.1-
3.6V


57

3.1.2 Modos de operacin















Fig. 3.1 Modos de operacin de los modulos XBee
3.1.2.1 Modo recibir y transmitir

El modulo trabaja bajo estos modos cuando recibe algn paquete por medio de la
antena o cuando el buffer de salida tiene algn dato, el cual es transmitido en modo
serial. La informacin transmitida puede ser de tipo Directa o Indirecta. En el primer
modo la informacin es enviada inmediatamente a la direccin de destino, mientras que
en el modo Indirecto la informacin se retiene por el mdulo durante un perodo de
tiempo y es enviada slo cuando la direccin de destino realiza una peticin de envi.
Asimismo es posible enviar informacin por dos formas diferentes: Unicast y Broadcast.
Por la primera, la comunicacin es realizada solo desde un punto a otro, y es el nico
modo que permite respuesta de quien recibe el paquete , es decir, quien recibe debe
enviar un ACK (acknowledgement) o acuse de recibo, llamado as ya que indica que
recibi el paquete, el usuario no puede verlo ya que es interno de los mdulos.


MODO IDLE

MODO
TRANSMITIR

MODO
COMANDOS

MODO SLEEP

MODO
RECIBIR


58

El modulo que ha enviado un paquete recibe este acuse de recibo y en caso
contrario el paquete ser reenviado de nuevo en un nmero mximo de 3 veces, una
vez concluidos estos 3 intentos se incrementa el registro interno de fallas del modulo

3.1.2.2 Modo de bajo consumo (Sleep Mode)

El modo de Bajo Consumo o modo Sleep, es el que utiliza dicho modulo para
desactivarse momentneamente en un periodo determinado en el cual no existe
intercambio de informacin esto tiene como consecuencia el ahorro de energa en un
alto o mediano porcentaje dependiendo de la aplicacin dada, ya que muchas veces
estas no demandan al modulo estar en modo activo permanentemente ya que solo
requieren la atencin por parte del modulo cuando se enven datos, mismos que en
algunas tareas no son constantes. El ahorro de energa de este modo es configurable y
asimismo depende de la alimentacin del modulo de acuerdo a los rangos permitidos, el
consumo de corriente cuando es activado el modo sleep vara entre 10A y 50A.

3.1.2.3 Modo de comandos

Este modo permite ingresar comandos de tipo AT las cuales son instrucciones que
sirven para interactuar entre los usuarios y dispositivos terminales modem en este caso
al mdulo XBee, con los comandos AT se configura, ajusta o modifica el conjunto de
parmetros tales como la direccin propia o la de algn destino, as como su modo de
operacin entre algunos otros. Para ingresar a este modo dentro de los mdulos es
necesario un software terminal como por ejemplo Hyperterminal en Windows XP o
cualquier otro similar, la empresa Maxstream ha desarrollado un software propietario
que contiene un software de tipo terminal llamado X-CTU que adems incluye otras
aplicaciones.





59

3.1.2.4 Modo transparente

Este modo almacena en el buffer de entrada todo lo que ingresa por el pin 3 para
posteriormente ser transmitido y todo lo que ingresa como paquete es guardado en el
buffer de entrada y luego se enva mediante el pin 2 este modo est enfocado para
cuando nicamente existe una conexin punto a punto . Dependiendo de cmo se
configure el modulo, es posible transmitir la informacin de manera inmediata en cuanto
la informacin ingrese o es posible configurar un retardo de tiempo dado sin recibir
ningn carcter serial por el pin 3. Una vez finalizado el tiempo de espera configurado
se procede en ese momento y se toma lo que se encuentre en el buffer de entrada, se
empaqueta, y finalmente transmite.

3.1.2.5 Modo IDLE

Finalmente cuando el modulo se encuentra encendido pero sin configurar alguno de
los modulos anteriors, es decir no envia ningun pauqete de datos ni recibe nada y
asimismo no se encuentra dormido entonces se encuentra en este modo en el que solo
se encuentra energizado pero no realiza ninguna accin.[11]

3.2 Microcontroladores

Un microcontrolador es un dispositivo usualmente utilizado para tareas que
requieren tres unidades funcionales existentes dentro de una computadora las cuales
son: CPU, memoria y Unidades de entrada y salida, asimismo es posible realizar
operaciones aritmticas y lgicas, es decir, se trata de un circuito integrado que
contiene las caractersticas de un computador. En la figura 3.2 se muestra el esquema
a bloques de un microcontrolador, el cual contiene elementos primordiales como un
microprocesador, al menos 2 memorias, una RAM y una ROM y puertos para la
conexin de elementos perifricos.





60
















Fig. 3.2 Esquema de un microcontrolador.

Los microcontroladores difieren de un CPU comn en la capacidad de manejar en
un solo chip varios perifricos mediante sus puertos de entrada y salida, y sin
necesidad de conectarle memoria RAM y ROM de manera externa, esto a menos que
se requiera ms de la que posee el fabricante del chip, sin embargo es por este motivo
que existe en el mercado un amplia gama de microcontroladores con las cantidades de
recursos necesarias para la implementacin de las funciones que requieran una
cantidad mayor de memoria o de frecuencia de operacin. Cabe destacar que los
microcontroladores son de mucha utilidad cuando se requiere manipular un sistema que
requiera las caractersticas de un CPU pero dedicadas exclusivamente a una funcin en
especifico. El tamao y las caractersticas de este dependen de los recursos que este
pueda manejar, y la seleccin del ms ideal est directamente relacionada con esto ya
que en muchas ocasiones no se requieren grandes recursos y por este motivo no s
necesario invertir en un dispositivo costoso que ser mal aprovechado.
PERIFERICO
1
PERIFERICO
2

MICROPROCESADOR
MEMORIA
1
MEMORIA
2
VCC
GND
CLK
I/O CONTROL


61

3.2.1 Familias de microcontroladores

Tabla 3.2 Familia de microcontroladores en el mercado













3.2.2 PIC 18F452

Este dispositivo se encarga de diversas tareas dentro del sistema desarrollado, se
encarga de sincronizar la recepcin y envi de datos y de coordinar todas las tareas
que realiza el sistema mencionadas a continuacin:

Adquisicin de datos.
Visualizacin por pantalla de cristal lquido (LCD).
Deteccin de datos introducidos en el teclado matricial.
Ejecucin de algoritmo de identificacin por contrasea
Convertidor ADC para sensores analgicos.
Control de dispositivos XBee va EUSART.
EMPRESA 8 bits 12 bits 14 bits 16 bits 32 bits
Microchip
Familia
10f2xx
Familia
12Cxx de
12 bits
Familia
12Fxx,
16Cxx
y 16Fxx de
14 bits
(PIC16F87X)
18Cxx y
18Fxx de
16
bits
Pic 32
Freescale
68HC05
68HC08
68HC11
HCS08
No
fabricados
No
fabricados
68HC12
68HC16
683xx
68HCS12
68HCSX12
Hitachi H8
No
fabricados
No
fabricados
No
fabricados
No
fabricados
Intel
MCS-48
(familia
8048)
MCS51
(familia
8051)
8xC251
No
fabricados
No
fabricados
MCS96,
MXS296
No
fabricados
Nacional
Semiconductor
COP8
No
fabricados
No
fabricados
No
fabricados
No
fabricados


62

Se ha decidido utilizar el PIC18F452 por las caractersticas tcnicas que posee ya
que consta de mltiples herramientas que son necesarias para la realizacin de este
proyecto entre ellas la cantidad de puertos que se tienen dentro del microcontrolador y
la capacidad para poder manejar dentro de un mismo puerto seales analgicas y
digitales, as mismo el fabricante provee a los usuarios de mltiples ejemplos para la
manipulacin de diversas herramientas y funciones existentes dentro del dispositivo.
Las caractersticas importantes tomadas en cuenta para seleccin de este dispositivo
para su implantacin dentro de este proyecto son las siguientes:

Recursos contenidos dentro del PIC:

Memoria RAM suficiente para guardar los valores adquiridos de las seales
tanto de entrada como de salida, de tipo analgicos como digitales

Memoria EEPROM con posibilidad de escribir y borrar cuando se est
ejecutando el programa.

Memoria de programa FLASH, con una cantidad suficiente para grabar un
programa extenso y posibilidad de borrar y volver a escribir, no estando en
tiempo real.

Un convertidor A/D, til para la adquisicin de datos de diversos sensores sin
la necesidad de utilizar convertidores ADC externos, asimismo se cuenta con
8 canales analgicos para la recepcin de datos.

Se dispone de tres puertos de entrada-salida, de 8 bits, uno de 6 bits y uno de 3 bits.

Comunicacin con la pantalla de LCD por medio del puerto C y puerto D.
Monitoreo de sensores analgicos por el puerto A.
Entrada de teclado por medio del puerto B.
Envi y recepcin de datos en forma serial por el Puerto C.


63

Uno de los factores ms importantes para la seleccin de este dispositivo han sido
la cantidad de puertos que se tienen dentro del mismo dispositivo, ya que se hace uso
de varios de ellos al mismo tiempo por lo que era necesario utilizar un microcontrolador
con suficientes entradas y salidas para controlar diversos dispositivos, del mismo modo
quedando libres un puerto y algunos pines de entrada y salida, se incrementan las
posibilidades de ampliar las funciones del circuito en algn futuro o as mismo es
posible aumentar la memoria RAM. E importante conocer tambin lo antes mencionado
sobre la caracterstica que se tiene en el dispositivo de poder multiplicar cuatro veces la
frecuencia de oscilacin ya que se reducen interferencias generadas por osciladores de
ms alta frecuencia.

En la siguente tabla s emuestran las caracteristicas mas relevantes del PIC18F452:

Tabla 3.3 Caractersticas del PIC18F45

PIC18F452
Memoria de programa FLASH (14 bits) 32K
Memoria de datos RAM (8 bits) 1536
Memoria de datos EEPROM 256
Interrupciones 18
Frecuencia de operacin Hasta 40MHz
Puertos E/S
Puertos A, B, C, D, E

Timers 4
Modulo A/D de 10 bits 8 canales de entrada
Comunicacin serie EUSART





64

3.3 Pantalla de LCD de 4 x16

El display utilizado es el modelo JHD539M2, es una pantalla de cristal lquido
estndar de 4 filas por 16 caracteres y el controlador que utiliza es un KS0066 de la
empresa Samsung. El display puede incorpora luz backlight mediante la activacin de
los pines 15 y 16 a VCC y a GND respectivamente, as que el consumo que tiene
puede ser controlado si no se requiere de el uso de la luz de fondo. El dispositivo LCD
se controla a travs del puerto C y D, donde tres bits son de control y cuatro son los bits
que se utilizan para enviar datos.















Fig. 3.3 Esquema de conexin del PIC al LCD

Este dispositivo dispone de 16 pines de los cuales dos son para alimentacin (VSS
y VDD), 1 para ajuste de contraste (V0), 3 para control (RS, R/W y E) y los restantes 8
para transmisin/recepcin de datos (D0-D7). En la tabla 3. Se muestra el aspecto y
posicin de los pines de un mdulo LCD estndar. Existen tambin mdulos LCD que
disponen de 14 pines, usualmente no contienen pines para la iluminacin del LCD
mediante LEDs, comnmente llamado backlight o luz de fondo como se menciona
anteriormente. La forma ms sencilla de controlar los mdulos LCD es a travs de un
microcontrolador. Para ello se seleccion el PIC18F452 conectado al mdulo LCD
como se muestra en la figura 3.3.
Tabla 3.4 Pines de la LCD

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Vss VDD V0 Rs R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 LEDK LEDA
LCD



PIC
18F45
2
Bits de control
Bits de datos


65

3.4 Teclado matricial de 4x4

El teclado incorpora 16 teclas, las cuales estn conectadas de forma matricial, el
teclado funciona de la siguiente manera, todas las teclas se cuentan como activas
cuando en la entrada del PIC, este ve un 0. Por lo tanto la secuencia es la siguiente.
Primero se lee el estado de los primeros pines del puerto B, y se comprueba pin por pin
a ver si hay alguna a 0, en caso afirmativo el dispositivo identifica cual es y mediante
una rutina para convertir el dato a cdigo ASCII se puede enviar al LCD y mostrar dicho
dato.











Fig. 3.4 Teclado matricial


Al hacer uso del teclado matricial se sabe que este estar conformado por
interruptores de tipo push-boton, por lo que cuando este se cierra no hace contacto
inmediatamente con el otro extremo que se conecta con el interruptor, sino que tarda un
instante de tiempo en milisegundos en hacerlo, esto genera un rebote elctrico que
degenera en respuestas inesperadas por parte de nuestro sistema debido a que la
seal enviada oscila por un instante en un estado alto y bajo de manera intermitente.
Para corregir este problema es posible adicionar filtros al circuito para la atenuacin de
este rebote, sin embargo se ha preferido realizar la correccin mediante software. Se
sabe que el tiempo de este rebote es aproximado de 30ms, por lo que si se aumenta


66

un retardo igual a esta cantidad de tiempo cada vez que una tecla es presionada,
entonces estaremos realizando la lectura de la tecla cuando esta envi la seal
deseada y no ruido elctrico provocado por el rebote.








Fig. 3.5 Rebote generado al oprimir una tecla.

3.5 Comunicacin mediante C.I. MAX 232

Este circuito es de gran utilidad cuando se desean ajustar voltajes de comunicacin
serial a niveles TTL, en el caso de este trabajo es requerido ya que el modulo XBee
utilizado es manipulado de manera serial por lo que los datos recibidos son enviados
por medio del puerto USB mediante un adaptador RS-232 a USB, por tal motivo es
requerido este circuito que servir como interfaz para comunicar a l a computadora con
el modulo inalmbrico. Del mismo modo es necesario tener una interfaz para realizar
pruebas y configurar los parmetros mediante el software terminal o mediante el X-
CTU, software que provee el fabricante para la manipulacin de los mdulos por medio
del ordenador.










Fig. 3.6 Circuito integrado Max232


67

3.6 MPLAB C18
MPLAB C18 es un compilador de C, el cual produce cdigo que puede ser
ejecutado por la familia de microcontroladores de Microchip PIC18XXXX. En nuestro
caso, la plataforma utiliza el PIC18f452. MPLAB C18 toma sentencias estndares de C,
como por ejemplo "while (a!=b)", y las convierte en cdigo mquina del PIC18XXXX. El
cdigo fuente es compilado en bloques de cdigo de programa y datos, los cuales son
"enlazados" con otros bloques de cdigo y datos, los cuales luego son puestos en
varias regiones de la memoria del microcontrolador PIC18XXXX; este proceso es
llamado "construir", posteriormente es generado un archivo con extensin .asm, dicho
archivo es el que se introduce dentro del microcontrolador por medio de un
programador.

El compilador C18 y sus herramientas, como el ensamblador o el enlazador, pueden
construir un archivo .HEX, el cual puede ser programado en un microcontrolador
PIC18XXXX, en la figura 3.7 se encuentra la captura en pantalla del compilador.














Fig. 3.7 Compilador MPLAB C18



68

3.7 Software X-CTU
Si bien es cierto que es posible utilizar Hyperteminal de Windows para configurar un
mdulo XBee, existe un programa llamado X-CTU, el cual permite realizar estar
operaciones de manera ms natural, fcil y rpida. El ejecutable se puede encontrar en
la pgina de MCI ingeniera o en la pgina oficial de MAXSTREAM quien es el
fabricante de los mdulos XBee, mediante este software es posible configurar a los
mdulos y realizar un testeo entre ellos para determinar si fueron configurados de
manera optima, del mismo modo posee 2 maneras de llevar a cabo la configuracin,
una de ellas es de manera grafica y otra es mediante comandos AT, la primera es til si
se realiza una conexin hacia una computadora o si la configuracin ser esttica, sin
embargo si se requieren realizar cambios a la configuracin de manera constante o si la
configuracin la realizara un microcontrolador es necesario que sea por medio de
comandos AT.















Fig. 3.8 Software X-CTU, a la izquierda se encuentra la funcin de prueba de comunicacin, a la
izquierda las opciones a configurar.



69

3.8 Componentes del coordinador

Los modulos Xbee requieren de una terminal para ser programados, comunmente se
utiliza hyperterminal o algn software similar, para ello es necesario conectar el
dispositivo a uno de los puertos de la computadora, para lo cual comunmente se utiliza
una interfase serial directa o mediante un adaptador para el puerto USB, as mismo son
necesarios una serie de comandos llamados AT quienes son una utilidad cuando se
requiere un mediador entre la terminal y el usuario. La empresa encargada de
desarrollar los modulos Xbee a desarrollado un software con una terminal para la
manipulacin de comandos AT, y de igual manera dicho software propietario
denominado X-CTU maneja una interfaz grafica para la definicin de parametros en los
modulos. Dicho software se describira mas adelante, ahora corresponde el turno de
describir los componentes necesarios para interactuar el modulo con la computadora,
dicho modulo servira como coordinador de los demas dispositvos que esten enlazados
a el.



Fig. 3.9 Componentes de la interzaz con la computadora



70

3.9 Diseo del sistema terminal inalambrico 1


















Fig. 3.10 Diagrama a bloques del sistema terminal 1

El sistema terminal tiene una funcin de adquisicin de datos mediante un sensor
de temperatura el cual enva el dato adquirido hacia el microcontrolador por uno de sus
puertos analgicos, la funcin de dicho bloque es monitorear temperatura a distancia de
manera inalmbrica por medio de mdulos XBee, sin embargo el sistema se encarga
del mismo modo de controlar la apertura y cierre de accesos as como el encendido y
apagado de la ventilacin o iluminacin. Debido a lo anterior se requiere contar con un
men que tenga el papel de interfaz de usuario con el sistema, de este modo se podr
seleccionar mediante un men la opcin que el usuario desee, asimismo para dicha
tarea es de utilidad el colocar un teclado como perifrico de entrada hacia el sistema.
LCD



PIC
18F452
1 2 3 A
4 5 6 B
7 8
9 C
*
0 # E

MODULO
XBEE
ALIMENTACION
DE 5 v.
ALIMENTACION
DE 3.3 v.
PUERTO D
PUERTO C
PUERTO B
Tx/Rx
Sensor de
Temperatura
PUERTO A


71

3.9.1 Diseo del programa para el primer microcontrolador

El microcontrolador la interactuar con el usuario por medio de un tecl ado y una
pantalla de LCD cuenta con varios puertos de E/S que permiten controlar las funciones
de los dispositivos perifricos y los datos provenientes de manera analgica por parte
de sensores que pudiesen conectarse a l, de este mismo modo son coordi nados por el
microcontrolador la transmisin y recepcin de datos del modulo XBee que permiten
controlar las funciones implementadas en el hogar tal como el cierre y apertura de
puertas o encendido y apagado de ventilacin.

3.9.1.1 Lectura del teclado

























Fig. 3.11 Diagra de flujo para detectar tecla oprimida en el teclado.
Para esta tarea es utilizado por completo el puerto B, dividido en dos partes, la
primera de ellas formada por 4 bits enfocados a enviar hacia las filas del teclado un
dato que permite identificar mas a delante a la tecla oprimida, la segunda parte del
Verificar se presiona
alguna tecla
Tecla
presionada?
Recorrer renglones para
encontrar la columna
donde se oprimi la tecla.
Convertir en cdigo
ASCII la tecla oprimida.
Si
No
INICIO

INICIO


72

puerto igualmente formada por 4 bits reconoce si ha sido enviado por cualquiera de los
pines un dato diferente de 1, esto es porque inicialmente se enva solo 1s y un solo
cero hacia las filas y se varia la posicin de dicho cero de manera constante. Los datos
enviados hacia las filas para reconocer a la tecla oprimida son llamadas dentro del
programa cdigo de fila, y se enuncian a continuacin:
Tabla 3.5 Asignacin de cdigo para filas del teclado

Numero de Fila Cdigo asignado (hexadecimal)
1 FEh
2 FDh
3 FBh
4 F7h

Una vez asignados los valores a enviar para las filas se rastrea en las columnas de
una en una hasta encontrar aquella que posea un valor de cero a su entrada, esto
significara que se ha encontrado la tecla oprimida, dicho proceso se repite una y otra
vez en cada una de las filas y de manera continua mientras se mande a llamar la
funcin escrita para lectura de teclado. Por ltimo cuando la tecla oprimida es
encontrada se procede a cargar una variable con un dato en hexadecimal asignado
conforme a cada tecla, de este modo tendremos la lectura de un valor independiente y
diferente en cada caso, si se desea enviar caracteres hacia la LCD o hacia el modulo
XBee es necesario realizar la equivalencia con el cdigo ASCII, en la siguiente tabla se
muestran los datos asignados a cada tecla:
Tabla 3.6 Valores asignados a cada tecla y su equivalencia en ASCII


Tecla
0 1 2 3 4 5 6 7 8 9 A B C D E F
Valor
asignado

00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh
cdigo
ASCII

43h 30h 31h 32h 34h 35h 36h 37h 39h 41h 33h 37h 42h 46h 45h 44h


73

3.9.1.2 Men mostradopor la pantalla de LCD


















Fig. 3.12 Diagrama de flujo del men principal mostrado por la pantalla de LCD


El men se conforma por cuatro opciones principales las cuales contienen a su vez
otro submen y opciones para seleccionar la accin deseada tal como encender y
apagar la iluminacin en una habitacin en especfico, cada opcin contienen el cdigo
parara ejecutar las instrucciones pertinentes a el rubro seleccionado.

Cabe sealar que para efectos de orden se ha provisto realizar un cdigo fuente por
cada una de las opciones, dicho cdigo fuente es introducido dentro de una funcin en
lenguaje C, la anterior funcin es llamada cada vez que se decide accesar a una opcin
y es entonces cuando se ejecutan. Para ingresar a las opciones es utilizada una
sentencia de tipo switch en la cual se introduce la funcin construida con todas sus
instrucciones.
INICIO
Lectura del teclado
01h? 02h? 03h? 04h?
ACCESOS

VENTILACION

TEMPERATURA

ILUMINACIN

FIN


74


















Fig. 3.13 Diagrama de flujo de la opcin ACCESOS



























Fig. 3.14 Diagrama de flujo para Entrada
ACCESOS
Lectura del
teclado
01h? 02h? 03h? 04h?
FIN
ENTRADA
GARAGE
CAJA
FUERTE
BODEGA
ENTRADA, GARAGE
CAJA FUERTE, BODEGA
Lectura del teclado
01h? 02h? 03h? 04h?
A B C
D
01h?
Cerrar
Abrir
01h?
Cerrar
Abrir
01h?
Cerrar
Abrir
01h?
Cerrar
Abrir
FIN


75

































Fig. 3.15 Diagramas de flujo para lectura de temperatura y control de la ventilacin.

3.10 Diseo del sistema terminal inalmbrico 2

El sistema terminal inalmbrico 2 se enfoca al control a distancia de la ventilacin y
de la iluminacin, a diferencia del anterior este se encargara de emitir datos y desplegar
las acciones realizadas por medio de la pantalla de LCD, todo es regulado en este nodo
por una cadena de 8 bits que simbolizan cada uno una accin dentro de este nodo
terminal. El conjunto de datos es enviado y recibido por los mdulos inalmbricos XBee.
Los cambios se van desplegando por medio de un men que tiene el papel de interfaz
VENTILACION
Lectura del teclado
01h?
ON
OFF
FIN
TEMPERATURA
Seleccionar canal
analgico
Convertir dato
analgico a digital
Verificar si se ha
finalizado la conversin
Finalizo?
Leer canal ADC
C= Valor ledo por
(5/255)*100
FIN


76

de usuario con el sistema, de este modo se podr seleccionar mediante un men
programado posteriormente desde Visual Basic por medio de el ordenador, asimismo
con dicha tarea se demuestra que se pueden controlar de forma remota diversas
acciones por medio de mdulos inalmbricos XBee.

























Fig. 3.16 Diagrama a bloques del sistema terminal 2.

Las acciones efectuadas por este nodo son desplegadas en la pantalla, el men
principal es: Control de iluminacin, Control de ventilacin y la realizacin de un test de
conectividad, para cada una de estas opciones se ha designado un cdigo en
hexadecimal que lo identifica inmiscuido en una funcin dentro del programa del
microcontrolador. Asimismo se requiere del envi de un pulso que active cada uno de
los dispositivos terminales, en este caso ventiladores o lmparas, por ello es que se
encuentran libres 2 puertos del microcontrolador, por medio de los cuales se efecta el
envi del pulso anteriormente mencionado.

LCD



PIC
18F45
2

MODULO
XBEE
ALIMENTACIO
N DE 5 v.
ALIMENTACIO
N DE 3.3 v.
PUERTO
D
PUERTO C
PUERTO
B
Tx/Rx
PUERTO
A


77















Fig. 3.17 Diagrama de flijo para el encendido y apagado de lamparas.


















Fig. 3.18 Diagrama de flijo para el encendido y apagado de lamparas.
Lmpara N
Lectura de los datos
recibidos por el modulo
XBee

6Bh?
ON
OFF
FIN
Enviar 1s
Enviar 0s
ILUMINACIN
Lectura de los
datos recibidos por
el modulo XBee
6Bh? 6Dh? 70h? 71h?
Lmpara 1 Lmpara 3

Lmpara 4

Lmpara 5

FIN
6Ch?
Lmpara 2
73h?
Lmpara 6



78






















Fig. 3.19 Diagramas de flujo para la recepcin de temperatura y test de conectividad.
TEMPERATURA
Inicializar USART para
recepcin de datos.
Esperar a que finalice
la transmisin.
Leer el dato del buffer de
la USART.
Finalizo?
Desplegar en la
pantalla de LCD.
FIN
TEST
Inicializar USART para
recepcin de datos.
Esperar a que finalice
la transmisin.
Leer el dato del buffer de
la USART.
Finalizo?
Enviar por la USART
un 50h
FIN
70h?


79











Fig. 3.20 Diagrama de flijo para el encendido y apagado de ventiladores.













Fig. 3.21 Diagrama de flijo para el encendido y apagado de lamparas.
VENTILACIN
Lectura de los
datos recibidos por
el modulo XBee
41h? 43h? 44h?
Ventilador 1 Ventilador 3

Ventilador 4
FIN
42h?
Ventilador 2
Ventilador N
Lectura de los datos
recibidos por el modulo
XBee

41h?
ON
OFF
FIN
Enviar 1s
Enviar 0s


80

3.11 Acoplamiento ptico entre un sistema digital y una etapa de potencia

El microcontrolador realiza diversas operaciones de control, mismas que
deben enviadas hacia una etapa de potencia, esto por medio dispositivos como
pueden ser los tiristores ya sea triacs, scr, etc. para actuar sobre cargas resistivas
o inductivas, tal es el caso de los sistemas de iluminacin, o en el control de la
velocidad de motores, etc. Al manejar potencia, es decir la manipulacin de
corrientes altas, es necesario tener en cuenta la seguridad elctrica para la
operacin y proteccin del microcontrolador utilizado.

La relacin entre ambas etapas (la digital y la de potencia) se hace por medio de
un acoplamiento que haga posible aislar elctricamente los dos sistemas. Esto se logra
con los dispositivos llamados optoacopladores. La figura 3.22 muestra un acoplamiento
ptico y, al mismo tiempo, un aislamiento elctrico. Por ello tambin reciben el nombre
de optoaisladores. El acoplamiento se efecta en el rango del espectro infrarrojo a partir
de dispositivos emisores de luz, comnmente LEDs, estos realizan la funcin de un
emisor y por medio de dispositivos optodetectores se implementan los receptores.











Fig. 3.22 Configuracin De Un Optoacoplador.




81









Fig. 3.23 Figura y simbolo de un TRIAC

3.12 Puente H (L293B)

Los motores de C.D. Utilizados comnmente en domtica requieren de cierta
corriente a travs de sus bobinas, en el caso de este trabajo son ejemplificados por
medio de ventiladores que contienen motores de corriente directa. Dicha corriente es
muy elevada con respecto a lo que un microcontrolador puede soportar. Dado lo
anterior, es necesario utilizar un puente H por elemento inductivo si fuese el caso
de motores con ms de uno de estos elementos. Un puente H es un dispositivo
capaz de soportar el flujo bidireccional de corriente invertida.

El circuito integrado para el puente H que se ocup para el proyecto es un
LM293B y a partir de 2.3 hasta 7 volts se detecta un nivel alto, es decir, un 1 lgico y
un estado bajo, es decir, un 0 lgico, desde 0 hasta 1.5 volts .



Fig. 3.24 Diagrama esquemtico para LM293B.


82


CAPITULO IV

IMPLEMENTACIN
DEL PROTOTIPO















83

4.1 Propuesta de implementacin en una casa

Este proyecto se realiza con la intensin de ser implementado en una casa la cual
tuviera un alto sistema de seguridad en sus accesos donde solo gente autorizada
pudiese entrar. Asimismo se pretende dar un cierto grado de comodidad que en una
casa se debe que tener; agregando diversas funciones que pudieran ser
controladas de forma remota, o bien, que la casa se pudiera controlar, desde
abrir una puerta hasta encender un foco por comunicacin inalmbrica. Se ha
propuesto la organizacin de diversas habitaciones y lugares dentro de una casa donde
sera posible la implementacin del proyecto, esto considerando los elementos
principales que todo hogar tiene. (Vase figura 4.1)


















Fig. 4.1 Plano de la casa propuesta para la implementacin.



84















Fig. 4.2 Diseo en 3D de la Casa propuesta para la implementacin.

Esta casa cuenta con los siguientes elementos:

Puerta principal y puerta para la cochera, puerta para la recamara 1 y 2, puerta para
el bao y la cocina.
Cochera, 2 recamaras, bao, cocina, comedor.
Una sala comedor.
2 recamaras y un bao .
Un estudio dentro de la sala comedor.
Una puerta a la cochera.

Cada una de las estancias cuenta con una lmpara incandescente, es decir, la casa
cuenta con 6 lmparas en total y cuatro de las estancias se encontrara ventilada. La
casa cuenta con un sensor de temperatura que monitorea la misma en todo momento.
La casa a escala se puede controlar por un sistema de comunicacin inalmbrica.


85

4.2 Configuracin de los modulos XBee

Para comunicar el dispositivo ya sea para realizar pruebas con una computadora o
para utilizarla como interfase con un nodo coordinador se utiliza un circuito mediante el
cual se hace uso de la comunicaion serial, para lo anteriormente descrito se utiliza un
circuito integrado que se distribuye comercialmente con el nombre de MAX232, la tarea
de este elemento es transformar seales de tipo digital en rangos TTL a valores que
son reconocidos por las interfaces de tipo RS-232. Es posible hacer uso del puerto
serial de las computadoras para conectarse al circuito integrado, sin embargo resulta
mas practico utulizar un cable adaptador USB-RS-232, esto por el motivo principal de
que todas las computadoras modernas manejan mas este puerto. A si mismo para
comunicar el dispositivo mediante un microcontrolador es necesario manejar
comunicacin serial por lo que en la seleccin del microcontrolador que manejara datos
enviados por el dispositivo coordinador tendra que tomarse en cuanta esta
caracterstica.














Fig. 4.3 Diagrama esquematico para el coordinador y pruebas.


86











Fig. 4.4 Circuito Impreso del coordinador
4.2.1 Configuracion con el software X-CTU

La figura 4.5 mustra la pantalla pruncipal del software XCT-U, cuando el programa
es ejecutado se selecciona de manera predeterminada la pestaa PC Settings, en ella
se selecciona el puerto por el cual sera conectado el modulo y la tasa de transmision en
baudios a la cual el modulo envia y recibe datos, dicha tasa de transmision es
seleccionable entre 1200 y 230400 bps, para este proyecto se ha optado por utilizar
9600 bps.










Fig. 4.5 Captura en pantalla de la ventana principal del software XCT-U


87

Para determinar si la conexin de l modulo XBee con la computadora mediante el
circuito mostrado en la figura 4.4 es realizada de manera correcta se utiliza una funcin
incluida dentro del software llamada Test/Query. Una vez realizada la prueba el
programa arroja una ventana indicando que la conexin con el modulo es realizada de
modo exitoso, en caso contrario se muestra una ventana con un mensaje que indicara
que la conexin de la computadora con el dispositivo ha sido fallida, ambos casos se
muestran en la figura 4.5.












Fig. 4.6 A la izquierda se muestra la caprura en pantlla de una comunicacin exitosa, a la derecha se
muestra el resultado de una comunicacin fallida.

El dispositivo coordinador ser el elemento central dentro de la red, y este se
comunicara directamente con una computadora y un software con interfaz con el
usuario, dicho dispositivo se comunicara con mdulos XBee configurados como
dispositivos finales, los cuales pueden enviar datos al nodo central, sin embargo en este
caso no se encuentran configurados para enviar mensajes entre ellos directamente sin
pasar antes por el nodo central. Para que se la comunicacin antes mencionada es
imprescindible que sea configurada una direccin de 16 bits que representa el
dispositivo con el que se comunicara el nodo central, del mismo modo se configura la


88

direccin propia con la cual otros mdulos pueden intercambiar datos. La figura 4.7
muestra la forma de configurar al modulo.
















Fig. 4.7 Configuracion del modulo central.

Como se observa en la figura 4.7 las direcciones se introducen mediante comandos
AT, para accesar a este modo lo primero que se ha hecho es colocar +++ con este
comando se indica al modulo que se introducirn una serie de comandos, al primer
comando mostrado es ATMY, este tiene como consecuencia la introduccin hacia el
modulo de la direccin propia del modulo, para este caso se ah dispuesto que sea cero.
El comando siguiente es ATDL, el cual introduce la direccin de un modulo con el cual
se mantendr una comunicacin saliente del nodo central. Cabe sealar que no en
todos los casos es necesario colocar una direccin de destino, ya que el nodo central
en ocasiones solo se encarga de recolectar datos y no de enviar, en estos casos la
direccin de destino para el coordinador sale sobrando ya que no es de utilidad. Todas
las instrucciones son introducidas en la pestaa terminal, y son almacenadas en los


89

mdulos de forma permanente hasta que se sobrescriban, la figura 4.8 muestra la
pestaa Modem Configuration en la cual se puede ver todos los cambios realizados.





















Fig. 4.8 Elementos configurados dentro de los modulos XBee

4.3 Componentes del sistema terminal 1

Como se haba mencionado con anterioridad, la construccin del nodo terminal
tiene como objetivo controlar funcione de manera remota dentro de una casa domtica,
el objetivo es que el usuario pueda manipularlas y observar el estado fcilmente, por
tal motivo se cuenta dentro del circuito con un apantalla de LCD que muestra las
acciones realizadas que se ejecutan en base a lo que el usuario desea y del mismo
modo introduce mediante un teclado. En el capitulo anterior se describe a bloques el
diagrama mostrado en la figura 4.9, en la cual se muestran las conexiones entre los
dispositivos utilizados en el nodo terminal.


90
















Fig. 4.9 Diagrama esquematico del nodo terminal

En el diagrama esquemtico de la figura 4.9 se observa que el corazn de este
sistema es un microcontrolador, quien se encarga de coordinar todos los eventos que
ocurren de manera remota, la funcin de dicho sistema es controlar la apertura y cierre
de accesos, encendido y apagado de la ventilacin, monitoreo de temperatura y el
control de la iluminacin. Para el monitoreo de temperatura se ha introducido en el
sistema un sensor LM35, el cual tiene una variacin de 10mV /C, en base a esta
variacin se ha diseado el programa dentro del microcontrolador el cual nos da una
lectura en grados Celsius.

Cabe sealar que se ha procurado que los componentes de Hardware sean los
menos posibles, por tal motivo se ha hecho uso del sensor LM35 directamente en su
forma analgica conectndolo con un puerto analgico del microcontrolador. Para hacer
lectura del sensor de temperatura es necesario hacer uso de las funciones de
conversin ADC del PIC18F452.


91















Fig. 4.10 Circuito Impreso del nodo terminal.

En la figura 4.10 se muestra el circuito impreso y los elementos montados sobre ella
y en la figura 4.11 se ilustra la manera en que se encuentra el circuito del noto terminal
despus de insertar todos sus componentes, cabe sealar que para efectos prcticos
se ha dispuesto de reguladores de voltaje de 5 v. y 3.3 v. con el objetivo de unificar las
fuentes en una sola para todos los dispositivos.














Fig. 4.11 Circuiti impreso del nodo terminal con todos sus componentes.


92

4.3.1 Configuracin con el software XCT-U

En la figura 4.12 se muestra la configuracin de la direccin del nodo central, cuya
direccin de destino se propuso que fuera 1234, la direccin antes mencionada
corresponder ahora a la direccin del dispositivo que se encuentra funcionando en el
nodo terminal, en este caso la direccin de destino es aquella que hemos configurado
en la figura 4.7 como direccin de origen, los comandos introducidos para llevar a cabo
la configuracin anterior se muestran en la misma figura. Cabe sealar que cada vez
que se introduce un comando y este es recibido correctamente por el dispositivo se
mostrara un OK como respuesta, en caso contrario no existir dicho resultado.

















Fig. 4.12 Configuracion del modulo XBee del nodo terminal 1.


93

4.4 Componentes del sistema terminal 2

El nodo terminal 2 es del mismo modo que el anterior controlado por el nodo
principal tiene como objetivo controlar funcione de manera remota dentro de una casa
domtica, la finalidad es que el usuario pueda manipularlas y observar el estado
fcilmente, por tal motivo se cuenta dentro del circuito con un apantalla de LCD que
muestra las acciones realizadas que se ejecutan en base a la accin ejecutada, a
diferencia del anterior las funciones son seleccionadas desde el nodo principal y no con
un teclado, as mismo son emitidos pulsos que activan o desactivan la iluminacin y la
ventilacin. En la figura 4.13 se muestra el diagrama esquemtico del nodo terminal 2
donde el teclado no es requerido.




Fig. 4.13 Diagrama Esquematico del nodo terminal 2.


94

En la figura 4.14 se aprecia el circuito impreso con sus elementos montados sobre
ella se ilustra la manera en que se encuentra el circuito del noto terminal 2 despus de
insertar todos sus componentes, del mismo modo que al nodo terminal 1 ha sido
necesario para efectos prcticos disponer de reguladores de voltaje de 5 v. y 3.3 v. con
el objetivo de unificar las fuentes en una sola para todos los dispositivos. Asimismo se
observa la ausencia de un teclado el cual no es necesario para seleccionar la accin a
realizar.



















Fig. 4.14 Circuito impreso del nodo terminal 2.

4.4.1 Configuracin con el software XCT-U

Para la configuracin del modulo XBee de este nodo es necesario tomar en cuenta
los mismos parmetros que los dos anteriores, del mismo modo es necesario tener una
direccin de origen y una direccin destino, la direccin destino se conservara igual que
la del nodo terminal 1, esto en base a que el nodo principal es el mismo destino para
ambos nodos principales. Para el caso de la direccin propia del dispositivo XBee en
cuestin se ha propuesto 2222, la direccin antes mencionada corresponder ahora a
la direccin del dispositivo que se encuentra funcionando en el nodo terminal, en este


95

caso la direccin de destino es aquella que hemos configurado en la figura 4.7 como
direccin de origen. Para este nodo la direccin destino es la direccin 0, los
comandos introducidos para llevar a cabo la configuracin anterior se muestran en la
figura 4.15. Cabe sealar que cada vez que se introduce un comando y este es recibido
correctamente por el dispositivo se mostrara un OK como respuesta, en caso contrario
no existir dicho resultado.

El nodo terminal dos se encargara de enviar datos hacia el nodo principal, sin
embargo, en nodo terminal 1 tambin podr enviar datos hacia el nodo terminal 2 a
travs del nodo principal, esto es debido a que los tres dispositivos XBee se
encontraran relacionados por medio de las direcciones de destino y de origen.

























Fig. 4.15 Configuracion del modulo XBee para el nodo terminal 2.


96

4.5 Componentes del acoplamiento ptico entre en sistema digital y la etapa de
potencia
El principal motivo para llevar a cabo acoplamiento ptico y aislamiento
elctrico es por proteccin del microcontrolador ya que si en algn momento
ocurre un corto en la etapa de potencia, o cualquier otro tipo de anomala
elctrica, el optoacoplador protege a todo el circuito digital.







Fig. 4.16 Montaje Estndar Bsico Con Lgica Digital Positiva.

La figura 4.17 presentar la configuracin estndar empleada para hacer
acoplamiento ptico entre sistemas digitales y etapas de potencia. El montaje requerido
se selecciona de acuerdo con las caractersticas del sistema a estudiar.









Fig. 4.17 Circuito utilizado para la manipulacin de elementos de C.A.


97

4.6 Manipulacin de motores de C.A. con C.I. L293B
El movimiento de los ventiladores esta determinado segn las instrucciones que
envi el microcontrolador, as, cuando enve un nivel alto en la pata nmero 2
del elemento LM293B y al mismo tiempo enve un nivel bajo a la pata nmero 7 del
mismo circuito integrado, este componente enviar una seal a un motor desde la pata
3 y 6, el cual har girar un motor. Hay 4 ventiladores que se activan de acuerdo a la
salida entregada por parte del microcontrolador.







Fig. 4.18 Diagrama de conexin para el giro en un solo sentido del L293B








Fig. 4.19 Conexin al microcontrolador del L293B


98

4.7 La transmision serial del PIC 18F452

Fig. 4.20 Se muestra la inicializacin del modo de transmision serial.

La figura 4.20 nos muestra en con la funcin openUSART la inicializacin del
modo de transmision siincrona del microcontrolador. Para el presente trabajo se ha
escogido realizar el envio de datos en sere ya que es posible manipular mas facilmente
el modulo XBee de este modo, ya que unicamente utilziamos 2 pines del mimo
facilitando enormemete la interconexin entre el microcontrolador y el modulo
inalambrico.

Para la comunicacin serial es necesario agregar la librera usart.h a las libreras
manipuladas por el proyecto. Con esta librera se configura el modo de transmisin y
recepcin serie del microcontrolador 18F452.


99

Dentro del la funcin openUSART se configuran parmetros relacionados con el
modo de transmisin de datos que el microcontrolador efectuara, los puntos
importantes que se tienen que configurar son la habilitacin de la transmisin o la
recepcin, en el caso de este proyecto se ha seleccionado ambos, de este modo el
microcontrolador se encontrara listo para realizar un intercambio de informacin.
Otro parmetro de gran importancia es la configuracin del modo de transmisin ya
sea que este sea sncrono o asncrono, para nuestro caso se ha seleccionado el
asncrono debido a que el contenido de informacin que se transmite no requiere de
mayores atributos, esto es en base a que los bytes intercambiados solo tienen el
propsito de transportar informacin relativa a sensores y seales para activar o
desactivar dispositivos.
Para la configuracin de los parmetros es necesario revisar el manual de usuario
del compilador, el cual nos provee de las cadenas que reconoce la funcin
openUSART, en base a las cuales se varan los parmetros antes mencionados. La
tabla 8 muestra las cadenas que reconoce la funcin openUSART.
Tabla 4.1 Caracteres utilizados para la inicializacin de la transmisin de datos del modo serial















CADENA DESCRIPCION
USART_TX_INT_ON Activar transmisin de datos.
USART_TX_INT_OFF Desactivar transmisin de datos.
USART_RX_INT_ON Activar recepcin de datos.
USART_RX_INT_OFF Desactivar recepcin de datos.
USART_ASYNCH_MODE Activar transmisin asncrona.
USART_SYNCH_MODE Activar transmisin sncrona.
USART_EIGHT_BIT Utilizar 8 para cada trama.
USART_SINGLE_RX Tx / Rx datos con una separacin de tiempo.
USART_CONT_RX Transmitir y recibir datos de forma continua.
USART_BRGH_HIGH Alta tasa de transicin.
USART_BRGH_LOW Baja tasa de trasmisin.


100

4.8 Programacin del primer microcontrolador

El primer microcontrolador se encargara de controlar los accesos de manera remota
para lo cual es necesario que se cuente con una contrasea de entrada que permita
aumentar el nivel de seguridad en la permisin o restriccin de los accesos al recinto.
Otra opcin es el control de ventilacin e iluminacin de manera remota. El
microcontrolador se encargara de administrar el envi de los bytes que identifican a
cada una de las acciones antes mencionadas, y del mismo modo este microcontrolador
utiliza un sensor de temperatura LM35 para el monitoreo de la misma. En la figura 4.21
se observan las declaraciones de las funciones a ejecutar y las cadenas que
desplegara la pantalla de LCD.



















Fig. 4.21 Captura en pantalla del codigo fuente y la declaracin de las cadenas para el despliegue del
menu principal


101

4.8.1 Control de accesos

El uso de la transmisin serial se utiliza para enviar y recibir datos mediante la
computadora a los mdulos XBee, los cuales se retransmiten y finalmente un modulo
receptor enva de nuevo mediante transmisin serial hacia el microcontrolador, se ha
definido un valor determinado en hexadecimal para cada una de las acciones
realizadas. Para el control de accesos en el programa diseado se ha hecho uso de
sentencias Switch, en la figura 4.22 se observa parte de dicha sentencia en la cual se
ve la estructura de esta. Los bytes enviados son reconocidos por el nodo principal
conectado a la computadora y de este modo se reconoce la accin requerida.




















Fig. 4.22 Sentencia Switch para la apertura y cierre de la entrada principal.


102

Para cada accin requerida dentro de la funcin de ACCESOS se tiene
especificado un cdigo diferente que fue asignado para diferenciarlos entre s por parte
del nodo terminal, la tabla 9, muestra dichos valores.
Tabla 4.2 Valores hexadecimales enviados para los accesos.








4.8.2 Control de Ventilacin

Para el control de ventilacin se ha decidido ejemplificar con el control de 4
ventiladores colocados en la sala, la recamara 1, la recamara 2 y la cocina. En el
software se ejemplifican dichas acciones mediante el despliegue de imgenes como se
explicara ms adelante.
Tabla 4.3 Valores hexadecimales enviados para la ventilacin.
VALOR HEXADECIMAL ACCIN
61h Abrir la Entrada Principal
62h Cerrar la Entrada Principal
63h Abrir la puerta de la Recamara1
64h Cerrar la puerta de la Recamara1
65h Abrir la puerta de la Recamara 2
66h Crrar la puerta de la Recamara 2
67h Abrir la puerta del Garage
68h Cerrar la Puerta del Garage
VALOR HEXADECIMAL ACCIN
41h Activar el Ventilador de la Sala 1
42h Desacticar el Ventilador de la Sala 1
43h Activar el Ventilador de la Recamara 1
44h Desacticar el Ventilador de la Recamara 1
45h Activar el Ventilador de la Recamara 2
46h Desacticar el Ventilador de la Recamara 2
47h Activar el Ventilador de la Cocina
48h Desacticar el Ventilador de la Cocina


103

En la tabla 10 muestra los valores asignados para el caso de el control de la
ventilacin, del mismo modo que en el caso del control de accesos se hace uso de
sentencias Switch las cuales contienen las instrucciones a realizar en cada uno de
sus casos contenidos en ella, cada caso es seleccionado mediante la identificacin de
caracteres enviados por medio del teclado matricial. Para el despliegue del estado ON
y OFF se ha introducido un lapso de tiempo para borrar y volver a escribir el estado,
esto solo para fines estticos, ya que se decidi que el estado parpadeara cuando era
cambiado, de este modo es ms apreciable el cambio del mismo.





















Fig. 4.23 Sentencia Switch para el encendido y apagado de la ventilacin.


104

4.8.3 Monitoreo de temperatura



















Fig. 4.24 Rutina de adrquisicion de datos de temperatura.
Para el monitoreo de temperatura se ha hecho uso de un canal analgico del
microcontrolador, esto con la finalidad de no realizar un circuito externo, por lo cual al
rutina mostrada en la figura 4.24 contiene las instrucciones pertinentes para la lectura
de un dato analgico, debido a que los datos de temperatura se deben monitorear de
manera constante se ha introducido la rutina dentro de un bucle que permite realizar
lecturas ininterrumpidas sobre la temperatura, para realizar el envo de la informacin
tanto de unidades como de decimales de una manera ms optima se unen ambas en
una sola cifra, de esta forma se envan solamente datos enteros, la conversin se
realiza una vez que la informacin ha llegado.


105

4.8.4 Control de iluminacin


















Fig. 4.25 Control de iluminacin

Para el control de iluminacin se han diseado dos formas de hacerlo, una de ellas
es la presente. Esta enva datos desde el nodo terminal 1 hacia el nodo principal,
enseguida este retransmitir la instruccin hacia el nodo terminal 2 para finalmente
emitir la seal que activara al dispositivo luminoso. La segunda es el control directo
mediante el software diseado en Visual Basic. Se ha di spuesto manipular en
diferentes habitaciones la iluminacin, para lo cual se requiere del envo de un cdigo
que diferencie el encendido y el apagado entre dichas habitaciones. Para la emisin de
este conjunto de bytes e han propuesto diferentes bytes en hexadecimal para cada
caso. La tabla 11 muestra los diferentes conjuntos de bits para cada caso.


106

Tabla 4.4 Valores correspondiestes al control de iluminacin

4.9 Programacin del 2 microcontrolador
El segundo microcontrolador tiene la funcin de recibir e interpretar datos
provenientes del nodo principal a travs del modulo XBee conectado directamente al
nodo terminal 2. En este caso el microcontrolador se conecta con el modulo de
transmisin inalmbrica por medio de la USART, en ese caso las funciones son
principalmente implementadas para la recepcin de datos ya que este nodo es
destinado a demostrar que la informacin puede ser enviada y recibida por medio de
tecnologa ZigBee en este caso utilizando mdulos XBee.









Fig. 4.26 Cadenas mostradas en el men del nodo terminal 2.
VALOR HEXADECIMAL ACCIN
6Bh Activar la Iluminacin del Garage
6Ch Desactivar la Iluminacin del Garage
6Dh Activar la Iluminacin de la Recamara 1
6Eh Desactivar la Iluminacin de la Recamara 1
6Fh Activar la Iluminacin de la Recamara 2
70h Desactivar la Iluminacin de la Recamara 2
71h Activar la Iluminacin de la Cocina
72h Desactivar la Iluminacin de la Cocina


107

4.9.1 Monitoreo de temperatura




















Fig. 4.27 Monitoreo de temperatura en el nodo terminal 2.

El nodo terminal 2 recibe la temperatura reenviada por medio del software diseado
en Visual Basic, cada vez que el estado cambia en el nodo terminal 1 se enva a la
interfaz grafica, est a su vez la reenva al nodo terminal 2. La particularidad de esta
aplicacin es demostrar que los valores sensados de algn parmetro pueden ser
vistos de forma remota desde cualquier punto conectado dentro de la red implementada
mediante mdulos XBee. Dentro de la programacin propia del microcontrolador se ha
separado el dato en dos partes, una corresponde a las unidades y otra a los decimales,
lo anterior para que pueda ser desplegado de forma clara por la pantalla de LCD.


108

4.9.2 Control de ventilacin e iluminacion





















Fig. 4.28 Envio de datos para control de ventilacin.

Para el control de ventilacin e iluminacin igualmente se ha previsto el envi de un
cdigo previamente predeterminado que indica los cambios a realizarse en este rubro.
La figura 4.28 muestra la forma en la que se envan dichos valores hexadecimales,
existe una rutina del mismo tipo para cada uno de los ventiladores y lmparas a
controlar.



109

4.10 Desarrollo de la interfaz grffica
La interfaz grafica es propiamente una interfaz de tipo hombre mquina, que
tiene como objetivo crear un mecanismo que permita a un ser humano interactuar con
los dispositivos remotos para as determinar el estado de los mismos y conocer los
cambios registrados en variables fsicas tales como temperatura encendido y apagado
de la ventilacin o la apertura y cierre de puertas.

4.10.1 Descripcin de la aplicacin

Como ya se ha mencionado el softwae es indispensable para interactuar con el
usuario, debidoa esto dicha interfaz tiene como host a una computadora por medio de
la cual se puede controlar el sistema de dispositivos remotos, asi mismo se motitorean
los mismos, esta aplizacion se encarga de controlar los puertos sreales o USB del
ordenador , lo anterior con el firme objetovo de enviar informacion necesaria al modulo
XBee, mismo qu a su vez se encargara de enviar informacion al microcontrolador
18F452 quien aminstra las funciones programadas, y se ubica en las subrutinas
programadas en el.

Para la elaboracion de la interfaz hombre maquina se ha seleccionado el entorno
grfico de Visual Basic 6 ya que tiene la posibilidad de incluir un entorno grafico ms
amigable, asi mismo es posible controlar los puertos de la computadora, mismos que
son escenciales para poder disear unsistema de adquisicion de datos, del mismo
modo con el control de puertos es posible realizar interacin con hardware externo: El
entorno de desarrollo de Visual Basic 6 provee una sere de funciones que permiten
anipular de unamanera mas optima los parametross de los puertos tales como la tasa
de transmision y el tamao de la trama de bots a recibir. A continuacin se describe el
modo de funcionamiento de la interfaz grafica y la descripcion de las ventanas que se
han desarrollado para cada aplicacin.




110

4.10.2 Descripcin de la interfaz grfica

Fig. 4.29 Captura en pantalla de la interfaz grfica
En la figura 4.31 se observa la ventana principal como se puede observar, esta
pantalla invita al usuario a escoger un puerto USB disponible para la comunicacin,
la persona que utiliza el software es entonces capaz de elegir por lo tanto el puerto
deseado colocando el cursor sobre el mismo. Cuando se realiza esta accin, es
necesario pulsar el botn conectar, con lo anterior el programa habilitar el puerto
escogido y lo abrir, tenindolo listo tanto para la transmisin como para la
recepcin. Una vez determinado el puerto de comunicaciones, se puede observar
el Men del Sistema, el cual se encuentra constituido de: Iluminacin,
Temperatura, Ventilacin y un botn de Test de Conectividad que sirve para
realizar una prueba que determine si los mdulos envan y reciben datos de manera
correcta. La pantalla principal tambin cuenta con recuadros donde se muestra el
estado de los accesos y de la ventilacin mediante imgenes en movimiento.
2
3
1
4
5
6
7
8 9
10
11
12 13 14
15


111

Los diferentes elementos que conforman la pantalla principal de la interfaz grafica se
muestran en la siguientetabla:
Tabla 4.5 Descripcin de los elementos de la interfaz grfica.

# NOMBRE DESCRIPCIN
1 No. De puerto
Selecciona el numero de puerto a utilizar dentro de la
computadora.
2 Conectar
Habilita el puerto seleccionado para comenzar a enviar y
recibir datos.
3 Desconectar Cierra el puerto seleccionado.
4 Iluminacin Abre el panel de control para la iluminacin.
5 Temperatura Abre la ventana de monitoreo de temperatura.
6 Ventilacin Abre la ventana de control de ventilacin.
7
Test de
conectividad
Abre la ventana para realizar prueba de conectividad con
el modulo XBee.
8 Entrada Principal Muestra el estado mediante una imagen.
9 Puerta 1 Muestra el estado mediante una imagen.
10 Puerta2 Muestra el estado mediante una imagen.
11 Garage Muestra el estado mediante una imagen.
12
Ventilacin en
habitacin 1
Muestra el estado mediante una imagen.
13
Ventilacin en
habitacin 2
Muestra el estado mediante una imagen.
14
Ventlacin en la
sala
Muestra el estado mediante una imagen.
15
Ventilacin en la
cocina
Muestra el estado mediante una imagen.

La seleccin del puerto se ha colocado para poder migrar a algn otro disponible si
fuese necesario debido a que muchos otros dispositivos utilizan este puerto y por lo
tanto es posible que se encuentren ocupados. Dentro del men, el primer botn india
mediante una etiqueta textual la leyenda Iluminacin, al pulsar sobre l se abrir una
nueva ventana. La nueva instancia abierta tendr la opcin de encender o apagar un
conjunto de lmparas existentes en una casa habitacin.


112















Fig. 4.30 Ventana para control de Iluminacin














Fig. 4.31 Ventana para monitoreo de temperatura.


113

En la figura 4.33 se aprecia la ventana para el monitoreo de la temperatura, dentro
de la cual se despliega el dato enviado a travs del modulo XBee dentro del nodo
terminal 1. Del mismo modo se aprecia mediante una barra de termmetro el
incremento o decremento de la temperatura. Tanto el despliegue textual de las
magnitudes de la temperatura como la imagen del termmetro estn enlazados de tal
forma que cambian de estado en el mismo instante de tiempo. Dentro de la ventana
mencionada por ltimo se incluye un recuadro donde se mostrar una imagen que
indicar cuando la temperatura sea considerada como excesiva, motivo por el cual la
ventilacin se encender, y de este modo se pretende que la temperatura ambiental
dentro del recinto disminuya.

Como parte de las funciones del software elaborado mediante el entorno de
desarrollo de Visual Basic se ha considerado que para fines demostrativos era de gran
utilidad el incluir una rutina dentro del programa que verificara el envi y recepcin de
datos por medio de los mdulos inalmbricos con el objetivo de verificar su
funcionamiento y apreciarlo de forma ms grfica.














Fig. 4.32 Test de conectividad con los nodos terminales


114

Otra de las opciones que nos presenta la ventana principal, es la posibilidad de
seleccionar el elemento de ventilacin que se desea activar mediante otro formulario
con los elementos necesarios para encender y apagar de manera remota, sin embargo
a diferencia de la opcin presentada en la pantalla de presentacin del software, el
mando es tomado desde el ordenador y no por un nodo terminal.

















Fig. 4.33 Ventana para el control de ventilacin.

Cabe mencionar que el cdigo fuente para cada una de las ventanas se encuentra
dentro del mismo proyecto de visual basic, sin embargo ha sido necesario declarar la
apertura del puerto a utilizar al inicio de cada uno de ellos puesto que no se reconoce la
declaracin de este para diferentes formularios, sin embargo esto no interfiere con el
libre y correcto funcionamiento del software.



115






CAPITULO V

PRUEBAS Y
RESULTADOS








116

5.1 Prueba del sistema terminal 1

En el capitulo anterior se presenta la construccin de los nodos terminales y del
nodo central, en la figura 5.1 se aprecian ambos circuitos con todos sus dispositivos
montados. Los circuitos en cuestin funcionan de manera independiente en cada nodo,
es decir que cada circuito se comunica con el nodo central y este se encarga si fuese
necesario de transmitir el mensaje hacia el nodo terminal 2 o nodo terminal 1.


























Fig. 5.1 Circuitos impresos de ambos nodos terminales con los dispositivos montados.


117














Fig. 5.2 Menu principal del nodo terminal 1

La figura 5.2, muestra al circuito del nodo terminal 1 funcionando, en la pantalla se
muestran cuatro opciones a elegir mediante el teclado, las cual es son: Accesos,
Ventilacin, Temperatura e Iluminacin. Una vez que se selecciona la primer opcin de
las que se presentan ser mostrada una pantalla de un submen. Sin embargo debido
a que los accesos deben de otorgarse solo a aquellas personas de confianza se
protege mediante contrasea (vase figura 5.3).














Fig. 5.3 Contrasea para ingresar a alguno de los puntos de acceso.


118















Fig. 5.4 Submen para la opcion ACCESOS.

En la figura 5.3 se muestra la pantalla mostrada para pedir el ingreso de una
contrasea configurada dentro del programa introducido en el microcontrolador, si esta
es correcta se mostrara la pantalla siguiente donde se puede seleccionar el elemento al
que se le podr otorgarle la libertad de dar acceso o restringir dicho ingreso, estas
opciones tambin son seleccionadas mediante el teclado (vase figura 5.4).














Fig. 5.5 Seleccionar la apertura de algn acceso.


119

Una vez que se accede al submen de ACCESOS es posible permitir el acceso a
un recinto o bloquear el mismo, en la figura 5.5 como ya se menciono se aprecia la
pantalla mostrada cuando se accede a un recinto y en la figura 5.6 se muestra la
contraparte de este, es decir el cierre de un acceso. Para ambos casos anteriormente
sealados se enva un cdigo en hexadecimal que indica al software de control la
accin realizada.














Fig. 5. 6 Seleccionar el cierre de algun acceso.

Una vez seleccionada una de las dos opciones presentadas en la ltima pantalla
mostrada (vase figura 5.6) se puede retroceder en el men presionando la tecla A, y
de esta manera se pude retroceder y seleccionar otro de los accesos. Sin embargo si lo
que se desea es regresar al inicio el procedimiento es similar, pero en este caso se
debe presionar os veces repetidas la tecla A, ahora estando en el men principal ser
posible seleccionar una accin diferente. La figura 5.7 muestra la pantalla que aparece
una vez que se ha seleccionado la segunda opcin presentada por el men principal,
en este caso se trata de Ventilacin , del mismo modo que en los accesos, para
encender la ventilacin se presiona el 1 y para apagar la ventilacin se presiona el 2.



120

Regresando al men principal seleccionando ahora la tercera de las opciones se
encontrar la pantalla mostrada en la figura 5.8, lo anterior corresponde a el despliegue
de la temperatura ambiental monitoreada por el software programado en Visual Basic,
Cuando se selecciona esta opcin el modulo XBee enva la informacin de manera
constante del dato monitoreado.










Fig. 5.7 Monitoreo de temperatura ambiental.

La ltima de las opciones presentadas por la pantalla del nodo terminal 1 es la
posibilidad de controlar la iluminacin desde un mando remoto, se selecciona alguna de
las cuatro opciones y posteriormente el microcontrolador cambiara la pantalla a la
mostrada en la figura 5.10 dentro de la cual se controla de manera directa el encendido
y apagado.











Fig. 5.8 Activar o desactivar la iluminacin en un espacio.


121

5.2 Prueba del sistema terminal 2

El nodo terminal 2 es mostrado en la figura 5.11, en donde se encuentra con sus
componentes, a diferencia con el anterior este dispositivo recibir completamente datos
y solo enviara cuando se solicite realizar una prueba de conectividad, todas las
peticiones sern visualizadas por medio de la pantalla de LCD. La tablilla de circuito
impreso contiene headers hacia los puertos configurados como salida del
microcontrolador, dichos puerto son el puerto A y el puerto B. Lo anterior se ha
realizado con el objetivo de enlazar el nodo con dispositivos termi nales por medio de un
circuito de potencia como pueden ser lmparas y ventiladores.
























Fig. 5.9 Nodo terminal 2 con todos sus elementos.


122



















Fig. 5.10 Primer pantalla presentada por el nodo terminal 2.

La figura 5.12, ejemplifica al circuito del nodo terminal 2 cuando es encendido, en la
pantalla se muestran cuatro opciones posibles para ser seleccionadas por medio de
mando remoto a travs de los mdulos XBee, las opciones que componen el men
estn conformadas por: Temperatura, Ventilacin, Iluminacin y Test. La primea de las
opciones recibe el dato retransmitido por el nodo principal a cerca de la temperatura, y
es mostrada de igual forma que en nodo terminal 1.













Fig. 5.11 Pantalla presentada cuando es seleccionada la segunda opcin del men.


123

5.3 Prueba del software

Una vez que el software comienza a ejecutarse es necesario seleccionar el puerto
por el cual se conectara la computadora con el nodo central, enseguida se presionara
el botn Conectar por medio del cual se inicia la apertura del Puerto seleccionado
para la realizacin del envo de datos a travs de l.
















Fig. 5.12 Cierre de un acceso.

Cuando se recibe un byte con el cdigo correspondiente a alguno de los accesos
se despliega en el software una imagen con una puerta cerrada o abierta segn sea el
caso, tambin salta una ventana de alerta indicando la accin realizada. Para cada
movimiento realizado en el cual se encuentra involucrado el software despus de ser
ejecutado se muestra u instante un plano en donde se marca la posicin del elemento
y una imagen del elemento en 3D.




124
















Fig. 5.13 Muestra del plano con la ubicacin marcada en el lugar del cierre de la entrada principal.















Fig. 5. 14 La imagen muestra el estado de la entada principal y una ventana de alerta tambin indica la
accin tomada.


125
















Fig. 5.15 Muestra del plano en el cual se encuentra el acceso principal.




















Fig. 5.16 Monitoreo de la temperatura por medio del software.


126

















Fig. 5.17 Prueba de conectividad.

En la figura 5.21 se puede ver que al momento de realizar algn movimiento sobre
la iluminacin o apertura de algn acceso se produce un sealamiento dentro de un
pequeo plano de la casa, de este modo es ms fcil darse una idea de los eventos
que van sucediendo a causa de las decisiones tomadas de manera remota. En la figura
5.22 se presenta la captura en pantalla del software una vez que ha comenzado a
monitorear la temperatura en tiempo real, donde se activa tambin una imagen que
muestra un ventilador girando, esto a manera de indicador cuando la temperatura
excede los 28 C, indicando as que es momento de activar la ventilacin. La figura
5.23 se ilustra la ventana que corresponde a la funcin de test de conectividad donde
es posible identificar si las conexiones con los mdulos se han llevado a cabo.






127

5.4 Rango de alcance

Se realizaron pruebas con los circuitos impresos y los mdulos XBee, esto con el fin
de comprobar el alcance que nos brindan los mdulos. De los parmetros ms
determinantes en este aspecto se encuentran los obstculos mismos que pueden ser
las paredes, puertas y ventanas, las cuales son inevitables en las aplicaciones de
redes inalmbricas. En estas condiciones es de gran utilidad especificar el rango de
alcance de los dispositivos.

Primero se experiment dentro de distancias pequeas y dentro de una
misma habitacin, como es el caso de una sala , en donde se obtuvieron
resultados ptimos en cunto a funcionamiento y nivel de seal del mdulo
remoto, pues ste trabaj de manera adecuada y adems capt una buena seal. Los
dos dispositivos se comunicaron sin ningn problema presentando los valores
adquiridos tanto en la pantalla del PC como en el LCD.






















Fig. 5.18 Datos recibidos en las pruebas mediante el monitoreo de temperatura.


128

En la figura 5.24 se observan los datos en hexadecimal recibidos por el nodo
principal. Se ha realizado esta prueba con el monitoreo de temperatura ya que esta
opcin permite recibir datos de manera continua. Luego se aument un poco ms la
distancia. El mdulo terminal se coloc en una habitacin, mientras que el mdulo
coordinador junto con el host fue trasladado a otra habitacin. Bajo estas condiciones
el prototipo respondi an de manera ptima, ya que sigui actuando de forma
correcta y con un buen nivel de seal.



























Fig. 5.19 Datos recibidos con algunos errores.


Finalmente se procedi a colocar al mdulo base en el extremo ms apartado con
respecto al mdulo terminal; es decir, fueron separadas la mayor distancia posible
entre s con el fin de comprobar si en estas condiciones exista algn problema.
Realizando las correspondientes pruebas al prototipo, se pudo comprobar que


129

segua funcionando sin ningn problema a una distancia de hasta 50 metros,
aproximadamente con obstculos . En la imagen 5.25 se observa en algunas partes
que el dato en hexadecimal no es un numero, en base a que nunca se envan datos
que representen caracteres diferentes de algn numero, se puede afirmar que a partir
de esta distancia se comienzan a recibir perdidas en la transmisin debido a los
variados obstculos que siempre hay en una casa.

5.5 Muestra del estado de la ventilacin e iluminacin

Para mostrar el cambio de estado de la ventilacin e iluminacin se han colocado
dentro del software en Visual Basic imgenes que cambian de acuerdo a la peticin
realizada desde los nodos terminales, sin embargo para efectos demostrativos se ha
colocado una tablilla con bombillas y ventiladores de C.D., con lo anterior se demuestra
que es posible agregar al sistema de comunicacin de manera sencilla elementos que
requieran cierto nivel de potencia, lo anterior anexando algunos elementos descritos
anteriormente.





















Fig. 5. 20 Tablilla con bombillas de C.A. y ventiladores de C.D.


130

CONCLUSIONES

Al finalizar este trabajo de tesis se ha comprobado la posibilidad de implementar un
red con tecnologa ZigBee para la adquisicin de datos y el control de dispositivos tiene
una buena calidad de enlace, asimismo se ha corroborado que al realizar un prototipo
que sea funcional de manera remota hace ms fcil la manipulacin de diversas
variables as como permitir la lectura en cualquier momento haciendo uso de una PC o
de un nodo terminal sin necesidad de estar en el lugar preciso. Por lo anterior se puede
afirmar que mediante un prototipo como el construido se facilitan las tareas
relacionadas con la observacin y manipulacin a distancia de mltiples dispositivos
sensores.

La utilizacin de diversos aparatos que funcionen bajo rangos de frecuencia
similares no afecta en el desempeo del prototipo pues al estar en contacto con ellos no
se ha presentado fallas en la transmisin. Uno de los beneficios de utilizar la tecnologa
ZigBee es la mejora de transmisin de datos entre diversos dispositivos tomando en
cuenta la distancia que sta puede proporcionar, la cual en zonas abiertas alcanza los
100 metros.

Comparando la distancia mencionada en el prrafo anterior con las distancias
manejadas por otras tecnologas inalmbricas a nivel PAN, ZigBee es capaz de lograr
un mayor alcance y un menor consumo de energa. Los estndares inalmbricos ms
populares como por ejemplo el Bluetooth, no
satisfacen las necesidades de la automatizacin y control ya que no han sido
diseados considerando estas razones como premisas, tal es el caso de Bluetooth el
cual ha sido diseado para aplicaciones en las Telecomunicaciones, audio, etc.

Gracias a la ausencia de cableado en la implementacin de una red con tecnologa
ZigBee es ms sencillo realizar la implementacin de la misma ya que no es necesario
bajo ninguna circunstancia colocar otros materiales tales como canaletas o conectores,
dichos elementos demoran el proceso de implementacin y claramente cambian el


131

aspecto del lugar donde sean implementados, lo anterior no es necesario si lo que se
busca es solo comunicacin con fines como el propio de este proyecto: monitoreo de
sensores control de dispositivos en forma remota o algn uso que no requiere de un
ancho de banda muy grande.

Los elementos necesarios para implementar un protocolo de comunicacin
inalmbrico en un hogar domtico son un microcontrolador, los modulados de
comunicacin, sensores y actuadores acordes a las variables que se desea manipular y
una interfaz grfica.

El microcontrolador PIC18F452 es un elemento que tiene los elementos y
caractersticas necesarias para la implementacin de un mando remoto como el
presente en este trabajo. Estas caractersticas nos permiten concluir que al
momento de utilizarlo como elemento de procesamiento de datos provee a nuestro
sistema de comunicaciones la inteligencia necesaria para cumplir con las tareas
asignadas.

El uso de una interfaz grfica facilita la visualizacin y manipulacin de los sensores
o actuadores por parte del usuario ya que este no necesita realizar configuraciones
directas al mdulo.

El estndar ZigBee es un conjunto de protocolos de comunicacin inalmbrica de
bajo consumo, basado en el estndar 802.15.4 de redes WPANs, este estndar se
caracteriza por haber sido diseado para funciones y en aplicaciones que requieren una
comunicacin segura con una baja tasa de envi de datos, por lo cual de acuerdo a
estas caractersticas lo hacen ideal para utilizarlo como sistema de comunicacin
entre los dispositivos y elementos de una casa, ya que en ningn caso se requiere de
elevadas tasas de transmisin.



132


/////////////////////////////////////////////////////////////////////////////
////////CASTILLO BAUTISTA BRAULIO ANTONIO
////////PIC18F452
////////SISTEMA DE CONTROL DOMOTICO
/////////////////////////////////////////////////////////////////////////////
#include <p18f452.h> // Registros del PIC a utilizar
#include <portb.h> // Funciones sobre el Puerto B
#include <delays.h> // Rutinas de retardo
#include <LCD16x4_2.h>//ruta del archivo en mi PC
#include <usart.h>
#include <adc.h>
#include <stdlib.h>
/* Configuracin de Bits de Microchip */
#pragma config LVP = OFF
#pragma config WDT = OFF
#pragma config OSC = XT
////////////////////////////////
#define Col1 PORTBbits.RB4 // Define la Columna 1
#define Col2 PORTBbits.RB5 // Define la Columna 2
#define Col3 PORTBbits.RB6 // Define la Columna 3
#define Col4 PORTBbits.RB7 // Define la Columna 4
void Inicializa_Puerto(void); // Prototipo de funcion, incializa Puerto
void Visualiza_Tecla(void); // Prototipo de funcion, valor de tecla
void Lee_Teclado(); // Prototipo de funcion, lee el teclado
void transmicion(void);
void accesos(void);
void temperatura(void);
void ventilacion(void);
void iluminacion(void);
unsigned char Tecla,comandoinc,
/* Teclado matricial */
Teclado[4][4] = { 0X01, 0X02, 0X03, 0X0A,
0X04, 0X05, 0X06, 0X0B,
0X07, 0X08, 0X09, 0X0C,
0X00, 0X0F, 0X0E, 0X0D
},

/* Codigo en ASCII a desplegar en LCD */
Display[16] = { 0X30, 0X31, 0X32, 0X33,
0X34, 0X35, 0X36, 0X37,
0X38, 0X39, 0X41, 0X42,
0X43, 0X44, 0X45, 0X46
};

char mensaje[]="Tecla oprimida:";
char opcion1[]="[1] ACCESOS ";
char opcion2[]="[2] VENTILACION ";
char opcion3[]="[3] TEMPERATURA ";
char opcion4[]="[4] ILUMINACION ";
char borrar[]=" ";
char mensaje_eco1[]="send",recepcion_eco1[16],recepcion;
int i=0,j=1,value,T,dec, pass[6]={0x00,0x00,0x00,0x00,0x00,0x00};
unsigned int canal0;
float ADCtemp;

char String[],cadena[],cadenadec[];

//***************************************************************
//inicio del programa prncipal
//***************************************************************
void main(void)
{

TRISB = 0xF0;
TRISC = 0x80;
PORTC = 0x00;
TRISD = 0x00;
PORTD = 0x00;
Tecla=0;
Inicializa_LCD();
Comando_LCD(CURSOR_OFF & BLINK_OFF);
EnablePullups();// Activa resistencias Pull Up
OpenUSART ( USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH,
25);

while(i!=4){
Delay10TCYx(100);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD("================");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" I.P.N. " );
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" E.S.I.M.E. " );
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("================");
i++;
}
menu1:
Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(opcion1);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(opcion2);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(opcion3);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(opcion4);
Tecla=0;
while(Tecla==0){
Lee_Teclado();

//Visualiza_Tecla();
}
switch(Tecla){

case 0x01:
accesos();
goto menu1;
break;

case 0x02:
ventilacion();
goto menu1;
break;

case 0x03:
temperatura();
goto menu1;
break;

case 0x04:
iluminacion();
goto menu1;
break;
}//fin de la estructura switch

while(1){
}
}
////////////fin del programa principal
///////////////////////////////////////////////////////////////////////////////////////////
////////////////////Definicin de funciones//////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
/* Lee el teclado en busca de alguna tecla oprimida */
void Lee_Teclado()
{
unsigned char Fila,
Control[4] = {0xFE, 0xFD,0xFB, 0xF7};
// Codigo de Fila a controlar de F1 a F4
PORTB = 0xFF;// Teclado desconectado

for(Fila = 0; Fila <= 3; Fila++) // Control de Fila
{
PORTB = Control[Fila];
Delay1KTCYx(20);
if(Col1 == 0) // Columna 1 ?
Tecla = Teclado[Fila][0];
if(Col2 == 0) // Columna 2 ?
Tecla = Teclado[Fila][1];
if(Col3 == 0) // Columna 3 ?
Tecla = Teclado[Fila][2];
if(Col4 == 0) // Columna 4 ?
Tecla = Teclado[Fila][3];
ANEXO I: PROGRAMA DEL PRIMER MICROCONTROLADOR




133

}//fin del ciclo for
}
void Visualiza_Tecla(void)
{
//Comando_LCD(DDRAM_LINEA_2);
Comando_LCD(0XD3);
Dato_LCD(Display[Tecla]);//una cadena desde la memoria de datos
}
void accesos(void){
Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" A C C E S O S ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD("================");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD("Password: ");
salto2: Comando_LCD(0xD3);

//*password de acceso*//
Tecla=0;
nadatecleado:
while(Tecla!=0x01){
Lee_Teclado();
//Visualiza_Tecla();

pass[1]=Tecla;
if(pass[1]==0){goto nadatecleado;}
else{
if((Tecla!=0x01)){
Comando_LCD(0xD5);
Datos_LCD("*");
goto sigdigito; }

}
i++;
}//pprimer digito correcto
Comando_LCD(0XD5);
Datos_LCD("*");
sigdigito:
nadatecleado2:
while(Tecla!=0x02){
Lee_Teclado();
//Visualiza_Tecla();
pass[2]=Tecla;

if((pass[2]==0x01)||(pass[2]==0)){goto nadatecleado2;}
else{
if((Tecla!=0x02)){
Comando_LCD(0xD6);
Datos_LCD("*");
goto sigdigito2; }
}
; } //seg digito correcto

Comando_LCD(0XD6);
Datos_LCD("*");
sigdigito2:

nadatecleado3:
while(Tecla!=0x03){
Lee_Teclado();
//Visualiza_Tecla();
pass[3]=Tecla;
if(pass[3]==0x01||pass[3]==0||pass[3]==0x02){goto
nadatecleado3;}
else{
if((Tecla!=0x03)&&(Tecla!=0)){
Comando_LCD(0xD7);
Datos_LCD("*");
goto sigdigito3; }
}//else

i++; }//tercer digito correcto

Comando_LCD(0XD7);
Datos_LCD("*");
sigdigito3:

nadatecleado4:
while(Tecla!=0x04){

Lee_Teclado();
// Visualiza_Tecla();
pass[4]=Tecla;
if(pass[4]==0||pass[4]==1||pass[4]==2||pass[4]==3){goto nadatecleado4;}
else{
if((Tecla!=0x04)&&(Tecla!=0)){
Comando_LCD(0xD8);
Datos_LCD("*");
goto sigdigito4; }
}//fin else

i++; }//cuarto digito correcto

Comando_LCD(0XD8);
Datos_LCD("*");

sigdigito4:

nadatecleado5:
while(Tecla!=0x05){

Lee_Teclado();
//Visualiza_Tecla();
pass[5]=Tecla;

if(pass[5]==0||pass[5]==1||pass[5]==2||pass[5]==3||pass[4]){goto nadatecleado5;}
else{
if(Tecla!=0x05&&Tecla!=0){
Comando_LCD(0xD9);
Datos_LCD("*");
goto sigdigito5; }
}//fin else

i++; }//quinto digito correcto
sigdigito5:
Comando_LCD(0XD9);
Datos_LCD("*");

while(Tecla!=0x06){
Lee_Teclado();
// Visualiza_Tecla();
pass[6]=Tecla;

}//sexto digito correcto

Comando_LCD(0XDA);
Datos_LCD("*");

Tecla=0;
while(Tecla!=0x01){
Lee_Teclado();}

Tecla=0;
while(Tecla!=0x02){
Lee_Teclado();}

Tecla=0;
while(Tecla!=0x03){
Lee_Teclado();}
Tecla=0;
while(Tecla!=0x04){
Lee_Teclado();}
Tecla=0;
while(Tecla!=0x05){
Lee_Teclado();}
Tecla=0;
while(Tecla!=0x06){
Lee_Teclado();}


if((pass[1]==0x01)&&(pass[2]==0x02)&&(pass[3]==0x03)&&(pass[4]==0x04)&&(pa
ss[5]==0x05)&&(pass[6]==0x06)){


134


Tecla=0x00;
goto salto;

}
else{
i=0;
while(i!=5){
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" PASSWORD ");
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD(" ERRONEO ");
Delay10TCYx(100);
i++;}
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(borrar);
goto salto2;}
////////////////esta bien
//final password
salto:
finaccesos:
Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" [1] E.Principal ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [2] Recamara 1");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" [3] Recamaea 2");
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD(" [4] Garage");
//segunda funcion switch para submenu

Tecla=0;
while(Tecla==0){Lee_Teclado();}

switch(Tecla){
case 0x01:
Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" [1] Entrada ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD("================");
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("[1]A [2]C");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" ABIERTO ");

while(1){
Tecla=0;
while(Tecla==0){Lee_Teclado();}
switch(Tecla){
case 0x01:

while(BusyUSART());// Esperar a que el bffer de salida este vacio
WriteUSART(0x61); //enviar un 61h para abrir la entrada principal

i=0;
while(i<5){
Delay10TCYx(80);// Retaedo para activar parpadeo de la cadena enviada
Comando_LCD(DDRAM_LINEA_3);//posicionarse en la linea 3 de la LCD
Datos_LCD(" ABIERTO ");//Enviar la cadena "ABIERTO" a la LCD
Delay10TCYx(80);;// Retaedo para activar parpadeo de la cadena enviada
Comando_LCD(DDRAM_LINEA_3);//posicionarse en la linea 3 de la LCD

Datos_LCD(" ");//Borrado de la linea 3 de la pantalla de LCD
Delay10TCYx(80);// Retaedo para activar parpadeo de la cadena enviada
Comando_LCD(DDRAM_LINEA_3);//posicionarse en la linea 3 de la LCD
Datos_LCD(" ABIERTO ");//Enviar la cadena "ABIERTO" a la LCD

i++;
}
Tecla=0;
break;

case 0x02:

while(BusyUSART());// Esperar a que el bffer de salida este vacio
WriteUSART(0x62);//enviar un 62h para abrir la entrada principal
i=0;
while(i<5){

Delay10TCYx(80);// Retaedo para activar parpadeo de la cadena enviada
Comando_LCD(DDRAM_LINEA_3);//posicionarse en la linea 3 de la LCD
Datos_LCD(" CERRADO ");//Enviar la cadena "CERRADO" a la LCD

Delay10TCYx(80);// Retaedo para activar parpadeo de la cadena enviada
Comando_LCD(DDRAM_LINEA_3);//posicionarse en la linea 3 de la LCD

Datos_LCD(" ");//Borrado de la linea 3 de la pantalla de LCD
Delay10TCYx(80);// Retaedo para activar parpadeo de la cadena enviada
Comando_LCD(DDRAM_LINEA_3);//posicionarse en la linea 3 de la LCD
Datos_LCD(" CERRADO ");//Enviar la cadena "CERRADO" a la LCD
i++;

}
Tecla=0;

break;
case 0x0A: Tecla=0x00;
goto finaccesos;

break;

}//fin switch para entrada
}//fin while infinito

break;
case 0x02:
Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4)
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" [2] Garage ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD("================");

Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("[1]A [2]C");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" ABIERTO ");
while(1){
Tecla=0;
while(Tecla==0){Lee_Teclado();}
switch(Tecla)

case 0x01:
while(BusyUSART())
WriteUSART(0x63);
i=0;
while(i<5){
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" ABIERTO ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" ABIERTO ");


135


i++;

}

break;
case 0x02:
while(BusyUSART());
WriteUSART(0x64);
i=0;
while(i<5){

Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" CERRADO ");

Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);


Datos_LCD(" ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" CERRADO ");
i++;

}
break;
case 0x0A: Tecla=0x00;
goto finaccesos;
break;
}//fin switch para entrada

}//fin while infinito
break;
case 0x03:

Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" [3] Caja fuerte ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD("================");

Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("[1]A [2]C");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" ABIERTO ");

while(1){

Tecla=0;
while(Tecla==0){Lee_Teclado();}
switch(Tecla){
case 0x01:

while(BusyUSART());
WriteUSART(0x65);

i=0;
while(i<5){

Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" ABIERTO ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);

Datos_LCD(" ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" ABIERTO ");
i++;
}

break;
case 0x02:
while(BusyUSART());
WriteUSART(0x66);
i=0;
while(i<5){


Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" CERRADO ");


Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);


Datos_LCD(" ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" CERRADO ");


i++;
}


break;
case 0x0A: Tecla=0x00;
goto finaccesos;
break;

}//fin switch para entrada
}//fin while infinito

break;
case 0x04:

Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" [4] Bodega ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD("================");
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("[1]A [2]C");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" ABIERTO ");
while(1){

Tecla=0;
while(Tecla==0){Lee_Teclado();}

switch(Tecla){
case 0x01:
while(BusyUSART());
WriteUSART(0x67);

i=0;
while(i<5){


Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);

Datos_LCD(" ABIERTO ");


Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);


136

Datos_LCD(" ABIERTO ");


i++;
}


break;
case 0x02:
while(BusyUSART());
WriteUSART(0x68);
i=0;
while(i<5){


Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" CERRADO ");

Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" CERRADO ");
i++;
}
break;
case 0x0A: Tecla=0x00;
goto finaccesos;

break;

}//fin switch para entrada

}//fin while infinito

break;
case 0x0A:
break;

;}//fin de la funcin swithc para el submenu
}

void ventilacion(void){

Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" VENTILACION ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD("================");
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("[1]ON [2]OFF");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Estado:ON ");


while(1){

Tecla=0;
while(Tecla==0){Lee_Teclado();}

switch(Tecla){

case 0x01:

// esperar a qu el buffer de salida se encuentre vacio
while(BusyUSART());
// enviar un 41eh para establecer encendido del ventilador
WriteUSART(0x41);

i=0;
while(i<5){

//Lapso de tiempo para parpadeo de mensajes

Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3); //Posicionamiento en linea 3
Datos_LCD(" Estado:ON "); // escritura de cadena en la pantalla de LCD

Delay10TCYx(80);//Lapso
de tiempo para parpadeo de mensajes
Comando_LCD(DDRAM_LINEA_3);//Posicionamiento en linea 3

Datos_LCD(" Estado: ");// escritura de cadena en la pantalla de LCD
Delay10TCYx(80);//Lapso de tiempo para parpadeo de mensajes
Comando_LCD(DDRAM_LINEA_3);//Posicionamiento en linea 3
Datos_LCD(" Estado:ON ");// escritura de cadena en la pantalla de LCD
i++;

}

break;
case 0x02:
while(BusyUSART());// esperar a qeu el biffer de salida se encuentre vacio
WriteUSART(0x42);// enviar un 41h para establecer encendido del ventilador
i=0;
while(i<5){


Delay10TCYx(80);// escritura de cadena en la pantalla de LCD
Comando_LCD(DDRAM_LINEA_3);//Posicionamiento en linea 3

Datos_LCD(" Estado: ");// escritura de cadena en la pantalla de LCD
Delay10TCYx(80);// escritura de cadena en la pantalla de LCD
Comando_LCD(DDRAM_LINEA_3);//Posicionamiento en linea 3
Datos_LCD(" Estado:OFF ");// escritura de cadena en la pantalla de LCD
i++;

}
break;
case 0x0A: Tecla=0x00;
goto finventilacion;

break;

}//fin switch para ventilacin
}//fin while infinito
finventilacion:
;}//fin case2

/////CASO 3 DEL MENU PRINCIPAL
void temperatura(void){
/* Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" TEMPERATURA ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD("================");
OpenADC( ADC_FOSC_RC &
ADC_RIGHT_JUST &
ADC_1ANA_0REF,
ADC_CH0 &
ADC_INT_OFF );

while(1){
SetChanADC(0); //Seleccin del canal analgico
//retardo para garantizar una lectura en el canal analgico.
Delay10TCYx(2);
ConvertADC();//comenzar la conversin de analgico a digital

while(BusyADC()==1){ //verificar si la conversin ya fue realizada
}

canal0=ReadADC();// si la conversin fue realizada se leer el canal

ADCtemp=(canal0/1.9607843); //conversin a grados centgrados


137

Comando_LCD(DDRAM_LINEA_3);// situarse en la linea 3 de la LCD
// Dato_LCD('0x69');

//ADCtemp=ADCtemp*100;
Comando_LCD(0XDC);//una posicin especfica en al LCD
Datos_LCD(" 'C");// desplegar el caracter C
itoa(ADCtemp, String);// convertir un dato entero auna cadena
T=atoi(String);// almacenar el dato sin concertir en la variable T
Comando_LCD(0XD3);//una posicin especfica en la LCD
Dato_String_LCD(String);// imprimir las unidades en la pantalal de LCD
T=T*100;// vizualizar los decimales como enteros
ADCtemp=ADCtemp*100;//igualar magnitud con los decimales
dec=ADCtemp-T;// obtener los decimales a desplegar en la LCD
itoa(dec, cadenadec);// convertir los datos enteros de los decimales a una cadena
Comando_LCD(0XD9);//Una posicin especfica en la LCD
Dato_String_LCD(cadenadec);// desplegar el dato en la pantalla de LCD
Comando_LCD(0XD7);// Una posicion especifica en la LCD
Datos_LCD(".");

Lee_Teclado();
// si es precionada la eltra A regresar al men principal.
if(Tecla==0x0A){goto fintemperatura;}

}//fin while
fintemperatura:
*/
Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" TEMPERATURA ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD("================");

OpenADC( ADC_FOSC_RC &
ADC_RIGHT_JUST &
ADC_1ANA_0REF,
ADC_CH0 &
ADC_INT_OFF );
while(1){
SetChanADC(0);
Delay10TCYx(2);
ConvertADC();
while(BusyADC()==1){
}

canal0=ReadADC();
ADCtemp=(canal0/2.048);
/*prueba
Comando_LCD(0Xc9);
ADCtemp=(ADCtemp)*100;
itoa(ADCtemp,cadenadec);
Dato_String_LCD(cadenadec);*/

//putsUSART(String);

T=T*100;
ADCtemp=ADCtemp*100;
dec=ADCtemp-T;

itoa(dec, cadenadec);
Comando_LCD(0XD9);
Dato_String_LCD(cadenadec);
//putsUSART(cadenadec);

Comando_LCD(0XD7);
Datos_LCD(".");
strcat(String , cadenadec);
putsUSART(String);

Lee_Teclado();
if(Tecla==0x0A){goto fintemperatura;}

}//fin while

fintemperatura:
;}//fin case 3

void iluminacion(void){
Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" ILUMINACION ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD("================");
finABCD:
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD("[1] A [2] B");
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("[3] C [4] D");

Tecla=0;
while(Tecla==0){Lee_Teclado();}
switch(Tecla){
case 0x01: ///////////////////////habitacion A///////
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("[1]ON [2]OFF");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio A :ON ");

while(1){

Tecla=0;
while(Tecla==0){Lee_Teclado();}
switch(Tecla){ //opciones de iluminacion de HABITACION A

case 0x01:

// esperar a qeu el buffer de transmision de la uart este disponible
while(BusyUSART());

//enviar 6B hexadecimal para control de iluminacin en habitacion
WriteUSART(0x6B);

i=0;
while(i<5){

Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio A:ON ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);

Datos_LCD(" Espacio A: ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio A:ON ");
i++;
}

break;
case 0x02:
WriteUSART(0x6C);
i=0;
while(i<5){

Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio A:OFF ");

Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio A: ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio A:OFF ");
i++;
}
while(1){


138


Tecla=0;
while(Tecla==0){Lee_Teclado();}

switch(Tecla){ //opciones de iluminacion de A
case 0x01:
while(BusyUSART());
WriteUSART(0x6D);

i=0;
while(i<5){
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio B:ON ");

Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);


Datos_LCD(" Espacio B: ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio B:ON ");
i++;
}

break;

case 0x02:
while(BusyUSART());
WriteUSART(0x6E);
i=0;
while(i<5){
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio B:OFF ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio B: ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio B:OFF ");
i++;

}

break;
case 0x0A:
goto finABCD;
}//fin switch para habitacion B

}//fin while infinito
break;
case 0x03: ////////////////////////////////habitacion C////////////////////////////////

Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("[1]ON [2]OFF");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio C :ON ");

while(1){
Tecla=0;
while(Tecla==0){Lee_Teclado();}

switch(Tecla){ //opciones de iluminacion de A
case 0x01:
while(BusyUSART());
WriteUSART(0x6F);
i++;
}
break;
case 0x02:
while(BusyUSART());
WriteUSART(0x70);
i=0;
while(i<5){
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio C:OFF ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);


Datos_LCD(" Espacio C: ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio C:OFF ");

i++;

}


while(1){

Tecla=0;
while(Tecla==0){Lee_Teclado();}
switch(Tecla){ //opciones de iluminacion de A
case 0x01:
while(BusyUSART());
WriteUSART(0x71);

i=0;
while(i<5){
Delay10TCYx(80);

Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio D:ON ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio D: ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio D:ON ");
i++;
}
break;
case 0x02:
while(BusyUSART());
WriteUSART(0x72);
i=0;
while(i<5){

Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio D:OFF ");

Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio D: ");
Delay10TCYx(80);

while(BusyUSART());
//envia caracter
i=0;

putcUSART('b');
//WriteUSART(0x0B);
//CloseUSART();
/*Comando_LCD(0X93);//posicion en el LCD
for(i=0;i<=12;i++)
{
Dato_LCD(mensaje_eco1[i]);
}
//esperar a que el buffer de transmisin
//este vacio o disponible
while(BusyUSART());
//esperamos caracter del virtual terminal
while(!DataRdyUSART());
getsUSART(recepcion_eco1,4);
Comando_LCD(0XC3);
for(i=0;i<=8;i++)
{
Dato_LCD(recepcion_eco1[i]);
}
*/
while(i!=1);
i++;

}


139





////////////////////////////////////////////////////////////////////////////
////////CASTILLO BAUTISTA BRAULIO ANTONIO
////////PIC18F452
////////SISTEMA DE CONTROL DOMOTICO
////////Aegundo microcontrolador
/////////////////////////////////////////////////////////////////////////////

#include <p18f452.h> // Registros del PIC a utilizar
#include <portb.h> // Funciones sobre el Puerto B
#include <delays.h> // Rutinas de retardo
#include <LCD16x4_2.h>//ruta del archivo en mi PC
#include <usart.h>
#include <adc.h>
#include <stdlib.h>
/* Configuracin de Bits de Microchip */
#pragma config LVP = OFF
#pragma config WDT = OFF
#pragma config OSC = XT
////////////////////////////////
#define Col1 PORTBbits.RB4 // Define la Columna 1
#define Col2 PORTBbits.RB5 // Define la Columna 2
#define Col3 PORTBbits.RB6 // Define la Columna 3
#define Col4 PORTBbits.RB7 // Define la Columna 4

void Inicializa_Puerto(void); // Prototipo de funcion, incializa Puerto
void transmicion(void);
void case1(void);
void case3(void);
void case2(void);
void case4(void);
void precencia(void);
void iluminacion();
void contiluminacion();
void contiluminacion1();
void contiluminacion2();
void contiluminacion3();
void contiluminacion4();
void contiluminacion5();
void contiluminacion6();
void test();
unsigned char
Tecla,comandoinc,Co=0,CoA=0,CoB=0,CoC=0,CoD=0,CoE=0,CoF=0,
char mensaje[]="Tecla oprimida:";
char opcion1[]="[1] TEMPERATURA ";
char opcion2[]="[2] VENTILACION ";
char opcion3[]="[3] ILUMINACION ";
char opcion4[]="[4] TEST ";
char borrar[]=" ";
char mensaje_eco1[]="send",recepcion_eco1[16],recepcion;
int i=0,j=1,value,T,dec,
unsigned int canal0;
double ADCtemp;

char String[5],cadena[5],cadenadec[];
//***************************************************************
//inicio del programa prncipal
//*************************************************************
void main(void)
{
int op_lectura;
//ADCON1=0x0F;
//TRISA =0x00;
//PORTA=0XFF;
TRISB = 0x00;
PORTB=0XFF;
TRISC = 0x80;
PORTC = 0x00;
TRISD = 0xF0;
PORTD = 0x00;
Tecla=0;
Inicializa_LCD();
Comando_LCD(CURSOR_OFF & BLINK_OFF);
EnablePullups(); // Activa resistencias Pull Up






OpenUSART(USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH,
25);

//INTCON2bits.RBPU = 0; // Similar
//Datos_LCD("mexico ");//una cadena desde la memoria de programa

//rutina de lectura para el teclado
/* while (1) // Ciclo infinito while
{
Lee_Teclado(); // Busca tecla oprimida
Visualiza_Tecla(); // Visualiza la tecla oprimida
} // Ciclo while
//con este comando pasamos a la linea 2 del LCD
// Comando_LCD(DDRAM_LINEA_4);
// Datos_LCD("Braulio castillo");*/
while(i!=4){
Delay10TCYx(100);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD("================");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" I.P.N. " );
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" E.S.I.M.E. " );
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("================");
i++;
}
i=0;
menu1:
Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(opcion1);
Comando_LCD(DDRAM_LINEA_2);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(opcion3);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(opcion4);
//iluminacion();
//case3();
//Tecla=0;
//while(Tecla==0){
//Lee_Teclado();
//Visualiza_Tecla();
//}
while(BusyUSART());
//esperamos caracter del virtual terminal
while(!DataRdyUSART());
op_lectura = ReadUSART();
switch(op_lectura){
case 0x41:
case3();
//

goto menu1;
break;
case 0x42:
//test();
//case3();
case2;
goto menu1;
break;

case 0x43:
//test();
//case3();
iluminacion();
menu1;
break;
case 0x44:
//test();
//case3();
ANEXO II: PROGRAMA DEL SEGUNDO MICROCONTROLADOR




140

test();
goto menu1;
break;

}//fin de la estructura switch
while(1){
}
}
////////////fin del programa principal
////////////Definicin de funciones////////////////////////////////
}
void case4(void){
Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" ILUMINACION ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD("================");
finABCD:
Datos_LCD("[1] A [2] B");
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("[3] C [4] D");
Tecla=0;
while(Tecla==0){Lee_Teclado();}
switch(Tecla){
case 0x01: ///////////////////////habitacion A///////
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("[1]ON [2]OFF");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio A :ON ");


while(1){

Tecla=0;
while(Tecla==0){Lee_Teclado();}

switch(Tecla){ //opciones de iluminacion de A
case 0x01:
while(BusyUSART());
WriteUSART(0x6B)
i=0;
while(i<5){
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio A:ON ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio A: ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio A:ON ");
i++;
}
break;
case 0x02:
while(BusyUSART());
WriteUSART(0x6C);
i=0;
while(i<5){
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio A:OFF ");

Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3)

Datos_LCD(" Espacio A: ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio A:OFF ");
i++;
}
break
case 0x0A:
goto finABCD:
break;
}//fin switch para habitacion A
}//fin while infinit
break;
////////////////////////////////habitacion B////////////////////////////////

Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("[1]ON [2]OFF");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio B :ON ");

while(1){
Tecla=0;
while(Tecla==0){Lee_Teclado();}

switch(Tecla){ //opciones de iluminacion de
case 0x01:
while(BusyUSART());
WriteUSART(0x6D);
i=0;
while(i<5){
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio B:ON ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio B: ");
Delay10TCYx(80);
Datos_LCD(" Espacio B:ON ");

i++
}
break;
case 0x02:
WriteUSART(0x6E);
i=0;
while(i<5){
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio B:OFF ");

Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio B: ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio B:OFF ");

i++;
}
break;
case 0x0A:
goto finABCD;
}//fin switch para habitacion B
}//fin while infinito
break;
case 0x03: ////////////////////////////////habitacion C////////////////////////////////
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("[1]ON [2]OFF");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio C :ON ");
while(1){
Tecla=0;
while(Tecla==0){Lee_Teclado();}
switch(Tecla){ //opciones de iluminacion de A
case 0x01:
while(BusyUSART());
WriteUSART(0x6F);
i=0;
break;
case 0x02:
while(BusyUSART());
WriteUSART(0x70);
while(i<5){
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio C:OFF ");
Delay10TCYx(80);


141

Comando_LCD(DDRAM_LINEA_3)
Datos_LCD(" Espacio C: ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio C:OFF ");
i++;
}
break;
case 0x0A:
goto finABCD;
}//fin switch para habitacion B

}//fin while infinito
break;
case 0x04:////////////////////////////////habitacion D////////////////////////////////
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("[1]ON [2]OFF");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio D :ON ");
while(1){
Tecla=0;
while(Tecla==0){Lee_Teclado();}
switch(Tecla){ //opciones de iluminacion de A
case 0x01:
while(BusyUSART());
WriteUSART(0x71);
i=0;
while(i<5){
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio D:ON ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio D: ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio D:ON ");
i++;
}
break;
case 0x02:
while(BusyUSART());
WriteUSART(0x72);
i=0;
while(i<5){
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio D:OFF ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio D: ");
Delay10TCYx(80);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" Espacio D:OFF ");
i++;
}
break;
case 0x0A:
goto finABCD;
}//fin switch para habitacion B
}//fin while infinito
break;
case 0x05:
break;
}//switch para seleccionar abitacion a iluminar
; }
void transmicion(void)
{
//inicio de la transmicin via UART/////////
// configuramos el EUSART para 9.6K baudios
//Comando_LCD(0XC0);
//Datos_LCD("tx=");
//Comando_LCD(0X90);//posicion en el LCD
//Datos_LCD("rx=");
// configuramos el EUSART para 9.6K baudios
OpenUSART(USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH,
25);
//esperar a que el buffer de transmisin
//este vacio o disponible
while(BusyUSART());
//envia caracter
i=0;
putcUSART('b');
//WriteUSART(0x0B);
//CloseUSART();
/*Comando_LCD(0X93);//posicion en el LCD
for(i=0;i<=12;i++)
{
Dato_LCD(mensaje_eco1[i]);
}
//esperar a que el buffer de transmisin
//este vacio o disponible
while(BusyUSART());
//esperamos caracter del virtual terminal
while(!DataRdyUSART());
getsUSART(recepcion_eco1,4);
Comando_LCD(0XC3);
for(i=0;i<=8;i++)
{
Dato_LCD(recepcion_eco1[i]);
}
*/
while(i!=1);
i++;
}
void iluminacion(){
int lectura,sele;
Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(borrar);
while(i!=4){
Delay10TCYx(100);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" ILUMINACION ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD("================" );
i++;
}
inicioilu:
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD("[1]A [2]B [3]C");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD("[4]D [5]E [6]F" );
while(BusyUSART());
//esperamos caracter del virtual terminal
while(!DataRdyUSART());
sele = ReadUSART();
PORTBbits.RB6=1;
switch(sele){

case 0x41:
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" HABITACION A ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" ");
contiluminacion();
goto inicioilu;
break;
case 0x42:
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" HABITACION B ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" ");
contiluminacion1();
goto inicioilu;
break;
case 0x43:
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" HABITACION C ");
Comando_LCD(DDRAM_LINEA_2);


142

Datos_LCD(" ");
contiluminacion2();
goto inicioilu;
break;
case 0x44:
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" HABITACION D ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" ");
contiluminacion3();
goto inicioilu;
break;
case 0x45:
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" HABITACION E ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" ");
contiluminacion4();
goto inicioilu;
break;
case 0x46:
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" HABITACION F ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" ");
contiluminacion5();
goto inicioilu;
break;
case 0x58:
break;
}
}
void contiluminacion(){
int lectura;
//=====inicia el envio de datos de control para iluminacin
while(1){
// Tecla=0;
// Lee_Teclado();

while(BusyUSART());
//esperamos caracter del virtual terminal
while(!DataRdyUSART());
lectura = ReadUSART();
switch(lectura){
case 0x41:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [APAGADO] ");
//PORTA=0x00;
PORTBbits.RB0=1;
Co=1;
if(CoA==1){PORTBbits.RB1=1;}
if(CoB==1){PORTBbits.RB1=1;}
break;
case 0x42:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [ENCENDIDO] ");
//PORTA=0x01;
PORTBbits.RB0=0;
Co=2;
break;
case 0x58: goto saltofin;
break;
}//FIN SWITCH
} //FIN WHILE INFINITO
//============fin de el envio de datos para conrtrol de
iluminacin
saltofin:
;}
void contiluminacion1(){
int lectura;
//=====inicia el envio de datos de control para iluminacin
while(1){
// Tecla=0;
// Lee_Teclado();
while(BusyUSART());
//esperamos caracter del virtual terminal
while(!DataRdyUSART());
lectura = ReadUSART();
switch(lectura){
case 0x41:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [APAGADO] ");
PORTBbits.RB1=1;
CoA=1;
break;

case 0x42:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [ENCENDIDO] ");
PORTBbits.RB1=0;
CoA=2;
break;
case 0x58: goto saltofin1;
break;
}//FIN SWITCH
} //FIN WHILE INFINITO
//============fin de el envio de datos para conrtrol de iluminacin
saltofin1:
;}
void contiluminacion2(){
int lectura;
//=====inicia el envio de datos de control para iluminacin
while(1){
// Tecla=0;
// Lee_Teclado();
while(BusyUSART());
//esperamos caracter del virtual terminal
while(!DataRdyUSART());
lectura = ReadUSART();
switch(lectura){
case 0x41:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [APAGADO] ");
PORTBbits.RB2=1;
CoB=1;
break;

case 0x42:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [ENCENDIDO] ");
PORTBbits.RB2=0;
CoB=0;
break;

case 0x58: goto saltofin2;
break;
}//FIN SWITCH
} //FIN WHILE INFINITO
//============fin de el envio de datos para conrtrol de iluminacin
saltofin2:
;}
void contiluminacion3(){
int lectura;
//=====inicia el envio de datos de control para iluminacin
while(1){
// Tecla=0;
// Lee_Teclado();
while(BusyUSART());
//esperamos caracter del virtual terminal
while(!DataRdyUSART());
lectura = ReadUSART();
switch(lectura){
case 0x41:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [APAGADO] ");
PORTBbits.RB3=1;
CoC=1;
break;
case 0x42:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [ENCENDIDO] ");
PORTBbits.RB3=0;
CoC=2;
break;
case 0x58: goto saltofin3;
break;
}//FIN SWITCH
} //FIN WHILE INFINITO
//============fin de el envio de datos para conrtrol de
iluminacin


143

saltofin3:
;}
void contiluminacion4(){
int lectura;
//=====inicia el envio de datos de control para iluminacin

while(1){
// Tecla=0;
// Lee_Teclado();
while(BusyUSART());
//esperamos caracter del virtual terminal
while(!DataRdyUSART());
lectura = ReadUSART();
switch(lectura){
case 0x41:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [APAGADO] ");
PORTBbits.RB4=1;
CoD=1;
break;
case 0x42:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [ENCENDIDO] ");
PORTBbits.RB4=0;
CoD=2;
break;
case 0x58: goto saltofin4;
break;
}//FIN SWITCH

} //FIN WHILE INFINITO

//============fin de el envio de datos para conrtrol de
iluminacin
saltofin4:
;}
void contiluminacion5(){
int lectura;
//=====inicia el envio de datos de control para iluminacin
while(1){
// Tecla=0;
// Lee_Teclado();
while(BusyUSART());
//esperamos caracter del virtual terminal
while(!DataRdyUSART());
lectura = ReadUSART();
switch(lectura){
case 0x41:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [APAGADO] ");
PORTBbits.RB5=1;
CoE=1;
break;

case 0x42:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [ENCENDIDO] ");
PORTBbits.RB5=0;
CoE=2;
break;

case 0x58: goto saltofin5;
break;
}//FIN SWITCH
} //FIN WHILE INFINITO
//============fin de el envio de datos para conrtrol de
iluminacin
saltofin5:
;}
void contiluminacion6(){
int lectura;
//=====inicia el envio de datos de control para iluminacin
while(1){
// Tecla=0;
// Lee_Teclado();
while(BusyUSART());
//esperamos caracter del virtual terminal
while(!DataRdyUSART());
lectura = ReadUSART();
switch(lectura){

case 0x41:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [APAGADO] ");
PORTBbits.RB6=1;
CoF=1;
break;
case 0x42:
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" [ENCENDIDO] ");
PORTBbits.RB6=0;
CoF=2;
break;
case 0x58: goto saltofin6;
break;
}//FIN SWITCH
} //FIN WHILE INFINITO
//============fin de el envio de datos para conrtrol de iluminacin
saltofin6:
;}
void test(){
int test;
//while(i!=4){
//Delay10TCYx(100);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD("================");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD(" PRUEBA DE ");
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD(" CONECTIIDAD ");
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("================ " );
//i++;
//}
/*Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_3);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_4);
Dato_String_LCD(borrar);*/
while(1){
while(BusyUSART());
WriteUSART(0x50);
while(BusyUSART());
//esperamos caracter del virtual terminal
while(!DataRdyUSART());
test = ReadUSART();
if(test==0x70){
Comando_LCD(DDRAM_LINEA_1);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_2);
Dato_String_LCD(borrar);
Comando_LCD(DDRAM_LINEA_1);
Datos_LCD(" CONECTIVIDAD: ");
Comando_LCD(DDRAM_LINEA_2);
Datos_LCD("================");
while(i!=2){
Delay10TCYx(100);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD("!");
Delay10TCYx(100);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD("!! ");
Delay10TCYx(100);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD("!!! ");
Delay10TCYx(100);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD("!!!! ");
Delay10TCYx(100);
Comando_LCD(DDRAM_LINEA_3);
Datos_LCD("!!!!! ");
i++; }
}
Comando_LCD(DDRAM_LINEA_4);
Datos_LCD("Prueba exitosa...");
}
}


144

ANEXO III: MANUALES DEL FABRICANTE
























































145







146







147







148







149






150






























151

ANEXO IV: DISEO DE CIRCUITOS IMPRESOS


























Figura A Circuito impreso del sistema terminal 1















Figura B Circuito impreso del sistema terminal 2


152


















Figura C Circuito impreso del nodo central














153

ANEXO V: ESTRUCTURA DE TRAMAS
ESTRUCTURA DEL PAQUETE DE DATOS DE LA CAPA FSICA

La unidad de datos de protocolo de la capa fsica (PPDU, PHY Protocol Data Unit)
tiene el trabajo de encapsular todos los datos de los niveles superiores. Se fundamenta
en tres componentes:

Cabecera de sincronizacin (syncronization header).
Cabecera de la capa fsica (PHY header).
Carga til de la capa fsica (PHY payload).









Figura D Estructura del paquete de la capa fisica IEEE 802.15.4

Cabecera de Sincronizacin de PPDU

sta se encuentra formada por dos campos, el primero de ellos llamado prembulo y
un delimitador de inicio de trama o start-of-frame delimiter por sus siglas en ingls.
El prembulo esta integrado por 32 bits y permite a los nodos receptores
sincronizar los bits del paquete. Al delimitador de inicio de trama lo conforman 8
bits con los que se permite al receptor identificar el inicio de los bits de datos del
paquete.





154

Cabecera de la capa fsica

Contiene siete bits para definir la longitud de la carga til de datos del paquete (en
bytes). La longitud puede tener como mximo de 127 bytes.

Carga til de la capa fsica

Se trata de un solo campo y tambin es conocida como Unidad de Servicio de
Datos (PSDU Physcal Layer Service Data Unit). En la PSDU se encapsula la
trama MAC.

ESTRUCTURA DE LA TRAMA MAC

Se encuentra definida en la IEEE 802.15.4, esta diseada para demostrar la simplicidad
y flexibilidad del protocolo. La trama MAC consta de tres partes:
Cabecera de la trama (frame header).
Carga til de la trama (frame payload).
Pie de la trama (frame footer).

Todos los componentes d e la trama MAC toman el nombre de protocolo de unidad de
datos MPDU (MAC Protocol Data Unit) que luego se ensambla en el paquete de la capa
fsica como el que se muestra en la figura E.








Figura E Estructura de la trama MAC


155

Cabecera de la trama

La cabecera MAC tiene un campo de control de trama y otro campo de
direccionamiento. El campo de control de trama define el tipo de trama, uso de
seguridad y el formato y contenido del campo de direccin. El campo de
direccionamiento contiene tanto direcciones de origen com de destino
especificadas dentro del campo de control de trama.
Carga til de la trama

La carga til de la trama contiene informacin acerca del tipo de trama y ste puede ser
dividido en forma lgica para su uso para las capas superiores.

Cola de la trama

El pie es en este caso el campo FCS (Frame Check Sequence) y sirve para
verificar la integridad de las tramas MAC.

TRAMA DE DATOS PARA LA SUBCAPA MAC

La trama de datos es usada por la subcapa MAC para transmitir datos y su
formato se muestra en la Figura F.





Figura F Formato de Trama de Datos







156

TRAMA DE ACUSE DE RECIBO

La trama de acuse de recibo es enviada por la subcapa MAC para confirmar la
recepcin satisfactoria de la trama hacia el origen del mensaje. El formato de esta
trama se muestra en la Figura G.









Figura G Formato de la Trama de Acuse de Recibo


TRAMA DE COMANDOS MAC

La trama de comandos MAC es originada por la subcapa MAC y se encarga de todo
el control de transferencia de la MAC. La carga til de la MAC (MAC payload)
tiene dos campos, el tipo de comando MAC (MAC command type) y el Valor del
Comando MAC (MAC command payload). EL Valor de Comando MAC contiene
informacin especfica del tipo de comando en uso. La Figura muestra los detalles
del formato de Trama de Comando MAC.






Figura H Formato de Trama de Comando MAC




157


ANEXO VI: COSTOS DEL SISTEMA CONSTRUIDO

COSTO DE CONSTRUCCION DEL SISTEMA TERMINAL 1
ELEMENTO COSTO
Dispositivo XBee 310
Microcontrolador PIC18f452 100
Display de LCD 4x16 200
Teclado matricial 35
Placa fotosensible 75
Elementos electrnicos varios 20
TOTAL $740

COSTO DE CONSTRUCCION DEL SISTEMA TERMINAL 2
ELEMENTO COSTO
Dispositivo XBee 310
Microcontrolador PIC18f452 100
Display de LCD 4x16 200
Placa fotosensible 75
Elementos electrnicos varios 20
TOTAL $705

COSTO DEL NODO CENTRAL
ELEMENTO COSTO
Dispositivo XBee 310
Placa fenolica 30
Elementos electrnicos varios 20
C.I. MAX232 8
TOTAL $368


158

BIBLIOGRAFA
[1] Romero, C., Vsquez, F. y De Castro, Domtica e Inmtica: Viviendas y edificios
inteligentes; Ra-Ma; Madrid, 2005.

[2] www.domodesk.com

[3]Tesis
BLUETOOTH
Gonzalez Guillen, Angel
Calzada Flores, Edgar Andres
Ortiz Luna, Ricardo
ESIME-CULHUACAN

[4]ZigBee Wireless Networking
ZigBee Alliance
Drew Gislason

[5] Articulo:
Performance Study of IEEE 802.15.4 Using Measurements and Simulations
Marina Petrova, Janne Riihijarvi, Petri Mahonen and Saverio Labella
Department of Wireless Networks
RWTH Aachen University
Kackertstrasse, Aachen, Germany

[6]Tesis Doctoral
Protocolo de encaminamiento en origen
con identificadores no nicos para redes
Ad-Hoc de dispositivos con recursos limitados
Miguel Angel Ortuno Perez

[7] IEEE 802.15.4 http://standards.ieee.org/getieee802/download/802.15.4-2006.pdf

[8] ZigBee Alliance:
http://www.zigbee.org/en/index.asp

[9] Hands-On Implementing 802.15.4 With microcontrollers
ZigBee Alliance
Fredy Eady

[10]Tesis: ZigBee aplicado a la transmission de datos de sensores biomdicos
Ivn Barneda Faudot

[11] XBee
User guide

[12] ATAVRRZ200 Demonstration Kit
User guide

You might also like