Post on 25-Jun-2022
iLight up
Automatización de la iluminación de un hogar controlada desde un teléfono móvil
T.G. 1102
LAURA MARIANA CAICEDO CAMACHO
ANDRÉS ORLANDO ESCOBAR SUÁREZ
Documento en donde se especifican los procesos de diseño e implementación de hardware y software
para el control de iluminación de un hogar por medio de un teléfono móvil.
Director Proyecto de Grado
Ing. JUAN CARLOS GIRALDO M.Sc
BOGOTA, D.C
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA ELECTRÓNICA
2012
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA ELECTRÓNICA
RECTOR MAGNÍFICO: P. JOAQUÍN EMILIO SÁNCHEZ GARCÍA, S.J.
DECANO ACADÉMICO: ING. LUIS DAVID PRIETO Ph.D
DECANO DEL MEDIO UNIVERSITARIO: P. SERGIO BERNAL RESTREPO, S.J.
DIRECTOR DE CARRERA: ING. JUAN MANUEL CRUZ BOHÓRQUEZ M.Ed
DIRECTOR DEL PROYECTO: ING. JUAN CARLOS GIRALDO M. Sc
Artículo 23 de la resolución número 13 del mes de julio de 1946.
“La universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus proyectos de
grado. Solo velará porque no se publique nada contrario al dogma y la moral católica y porque los
trabajos no contengan ataques o polémicas puramente personales. Antes bien, que se vea en ellos el
anhelo de buscar la verdad y la justicia.”
DEDICATORIA
Al Ing. Juan Carlos, por haber creído en nosotros y haber aceptado ser el director de esta tesis.
L.C. y A.E.
A George. En menor escala, pero este es un ejemplo que todo es posible en la vida aún cuando no vemos
salida. Siempre estuvo mi familia a mi lado apoyándome para no rendirme. Todos estamos juntos a ti.
L.C.
A Dios, a mis padres por su apoyo incondicional durante toda mi vida. A mis abuelos, pero
especialmente al Abuelo Alberto, que lo extraño cada día.
A mis hermanos y a toda mi Familia.
A.E.
AGRADECIMIENTOS
En primer lugar a Sebastián López, quien fue uno de los autores intelectuales de donde nace iLight up y
quien ayudó hacer posible la entrega de Hardware. Gracias Sebas
A Daniel San y a Max que nos ayudaron en momentos difíciles.
A todas aquellas personas que siempre estuvieron dispuestos a brindarnos su ayuda.
A todas aquellas personas que les gustó nuestra idea y votaron por iLight up en expoelectrónica.
L.C. y A.E.
A Manuel y Dolly, mis papas, quienes siempre me apoyaron en todos los aspectos de este proyecto y sin quienes este
proyecto no hubiese sido realidad.
A mi tía Monita, cuyas palabras fueron sabias en momentos cruciales.
A mi diseñadora, Tita, quien no solo fue diseñadora si no consejera y apoyo importante todos los días.
A Meli, por estar día a día pendiente del desarrollo de esta tesis y simplemente por ser mí mejor amiga.
A Cami y July por aguantarse la calle “olorienta” y nunca cansarse de acompañarme a comprar cuanto Triac,
Optoacoplador, Pic, etc se nos había quemado la noche anterior.
A Osquitar por trasnochar acompañándome, por darme ánimos y apoyarme siempre.
L.C.
A Orlando y Alicia, mis padres, que me acompañaron durante todo el proceso, los amo.
A Cabeto, quien en la distancia se preocupó por qué todo funcionara y nos envió su mejor energía.
A Yoannita, quien me pegaba los jalones de oreja justos para que trabajara, quien me ha acompañado en
todo este proceso.
A mi compañera Laura por su paciencia.
A todos aquellos, familia y amigos, que se preocuparon por el estado de la tesis.
A.E.
TABLA DE CONTENIDO
1. INTRODUCCIÓN ................................................................................................................. 1
2. OBJETIVOS .......................................................................................................................... 2
2.1. OBJETIVO GENERAL .............................................................................................................. 2
2.2. OBJETIVOS ESPECÍFICOS ..................................................................................................... 2
3. ANTECEDENTES ................................................................................................................. 3
3.1. ORÍGENES DE LA DOMÓTICA .............................................................................................. 3
3.2. ESTADO DEL ARTE .................................................................................................................. 3
3.2.1. COLOMBIA ............................................................................................................................ 3
3.2.2. JAVERIANA ........................................................................................................................... 4
4. MARCO REFENCIAL ......................................................................................................... 5
4.1. INTERFAZ GRÁFICA ............................................................................................................... 5
4.1.1. XCODE ................................................................................................................................... 5
4.1.2. TOUCHOSC ............................................................................................................................ 5
4.2. COMUNICACIÓN INALÁMBRICA ........................................................................................ 5
4.2.1. COMUNICACIÓN SMARTPHONE - MÓDULO DE PROCESAMIENTO PRINCIPAL .. 6
4.2.2. COMUNICACIÓN MÓDULO DE PROCESAMIENTO PRINCIPAL – MÓDULO DE
PROCESAMIENTO SECUNDARIO .................................................................................................. 6
4.3. HARDWARE DE PROCESAMIENTO Y CONTROL ........................................................... 8
4.3.1. SISTEMAS DIGITALES ........................................................................................................ 8
4.3.2. FUNCIONALIDAD FIJA ....................................................................................................... 9
4.3.3. PROCESADORES .................................................................................................................. 9
4.3.4. PLD’s ..................................................................................................................................... 10
4.3.5. PLATAFORMA DE PROGRAMACIÓN ARDUINO ......................................................... 10
4.3.6. SELECCIÓN ......................................................................................................................... 10
4.4. SENSORES Y ACTUADORES ................................................................................................ 12
4.4.1. SENSOR DE PRESENCIA ................................................................................................... 12
4.4.2. SENSOR DE LUMINOSIDAD ............................................................................................ 13
4.4.3. ACTUADOR Y ETAPA DE SALIDA ................................................................................. 13
5. DESARROLLO ................................................................................................................... 15
5.1. INTERFAZ GRAFICA ............................................................................................................. 15
5.2. COMUNICACIÓN INALÁMBRICA ...................................................................................... 15
5.3. HARDWARE DE PROCESAMIENTO Y CONTROL ......................................................... 16
5.3.1. MÓDULO DE PROCESAMIENTO PRINCIPAL-ARDUINO............................................ 16
5.3.2. MÓDULO DE PROCESAMIENTO PRINCIPAL-ARDUINO-PIC18F252 ........................ 17
5.4. SENSORES Y ACTUADORES ................................................................................................ 17
5.4.1. SENSOR DE PRESENCIA ................................................................................................... 17
5.4.2. SENSOR DE LUMINOSIDAD ............................................................................................ 18
5.4.3. ACTUADOR Y ETAPA DE SALIDA ................................................................................. 19
5.5. CARACTERÍSTICAS DEL SISTEMA ................................................................................... 20
5.6. GENERALIDADES ................................................................................................................... 21
5.7. INTEGRACIÓN DEL HARDWARE Y SOFTWARE........................................................... 22
5.7.1. INTERFAZ GRAFICA- TELÉFONO .................................................................................. 22
5.7.2. MODÚLO DE PROCESAMIENTO PRINCIPAL ............................................................... 24
5.7.3. RED WIRELESS ................................................................................................................... 24
5.7.4. RED ZIGBEE ........................................................................................................................ 25
6. DIAGRAMAS ...................................................................................................................... 27
6.1. DIAGRAMAS DE FLUJO ........................................................................................................ 27
6.2. DIAGRAMA DE BLOQUES .................................................................................................... 30
6.3. DIAGRAMA DE CONEXIONES ............................................................................................ 31
7. ANALISÍS DE RESULTADOS .......................................................................................... 33
7.1. FUNCIONALES......................................................................................................................... 33
7.1.1. INPUT/OUTPUT ................................................................................................................... 33
7.2. PROTOTIPO VISTO POR UN USUARIO ............................................................................. 35
7.3. NO FUNCIONALES.................................................................................................................. 35
7.3.1. ROBUSTEZ (MODO A PRUEBA DE ERRORES) ............................................................. 35
7.4. EFICIENCIA y CONSUMO .................................................................................................... 35
7.5. MODULARIDAD ...................................................................................................................... 36
7.6. ALCANCE .................................................................................................................................. 36
7.6.1. WIFI ...................................................................................................................................... 36
7.6.2. ZIGBEE ................................................................................................................................. 36
8. CONCLUSIONES ............................................................................................................... 38
9. BIBLIOGRAFÍA ................................................................................................................. 39
10. INFOGRAFÍA ................................................................................................................... 40
11. ANEXOS ............................................................................................................................ 41
11.1. CODIGO FUENTE DE EL MODULO DE PROCESAMIENTO PRIMARIO -
ARDUINO ............................................................................................................................................. 41
11.2. CODÍGO FUENTE DEL MODULO DE PROCESAMIENTO SECUNDARIO-
PIC18F252 ............................................................................................................................................. 51
11.3. PROGRAMACIÓN DE XBEE CON X-CTU ....................................................................... 64
TABLA DE ILUSTRACIONES
Tabla 1 Estandarización de las señales provenientes de TouchOSC .......................................................... 23
Tabla 2. Principales características del protocolo de comunicación WIFI ................................................. 24
Tabla 3. Configuración de los módulos Xbee para iLight up. .................................................................... 25
Tabla 4. Observaciones y promedio de calificaciones de los visitantes de expoelectrónica ....................... 35
Tabla 5.Potencia consumida dependiendo los modos de funcionamiento Xbee ......................................... 36
Tabla 6. Número de comandos enviados vs. número de comandos recibidos ............................................ 37
Figura 1. Topología estrella Zigbee .............................................................................................................. 7
Figura 2Topología Malla- Zigbee ................................................................................................................. 7
Figura 3. Topología Árbol- Zigbee [2] ......................................................................................................... 8
Figura 4. Clasificación de los sistemas digitales. .......................................................................................... 9
Figura 5. Funcionamiento TRIACS ............................................................................................................ 14
Figura 6. Salida de control y fase. ............................................................................................................... 14
Figura 7. TOUCHOSC EDITOR ................................................................................................................ 15
Figura 8, Mòdulo Arduino UNO. ............................................................................................................... 16
Figura 9. Mòdulo Arduino Ethernet Shield. ............................................................................................... 17
Figura 10. PIC18F252, esquema de conexión. ........................................................................................... 17
Figura 11. Especificaciones Eléctricas Sensor SE-10 ................................................................................. 18
Figura 12. Construcción física del sensor. .................................................................................................. 18
Figura 13. Gráfica de corriente eléctrica vs luminosidad. .......................................................................... 19
Figura 14. Especificaciones eléctricas sensor, Tomado del Datasheet ....................................................... 19
Figura 15. Circuito sensor de iluminación .................................................................................................. 19
Figura 16. Etapa de Salida iLight up.......................................................................................................... 20
Figura 17. Diagrama de Bloques iLight up ................................................................................................. 21
Figura 18. Módulo de comunicación iPhone hacia Arduino. ...................................................................... 21
Figura 19. Diagrama de funciones iLight up. ............................................................................................. 22
Figura 20. Diagrama de Bloques Microcontrolador. .................................................................................. 22
Figura 21. Zonas Aplicación TouchOSC .................................................................................................... 23
Figura 22. Red WIFI con ACCESS POINT. .............................................................................................. 25
Figura 23. Diagrama de Flujo Principal. ..................................................................................................... 27
Figura 24. Diagrama de Flujo del Microcontrolador. ................................................................................. 28
Figura 25. Diagrama de Flujo del Microcontrolador. ................................................................................. 29
Figura 26. Diagrama de Bloques................................................................................................................. 30
Figura 27. Circuito de conexiones Xbee ..................................................................................................... 31
Figura 28. Circuito de conexiòn microcontrolador. .................................................................................... 32
Figura 29, Figura 30. Señal encendido 100%. ............................................................................................ 33
Figura 31, Figura 32. Señal apagadago 0%. ............................................................................................... 33
Figura 33, Figura 34. Señales modo regula 50% ........................................................................................ 34
Figura 35, Figura 36. Señales modo detecciòn de presencia. ..................................................................... 34
Figura 37, Figura 38. Señales modo regulaciòn automática. ...................................................................... 34
1
1. INTRODUCCIÓN
La evolución de los distintos campos de acción de la Ingeniería Electrónica, junto con la de otras
disciplinas como la Arquitectura y la Ingeniería Civil, y por otra parte, la integración de sus
conocimientos, han permitido la aparición del concepto de Edificio Inteligente, cuyos propósitos según
Intelligent Building Institute (IBI) de Washington se dan en términos de costo, confort, comodidad,
seguridad, flexibilidad y comercialización1. Desde su invención, no es común todavía ver casas
completamente automatizadas en nuestro entorno. Según los autores del libro Domótica e Inmótica.
Viviendas y edificios Inteligentes, “ Es paradójico constatar como el automóvil, en el que sólo se pasan
unas pocas horas diarias, incorpora cada vez más tecnologías avanzadas; mientras que la vivienda,
donde pasamos la mayor parte de nuestro tiempo libre e incluso parte de nuestro tiempo de trabajo,
apenas incorpora algunos avances destinados a las comunicaciones personales 2.
Uno de los objetivos de la domótica en los últimos años, ha sido economizar al máximo recursos, tales
como el agua y la energía eléctrica, apuntando a desarrollar tecnologías que protejan el medio ambiente 3.
El proyecto que aquí se presenta, de la misma forma, busca solucionar otra problemática que ha retardado
el crecimiento de la adopción de estas tecnologías. Ello consiste en la ardua labor , eficiente y costosa de
adquirir productos de automatización, ya que actualmente se ofrecen sistemas domóticos que requieren
realizar cambios de cableado y enrutamiento de nuevas conexiones a través de las paredes del edificio o
de la construcción.
Otra tecnología masificada en las últimas décadas es la telefonía móvil, la cual es una herramienta
importante de este proyecto, teniendo en consideración que su rápido crecimiento ha llevado a que hoy en
día a que este medio de comunicación cuente con un gran número de usuarios, aplicaciones y sistemas
operativos, que brindan facilidades y mayores oportunidades para la integración de estos dispositivos a un
sistema de automatización. Por si fuera poco, el uso de estos dispositivos abre un gran campo de
comercialización para los productos que puedan ser manipulados o controlados desde estos.
Este trabajo de grado contempla la integración de estas nuevas tecnologías para poder brindar una forma
más eficiente de automatizar hogares, mediante la unión de los nuevos teléfonos moviles llamados Smart
Phones, el uso de tarjetas de comunicación inalámbrica del protocolo Zigbee y microcontroladores, lo que
da como resultado final la automatización de la iluminación de tres zonas en un hogar con 4 modos
diferentes de uso, todo desde un Iphone tal como se verá a lo largo de este informe.
1 TORRES ESPERANZA, Análisis Cualitativo de los sistemas de telecomunicación y computación en los edificios.
UNAM, Mexico. 2000. Pag 4 2 HIUDOBRO, José Manuel y MILLAN, Ramón J. DOMÓTICA. Edificios Inteligentes. 1ra Edición. España. 2009.
Pag 10 3 Ibidem, pag 30
2
2. OBJETIVOS
2.1. OBJETIVO GENERAL
- Diseñar e implementar un prototipo de sistema para el control de iluminación por medio de un
teléfono móvil.
2.2. OBJETIVOS ESPECÍFICOS
- Diseñar e implementar un sistema programable para el control de iluminación de zonas en una
residencia, mediante la interfaz de un teléfono móvil.
- Implementar un sistema de comunicación inalámbrica que permita la interacción entre sensores,
actuadores, sistema principal de procesamiento y teléfono móvil.
3
3. ANTECEDENTES
3.1. ORÍGENES DE LA DOMÓTICA
Las primeras nociones de Domótica nacen en Estados Unidos y el Japón durante 1977, cuando aparece el
concepto de Edificio Inteligente. Desde ese año se realizan investigaciones y análisis sobre el impacto que
tiene la automatización en la sociedad y la rentabilidad que la implementación de ésta pueda producir en
el terreno comercial. Sin embargo, fue hasta mediados de la década de los años 80 cuando en Estados
Unidos se fabrica una serie de aparatos, dispositivos y sistemas que van a ser la base de la Domótica,
propiamente dicha4. A partir del denominado proyecto “Smart house”, hizo aparición una nueva clase de
conmutadores telefónicos llamados PBX5. Estos sistemas novedosos permitieron la transmisión de datos
numéricos y la conversación telefónica de manera simultánea.
Las empresas pioneras en Japón y Europa tardaron unos años más, con relación a las de los Estados
Unidos, en implementar las nuevas tecnologías, cuyo objetivo consistía, de forma general, en lograr
espacios más confortables dentro del hogar.
3.2. ESTADO DEL ARTE
En los últimos años, se ha experimentado un gran desarrollo relacionado con la Sociedad y las
Tecnologías de la Información y la Comunicación. Dentro de este campo, la Domótica, más que un lujo,
se convierte en una necesidad moderna, especialmente para un gran número de personas a las que les
facilita el control de la vivienda.
En particular para las personas con discapacidad, se trata de una ayuda, e incluso de una necesidad para
poder desenvolverse en el día a día de forma independiente. Las nuevas tecnologías brindan un aporte
fundamental que permite dar respuestas efectivas a las demandas de amplios grupos humanos, cada vez
más. Todo ello se traduce en mayores formas de autonomía pues contribuye a mejorar y ampliar el
proceso de integración social, educativa y laboral de la sociedad.
Es difícil mirar a nuestro alrededor, trátese de nuestra vivienda habitual o de nuestro entorno laboral, y no
encontrarnos con televisores, teléfonos móviles, equipos de fax y módem, redes y sistemas de control
inalámbrico, etcétera. Tal cantidad de sistemas y dispositivos nos indica la rápida evolución tecnológica
de la electrónica y de la informática en el mundo durante los últimos 20 años, particularmente.
3.2.1. COLOMBIA
La Domótica tiene presencia en Colombia hace aproximadamente 10 años. En la actualidad, Colombia
cuenta con la presencia de dos grandes empresas extranjeras: BTICINO e IHCONTROl; la primera de
origen europeo y la segunda de origen estadounidense. Ambas empresas abarcan la mayoría del mercado
colombiano. BTICINO fabrica líneas de automatización para iluminación, sonido, etcétera. Una
importante característica de esta empresa es que todos sus productos son alámbricos. Ahora bien, Legrand
la casa matriz de BTICINO cuenta con otras empresas que tienen presencia en Colombia, un poco más
4 CASADOMO, Artículo Web sobre la historia de la domótica y el hogar digital. Link
http://www.casadomo.com/noticiasDetalle.aspx?c=10&idm=16. 5 ALZATE, Builes. Domótica e Inmótica: Módulos instruccionales para la formación professional. UPB. Medellín.
2003
4
reducida, las cuales cuentan con soluciones inalámbricas. Por su parte, IHCONTROL soporta su
producción únicamente en la marca APPLE, presentado soluciones inalámbricas6.
Cuenta Colombia, también, con pequeñas y medianas empresas que ofrecen diferentes clases de servicios
domóticos, esto es, desde la creación e implementación de esos sistemas hasta su mantenimiento. A nivel
nacional, Medellín es una de las ciudades más emprendedoras en este tipo de empresas7.
Por otra parte, según una investigación de mercado realizada por el Grupo de Investigación, Desarrollo y
Aplicación en Telecomunicaciones e Informática (GIDATI) –UPB, un 10,6% de la población colombiana
de estratos 4, 5 y 6, posee algún dispositivo o sistema domótico en su hogar, y el 77% de esta misma
población presentan interés creciente en ellos. Donde mayor demanda se presenta es en la relacionada con
soluciones de seguridad, seguido por los sistemas de automatización de la iluminación y la calefacción8.
Así mismo, teniendo en cuenta la investigación de mercado llevada a cabo para la asignatura
Emprendimiento y Tecnología Electrónica9, se encontró que en Colombia existen muchas oportunidades
de negocio en esta moderna área de conocimiento, sobre todo en el servicio post-venta y en las
aplicaciones de Domótica para construcciones antiguas.
3.2.2. JAVERIANA
La domótica en la universidad javeriana ha venido tomando fortaleza, no solo en la producción intelectual
de los estudiantes, sino que en el pensum académico y las materias electivas se evidencia la aparición de
conocimiento más profundo s en esta área. A través de la materia de Automatización de edificios que se
ha venido ofreciendo los estudiantes tienen acceso a las ofertas del mercado domótico y sus aplicaciones
en la ingeniería.
Como lo mencionamos anteriormente, la producción intelectual de los estudiantes egresados de la
universidad han demostrado un aumento en el interés en la automatización de edificios, tal y como se
observa en dos ejemplos que se traen a este documento. El primero se llama, INGENIERÍA
CONCEPTUAL BÁSICA Y DE DETALLE PARA EL SISTEMA DE AUTOMATIZACIÓN DE
EDIFICIO COMERCIAL DE GRAN SUPERFICIE, de la estudiante Ingrid Johanna Guerrero Grosso. Y
la tesis, DIAGNÓSTICO E IMPLEMENTACIÓN DE MEJORAS EN EL ¨SISTEMA DE CONTROL Y
SUPERVISIÓN DE LA MALLA DE ILUMINACIÓN-XUE”. VERSIÓN 2.0. Por Ing. José Luis Uribe
Aponte y Nelson David Vásquez del Castillo. Este último trabajo de grado contempla la automatización
programable de la iluminación de un cubículo de la facultad de ingeniería mediante el uso de sensores de
presencia y con el protocolo de comunicación I2C10
.
6 CAICEDO, Laura y ESCOBAR, Andrés. Estudio del Mercado de la dómotica en Colombia. PUJ. Bogotá. 2011.
Pág 6. 7 Ibidem. Pág 2.
8 URIBE, Amón. Investigación del Mercado domótico colombiano. UPB. Medellín. 2007
9 Ibidem..
10 URIBE, José y VÁSQUEZ, Nelson. Diagnóstico e implementación de mejoras en el ¨sistema de control y
supervisión de la malla de iluminación-xue”. Versión 2.0. 2003, PUJ Bogotá
5
4. MARCO REFENCIAL
4.1. INTERFAZ GRÁFICA
Se desea realizar una interfaz amigable y de fácil uso para la persona que se encuentra manipulando las
luces de la casa, por lo que en la investigación inicial se encontró que era posible programar una interfaz
mediante el lenguaje de programación Objective-C en X-code.
4.1.1. XCODE
Es una herramienta de desarrollo encaminada a crear aplicaciones para Mac, iPhone y iPad, la cual cuenta
con una aplicación llamada “Interface Builder”, en donde se pueden crear interfaces gráficas, así mismo
cuenta con un simulador iOS el cual tiene herramientas de análisis de rendimiento.
Xcode únicamente trabaja en plataforma Mac OS X Snow Leopard o versiones más recientes
La suite de X-code soporta lenguajes de programación como C, C++, Objective-C, Objective-C++, Java,
AppleScript, Python y Ruby
Objective-C: Lenguaje de programación orientada a objetos, es el lenguaje más usado por el API Cocoa
de Apple.
4.1.2. TOUCHOSC
Recientemente hexler.net, una página web de desarrolladores, los cuales su mayor especialidad es la
música, han desarrollado una aplicación para SmartPhones llamada TouchOSC, la cual envía y recibe
mensajes a través de un protocolo llamado OSC (Open Sound Control). Una de sus principales ventajas es
que cuenta con un software para sistemas operativos como Windows, OS X y linux, llamado TouchOSC
Editor el cual permite personalizar la interfaz gráfica que se desea utilizar según la necesidad de los
usuarios; con este editor se pueden insertar LED, etiquetas verticales, horizontales, botones push, Pad
XY, Slider horizontales, verticales, entre otros; de la misma manera esta aplicación brinda la facilidad de
nombrar las señales a conveniencia.11
4.2. COMUNICACIÓN INALÁMBRICA
A medida de la evolución de cada uno de los diferentes campos que permiten el desarrollo de la
tecnología, los requerimientos en el hogar son cada vez más exigentes y cada día un mayor número de
personas buscan la tecnología como una herramienta que les permita simplificar su vida dentro de la
vivienda. Buscando cumplir estos requerimientos exigidos por una sociedad que cada día se mueve más
rápido y la cual busca que su mano sea reemplazada por la tecnología a bajos costos, esta idea de bajos
costos surge dado el boom de economizar recursos al máximo minimizando el consumo de la energía
eléctrica y a su vez ayudar la economía de los hogares, ideas de las cuales surge este proyecto llamado
iLight Up el cual está encaminado a la automatización de la iluminación de un hogar mediante el uso de
tecnologías inalambricas, evitando así costos de cableado y enrutamiento de nuevas conexiones a través
de las paredes de la construcción.
11
TOUSCH OSC. http://opensoundcontrol.org/introduction-osc
6
4.2.1. COMUNICACIÓN SMARTPHONE - MÓDULO DE PROCESAMIENTO
PRINCIPAL
Dado que al hacer uso de este SmartPhone, como es el iPhone, únicamente se tienen dos posibilidades de
comunicación entre el teléfono y el módulo de procesamiento principal.
BLUETOOTH
El dispostivo bluetooth utilizado por los dispositivos móviles iPhone cuenta con la característica que
únicamente se puede parear con otros dispositivos móviles de la familia Apple, por lo que era necesario
que el sistema de procesamiento principal fuese de la misma familia.
ETHERNET
El protocolo ETHERNET nace en los años 70 por ingenieros de la empresa Xerox y luego fue optimizado
por la IEEE, lo cual permitió que este protocolo llegara a distintos niveles de funcionamiento; que vayan
desde el FAST ETHERNET hasta el 10 GIGABIT ETHERNET.
Este protocolo se ha convertido en uno de los más usados debido a sus características de velocidad, tasa
de comunicación y bajo costo. Lo cual le ha permitido ubicarse como el protocolo de comunicación a
través de internet por excelencia. Adicionalmente el uso de la tecnología CSMA/CD, lo que le permite al
sistema identificar una colisión de datos en el bus de transferencia debido a que estos sistemas funcionan
identificando silencio de transmisión. Es decir, el sistema antes de realizar un envío de datos requiere
escuchar silencio en el canal de transmisión y también realiza un análisis de que el canal no esté
recibiendo más información mientras envía los datos.
4.2.2. COMUNICACIÓN MÓDULO DE PROCESAMIENTO PRINCIPAL – MÓDULO
DE PROCESAMIENTO SECUNDARIO
El otro bloque de comunicación que se planea utilizar es una comunicación inalámbrica entre los
sensores/actuadores y el micro controlador, como se dijo arriba, con el fin de ahorrar costos de cableado y
enrutamiento.
Entre los protocolos tenidos en cuenta se tienen Bluetooth, Ziggbe y X-10
BLUETOOTH
Usa la banda 2.4GHz y puede transmitir hasta 1 Mbps, puede penetrar barreras solidas que no sean de
metal, y tiene un rango nominal de 10m que puede ser extendido a 100m. Una estación master puede
recibir hasta de 7 estaciones esclavas simultáneamente,
ZIGBEE
El protocolo de comunicación IEEE802.15.4 nace en 2003 con la fundación de ZigBee Alliance,
conformada aproximadamente por 200 empresas. En Junio de 2005 se lanza al Mercado el primer
dispositivo de comunicación
Es un estándar de protocolo usado en comunicaciones inalámbricas en las cuales se quiere lograr bajos
costos de instalación, baja velocidad de transmisión de datos y un bajo consumo de batería, el cual se
logra normalmente con ciclo útil menor que el 1%. En la última versión del protocolo IEEE 802.15.4 se
nombran tres bandas de frecuencias: 868–868.6 MHz (868 MHz band) 902–928 MHz (915 MHz band)
2400–2483.5 MHz (2.4 GHz band). La banda de 2.4 GHz (ISM) es aceptada mundialmente y además es
7
la que tiene mayor velocidad de transmisión de datos (250kb/s) por lo que es la más usada y la más
fabricada, sin embargo las bandas de frecuencias menores pueden penetrar objetos y paredes más
fácilmente. Existen tres tipos de modulación para Zigbee las cuales son BPSK (binary phase shift keying),
ASK (amplitude shift keying) y O-QPSK (offset quadrature phase shift keying).
La distancia de transmisión de los dispositivos Zigbee depende de las condiciones del medio y la
topología usada.
TOPOLOGÍA DE LA RED
Existen tres tipos de topologías usadas para el protocolo de comunicación Zigbee, para el desarrollo de
iLight up, se hizo uso de una topología estrella, descrita a continuación.
TOPOLOGÍA TIPO ESTRELLA
En esta topología cada dispositivo está en capacidad únicamente de comunicarse con PAN coordinador,
encargado de comenzar la formación de una red Zigbee mediante la selección de un PAD ID.
Figura 1. Topología estrella Zigbee12
En la topología estrella existen dos métodos de transferencia de datos una en la cual el coordinador le
transfiere al dispositivo y otra la cual el dispositivo le transfiere hacia el coordinador, la comunicación
entre dos dispositivos existe pero no es usada en esta topología. Debido a las características de la
topología, es conveniente que el coordinador no esté alimentado por baterías debido al gran consumo de
energía debido a la gran cantidad de actividad requerida.
TOPOLOGÍA TIPO MALLA
Cada dispositivo final, es capaz de comunicarse con cualquier otro dispositivo final y router que se
encuentren en su rango de alcance.
Figura 2Topología Malla- Zigbee13
12
FARHANI, Shahin. ZigBee Wireless Networks and Transceivers. 13 Ibidem.
8
TOPOLOGÍA TIPO ÁRBOL
El dispositivo coordinador se conecta a varios routers que a su vez se conectan a otros dispositivos
finales.
Figura 3. Topología Árbol- Zigbee [2]
X-10
Protocolo de comunicaciones abierto que utiliza la línea eléctrica para la trasmisión de datos. Es una
tecnología creada por Ingenieros en 1975 en Estados Unidos.
Su técnica de funcionamiento consiste en una sincronización y una modulación sencilla de una señal X-10
de 120KHz con el paso por cero de la corriente alterna e insertándola en el semiciclo positivo o negativo.
Se fundamenta en trasmitir lo más cerca posible al paso por cero de la onda senoidal, a menos de 200us
de retraso.
Actualmente, existe una amplia gama de dispositivos X-10, que van desde interruptores, paneles de
control, hasta sensores de movimiento y cámaras de video. La instalación de estos dispositivos se reduce a
simplemente enchufarlos a la línea.14
4.3. HARDWARE DE PROCESAMIENTO Y CONTROL
El mercado de los sistemas de control ofrece gran variedad de productos de control que provienen desde
dispositivos de control analógico hasta los dispositivos de control digital. Debido al bajo tamaño que se
exige para el sistema de control, ya que este va a ser montado en un hogar donde existe gran dificultad en
la creación de un espacio de control de variables analógico y sus acompañantes, se opta por la utilización
de un sistema de control digital para lograr los objetivos del sistema.
4.3.1. SISTEMAS DIGITALES
Los sistemas digitales nacen como consecuencia de la evolución de la ingeniería electrónica analógica y
la búsqueda de sistema de mayor eficiencia y la utilización de un lenguaje universal (binario) dentro de
los sistemas de información. Adicionalmente a esto, la aparición de los sistemas digitales ha permitido la
integración de la electrónica con la informática, ya que estos dispositivos al trabajar con un lenguaje
universal apareciendo en la electrónica el concepto de programación y reutilización de componentes.
14
CUEVAS, Juan. MARTÍNEZ, Jesús. El protocolo x10: una solución antigua a problemas actuales.
Universida de malaga. ESPAÑA. 2009
9
Desde la aparición de la primera compuerta digital los sistemas digitales han venido avanzando a gran
velocidad pasando a aparecer en el mundo por primera vez lo que se conocen como tarjetas de
programación (FPGA), dispositivos lógicos programables (PLD), e incluso los procesadores, ya sean
Micro-procesadores (uP), Micro-controladores (uC) y Procesadores digitales de señales (DSP) [3]. En la
actualidad, los dispositivos mencionados anteriormente son los que se encuentran disponibles para el
tratamiento de señales digitales, sin embargo, aunque se vean pocas opciones, ahora se pueden encontrar
muchísimos dispositivos con distintas características, funciones y lenguajes de programación, las cuales
varían del tipo de aplicación y del fabricante productor del dispositivo.
Groud propone en su libro, otro tipo de clasificación de estos dispositivos que corresponde a una
clasificación orientada a los tipos de aplicación, y el tamaño de procesamiento del dispositivo, tal y como
se muestra en la figura 4, y a partir de la cual se realizará el análisis para la selección del dispositivo de
control.
Figura 4. Clasificación de los sistemas digitales15.
Luego de presentar la clasificación de los sistemas digitales, se realiza la siguiente explicación sobre el
funcionamiento de estos sistemas y las aplicaciones de cada uno de estos.
4.3.2. FUNCIONALIDAD FIJA
Son sistemas, los cuales tienen una utilidad fija y no son sujetos a ningún tipo de programación. Son
dispositivos que al combinarse con otros de su misma clase pueden llegar a ser una herramienta de buen
funcionamiento, es decir, que la única forma de cambiar su funcionamiento es a través de la
combinación16
. Ejemplos: Compuertas AND, NOT, OR entre otras.
4.3.3. PROCESADORES
Son dispositivos electrónicos de programación, el cual a través de un software realiza las operaciones de
varias unidades lógicas. Este tipo de sistemas son muy útiles, ya que el campo de aplicación de estos es
bastante amplio y la programación de estos es sencilla ya que se usan compiladores de lenguaje C o
15
GROUT, Ian. Digital Systems Design with FPGA’s and CPLD’s. Pag 3 16
Ibidem. Pag 5.
10
compiladores ASSAMBLE, que permiten realizar códigos más complejos pero fáciles de revisar y
corregir. Como se puede observar en la figura 4, existen dentro de estos procesadores los de tipo
microprocesador, microcontrolador y procesadores digitales de señales,
Una de las ventajas principales de este tipo de sistemas es la facilidad de cambio de sus aplicaciones y el
dinamismo de las mismas, es decir la facilidad con la que se puede lograr realizar ampliación de estos
dispositivos. Sin embargo la limitación de estos dispositivos radica en el tamaño de procesamiento, el
cual, depende del número de bits, tamaño de instrucción y tamaño de las memorias.
En el mercado de la electrónica es sencillo encontrar gran cantidad de controladores que van desde 4 bits
hasta 32 bits, los que comúnmente usan nuestros computadores.
4.3.4. PLD’s
Son dispositivos de programación digitales que a través del uso de un compilador y una serie de celdas
lógicas que se pueden programar a través de un compilador para que el dispositivo realice la función para
la cual ha sido diseñado. La gran ventaja de estos dispositivos es que no hay limitación en cuanto a las
funciones del programador, ya que el papel del usuario es el de diseñador y programador. Contrario a que
en el caso de los microcontroladores el papel del usuario es únicamente de programador, ya que el
fabricante entrega las funciones que reconoce17
.
El inconveniente con este tipo de dispositivos es que el usuario tiene que realizar todas y cada una de las
conexiones del dispositivo y es fácil caer en el error en proyectos muy grandes. Adicionalmente a este
inconveniente, se presentan problemas frente a la realización de cambios y agregar nuevos sistemas y
dispositivos al sistema final.
4.3.5. PLATAFORMA DE PROGRAMACIÓN ARDUINO
En los últimos años, el mercado de la electrónica ha enfocado su producción en la generación de
soluciones integrales de electrónica, que faciliten el papel del ingeniero en la invención de nuevos
sistemas e incluso que lleguen a permitir a que profesionales de otras disciplinas puedan hacer uso de
estos dispositivos en el campo en el cual se desempeñen.
Esta plataforma consta básicamente de un microntrolador de la marca ATMEL y pines de fácil conexión.
Por otra parte, también posee comunicación USB a PC, para ser programa y quemada desde el PC; y
además, a esta tarjeta de programación se le pueden agregar una serie de tarjetas que le permiten la
comunicación a través de ETHERNET y a través de ZIGBEE. Para complementar existe la posibilidad de
expandir la tarjeta al manejo de pantalla LCD a Color.
4.3.6. SELECCIÓN
Con base en la información anterior, se pudo realizar el proceso de selección de la tecnología digital más
eficiente para este proyecto, siendo como resultado el procesador la herramienta más útil para este diseño,
debido a que su estructura permite la programación a partir de un software de las funcionalidades del
sistema, facilitando la corrección de errores, facilitando la comunicación con otros sistemas digitales,
ampliando el carácter comercial del diseño y permitiendo crear un sistema dinámico. Sin embargo, dentro
de la familia de procesadores existen los conocidos como microcontroladores, los cuales, son dispositivos
de procesamiento pequeño, orientados a trabajar funciones sencillas que no requieran un nivel alto de
complejidad de hardware. Los microcontroladores son los dispositivos que se acoplan fácilmente al
desarrollo de iLight up.
17
Ibidem. Pág 6
11
Pero la búsqueda no finaliza allí, ya que el mercado de los microcontroladores es muy grande, entre los
cuales cabe resaltar a ATMEL, MICROCHIP, PHILLIPS y FREESCALE. Por lo que fue necesario
definir las funciones requeridas, hacer un muestreo de los dispositivos y seleccionar el más acorde.
FUNCIONES REQUERIDAS.
USART
Este modo de funcionamiento fue requerido debido a que las tarjetas de comunicación XBee usan este
protocolo para la transmisión y recepción de datos con cualquier sistema que se desee utilizar, por otra
parte este tipo de protocolos de comunicación debido a su construcción permite obtener certeza de los
datos enviados, ya que se verifica la trama de datos y se informa sobre la llegada y terminación del envío.
Para esta aplicación se usó un submodo del protocolo USART, conocido como UART, el cual
corresponde al mismo funcionamiento, solo que no existe una sincronización de reloj entre los dos
sistemas a comunicar
ADC
Esta función es necesaria ya que nos permite convertir señales de voltaje análogos a digital, provenientes
de algunos sensores. Es por esta razón que el microcontrolador a elegir tiene que poseer un sistema de
conversión análoga digital.
TIMERS
Tal cual como su nombre lo indica este tipo de funciones se pueden utilizar como contadores de tiempo,
los cuales, en el caso de iLight up son realmente importantes, ya que es necesario realizar conteos de
tiempo para la generación de la señal de salida y para el conteo de tiempos de apagado del sistema.
Dado que cada una de las marcas produce microcontroladores con las funcionalidades necesarias para este
proyecto la búsqueda se ve centralizada a comparar aspectos como: costos, facilidad de programación y
acople de hardware.
COSTOS
Para realizar esta comparación se seleccionaron 4 microcontroladores que cumplan las características
mencionadas anteriormente, ADC, PWM y TIMERS, siendo como resultado: ATMEGA644 de precio en
sigma electrónica limitada $20.010 pesos18
. PIC18F252 a un precio de $12.99219
. P87C51SFPN a un
precio de $15.660 pesos20
, para FREESCALE dentro de la búsqueda en la tienda se encontraron
únicamente microcontroladores de montaje superficial, lo cual, complicaría el proceso de elaboración de
las tarjetas prototipo.
FACILIDAD DE PROGRAMACIÓN
La totalidad de los microcontroladores mencionados su lenguaje de programación base es ASSAMBLE,
según las hojas de especificación de cada uno, sin embargo, con base en proyectos universitarios y
asignaturas del área de técnicas digitales es más conveniente la utilización de microcontroladores de la
familia de microchip, ya que el software de programación y el lenguaje de programación ya es conocido
por los autores de este proyecto. Por otra parte, el software MPLAB IDE posee una extensión a lenguaje
18
ATMEGA644, precio http://www.sigmaelectronica.net/atmega644-20pu-p-1063.html 19
PIC 18F252, precio.http://www.sigmaelectronica.net/microchip-c-23_41.html?page=2&sort=2a 20
P87C51SFPN, precio http://www.sigmaelectronica.net/p87c51sfpn-p-1185.html
12
de programación C, conocida como C18 COMPILER, el cual, posee librerías que facilitarán el proceso de
desarrollo y diseño de iLight up.
TAMAÑO
Como se ha venido mencionando, se requiere que los componentes con los cuales se desea trabajar no
superen las dimensiones físicas de un interruptor común en Colombia, el cual, tiene medidas aproximadas
de 6cm x 12cm x 6cm, considerando también que existen competentes adicionales como son salidas de
potencia y fuentes de alimentación.
Para los microcontroladores mencionados anteriormente los tamaños corresponden de siguiente forma:
ATMEGA644 0.4 cm x 5 cm y 1.3 cm, PIC18F252 0.4cm x 2.7 cm x 1 cm y para el P87C51SFPN 0.47
cm x 5.13 cm x 1.4 cm. Por lo cual el más apropiado a fin de economizar en espacio debido a la
limitación de espacio fue el PIC18F252
Con base en estos 3 aspectos se concluyó que el dispositivo a utilizar sería el PIC18F252 de la familia de
microchip, ya que es con base en los conocimientos adquiridos durante la carrera, su tamaño y su costo
fue el dispositivo más apropiado para trabajar en este proyecto. Este microcontrolador será la unidad de
procesamiento secundaria.
En el caso de la unidad de procesamiento principal, la plataforma arduino, sus tarjetas de extensión, su
lenguaje de programación y la interfaz de programación será la herramientas más eficaz para el desarrollo
de esta investigación.
4.4. SENSORES Y ACTUADORES
Acorde a los objetivos del proyecto y en búsqueda de obtener los mejores resultados funcionales; la
elección de este sistema fue extenuante y compleja, ya que en el mercado electrónico existe variedad de
tipos de sensores y formas de construcción, y adicionalmente de la elección del sensor correcto depende
el desarrollo y la eficiencia del proyecto, lo cual, nos llevó a investigar desde sensores de contacto hasta
sensores sin contacto, siendo este último la elección. Adicionalmente, fue necesario revisar los datasheets
de varios de estos sensores con el fin de que se cumpla uno de los pasos al momento de seleccionar un
sensor, el cual, es la facilidad de comunicación con el sistema de procesamiento o de control.21
4.4.1. SENSOR DE PRESENCIA
Dentro del mercado electrónico-sensorial, los sensores de presencia han abarcado toda la atención de los
ingenieros desarrolladores, ya que este tipo de sensores no solo permite identificar personas, sino que
también permiten detectar objetos metálicos y de otros materiales ferromagnéticos. Por esta razón existen
los siguientes tipos de sensor.
Con base en el libro de Wilson se logró definir unos parámetros de selección del sensor apropiado para el
sistema. Así las cosas, los sensores de contacto fueron los primeros en ser rechazados ya que sería poco
eficiente solicitar al usuario que en el modo de presencia toque algún tipo de panel o mueva alguna
palanca, por lo que la búsqueda se cerró a los sensores de no contacto. Respecto a los sensores de no
contacto, el primero en ser estudiado fue el sensor magnético, sin embargo según la información ofrecida
por Wilson22
, son sensores usados para la detección de campos eléctricos producido por dispositivos
21
WILSON, Jon. Sensor Technology Handbook. Elsiever. 2005. Pag 21. 22
Ibidem. Pag 331
13
como celulares, reproductores de música e incluso señales cerebrales, sin embargo, para lograr esta última
detección se requiere de la construcción de un sensor complejo y robusto.
A continuación, se siguió trabajando sensores de presencia ultrasónicos, los cuales, son realmente muy
buenos para detectar cambios en la zona de trabajo.23
, sin embargo, son sistemas muy sensibles ya que
cualquier cambio ya sea por la presencia de un insecto podría afectar su medición, lo que implicaría que
sería necesario a partir de código en el microcontrolador realizar un filtraje de esa información, labor
poco eficiente dentro del desarrollo del sistema. Así que la búsqueda finalizó en los sensores infrarrojos,
ya que son tan eficientes como un sensor ultrasónico, y no son tan sensibles a cambios insignificantes, sin
embargo poseen un problema y es que debido a su auto calibración en el momento en el cual la persona o
el objeto dejan de moverse entra a ser parte del ambiente
4.4.2. SENSOR DE LUMINOSIDAD
Dentro del mundo de las tecnologías sensoriales una de las aplicaciones más importantes es la de tomar
mediciones de la intensidad de luz, esto está presente en dispositivos como cámaras, computadores,
robots, entre otros. Lo cual, ha generado un gran desarrollo investigativo en esta área y se ha luchado por
encontrar el dispositivo más eficiente para realizar la medición.
Este desarrollo ha permitido que hoy en día exista en el mercado dos principales tipos de sensores de
luminosidad. Los primeros son los detectores de quantum, sensores que convierten las radiaciones en
electrones directamente en un dispositivo semiconductor; y los detectores térmicos, que son aquellos que
convierten la radiación en energía térmica24
.
4.4.3. ACTUADOR Y ETAPA DE SALIDA
Debido a que uno de los objetivos del proyecto de grado es controlar la iluminación del hogar, por lo que
fue necesario diseñar una etapa de salida entre el sistema de control y la línea eléctrica. Por lo que se
revisaron algunas de los circuitos de acople más conocidos, entre estos están: circuitos de acople
magnético, exactamente relays, sin embargo, el mejor resultado fue utilizar un circuito de acoplamiento
óptico, opto acoplador, ya que contrario a los acopladores magnéticos estos sistemas son de alta velocidad
de respuesta. Además, se requirió de un circuito que permita manejar la potencia proveniente de la línea
AC, para lo cual se decidió usar un triac, el cual es un elemento que permite la conducción en los dos
sentidos, tal y como funciona la línea AC. Observe figura 10.25
23
Ibidem. Pag 358 24
WILSON, Jon. Sensor Technology Handbook. Pag 307 25
MALONEY Timothy, Electrónica Industrial, Dispositivos y Sistemas. Ed PRENTICE HALL
HISPANOAMERICA. 2000. Pag 200
14
Figura 5. Funcionamiento TRIACS
Dado que se desea regular la intensidad de encendido del bombillo se requiere controlar el tiempo en que
la línea alimenta el bombillo y es a través de la combinación de un triac con un optoacoplador que se
logran los resultados que se muestran en la figura 6 y se ajustan a los parámetros.
Figura 6. Salida de control y fase.
15
5. DESARROLLO
5.1. INTERFAZ GRAFICA
En un comienzo se pensó en programar una aplicación para iPhone, sin embargo en el camino se
encontraron algunas dificultades como el largo y tedioso proceso que se debe seguir para poder subir una
aplicación al apple store.26
Por lo que se recurrió a utilizar la aplicación arriba nombrada TouchOSC
Figura 7. TOUCHOSC EDITOR
5.2. COMUNICACIÓN INALÁMBRICA
Para comunicación entre el módulo de procesamiento principal y el teléfono móvil se implementó una
comunicación Ethernet- Wifi
Es una tecnología destinada al intercambio de información entre computadores de red, tiene como
protocolo de control de trasporte e internet TCP/IP (“Transport Control Protocol/Internet Protocol“) el
cual es el más usado para tipos de red como PAN, LAN, WAN27
La comunicación entre el módulo de procesamiento principal y el secundario se hizo uso del protocolo de
comunicación Zigbee- IEEE 802.15.4
Como criterios de selección se tiene en cuenta que este tiene un menor consumo eléctrico que el de
Bluetooth, provee la mejor relación costo-beneficio cuando se trata de transmitir y recibir órdenes y/o
información de sensores de luminosidad y presencia así como también se tiene en cuenta la distancia
media que es necesitada en un hogar para ser capaz de enviar y recibir. También se tiene en cuenta que
aunque la velocidad de Zigbee sea menor, esto no nos afecta dado que no se desea transmitir imágenes,
audio o video. Además es un estándar de protocolo usado en comunicaciones inalámbricas en las que se
quiere lograr bajos costos de instalación, baja velocidad de transmisión de datos y un bajo consumo de
batería, el cual se logra normalmente con ciclo útil menor que el 1%28.
26
PROGRAMACIÓN APPLE: http://www.yoprogramo.com/2011/01/11/mi-primera-aplicacion-para-
iphone-experiencias-con-apple/ 27 FARHANI, Shahin. ZigBee Wireless Networks and Transceivers. 28
Ibidem.
16
La distancia de transmisión de los dispositivos Zigbee está entre 10 y 100 metros, dependiendo de las
condiciones del medio y la topología usada.
5.3. HARDWARE DE PROCESAMIENTO Y CONTROL
5.3.1. MÓDULO DE PROCESAMIENTO PRINCIPAL-ARDUINO.
Este módulo se puede considerar el más importante de iLight up, ya que este es el cerebro de conexión
entre el teléfono inteligente y cada una de las zonas a elegir, por lo cual, la elección de este sistema
requirió una búsqueda profunda en sistema de control. Así las cosas, a partir de la siguiente información
se realizó el proceso de selección de la tarjeta de control principal y se dio introducción al proceso de
selección del módulo de procesamiento secundario.
Plataforma de desarrollo, de código abierto. Hardware que cuenta con un microcontrolador de la familia
Atmel, el cual, está programado para usar un lenguaje de programación arduino, que a su vez se basa en
wiring (otra plataforma open source), y el ambiente de desarrollo processing.
Figura 8, Módulo Arduino UNO.
Para el desarrollo de iLight up se hizo uso de la referencia de hardware Arduino Uno, la cual es una
tarjeta de desarrollo que cuenta con un microcontrolador ATmega328, cuenta con 14 pines de
entrada/salida y 6 entradas análogas. Una de las mayores ventajas de esta tarjeta específicamente, son las
extensiones que Arduino ha desarrollado facilitando diferentes clases de aplicaciones, una de ellas es el
Arduino Ethernet Shield (Figura 9), el cual permite conectar la placa a internet con un conector RJ45 de
manera sencilla haciendo uso del chip Wiznet W5100, facilitando la implementación de una conexión a
internet sin necesidad de un sistema operativo.
17
Figura 9. Modulo Arduino Ethernet Shield.
5.3.2. MÓDULO DE PROCESAMIENTO PRINCIPAL-ARDUINO-PIC18F252
El microcontrolador elegido para trabajar en el proyecto fue el PIC18F252, de la familia de Microchip,
con 16 bit de instrucción, 8 bits de datos, ADC 10 bits, 4 módulos de TIMER y protocolos de
comunicación como Iˆ2C, USART y PSP. Este microcontrolador trabaja a una velocidad de 2Meg, lo cual
permite una comunicación directa con las tarjetas xbee. El lenguaje de programación utilizado es C a
través del compilador MPLAB X para Macintosh y MPLAB IDE para Windows.
Figura 10. PIC18F252, esquema de conexión.
5.4. SENSORES Y ACTUADORES
5.4.1. SENSOR DE PRESENCIA
El sensor elegido fue el PIR SE-10 Producido y diseñado por sparkfun, el cual tiene las características
eléctricas que se muestran a continuación en la figura 13
18
Figura 11. Especificaciones Eléctricas Sensor SE-10
5.4.2. SENSOR DE LUMINOSIDAD
Para este proyecto el tipo de circuito más sencillo de acoplar fue el sensor por detección de quantums, ya
que este no requiere de un sistema adicional que referencie la señal térmica a una señal en voltaje
(termómetro). Luego de haber definido esto, se realizó una búsqueda en internet sobre sensores de este
tipo y se encontró el sensor GA1A2S100SS de la marca SHARP, el cual, cumple los requerimientos del
diseño, que son: sensibilidad, tamaño y linealidad. Tal y cómo se muestra en las siguientes 2 figuras.
Figura 12. Construcción física del sensor.
19
Figura 13. Gráfica de corriente eléctrica vs luminosidad.
Adicionalmente a la linealidad de la salida, este circuito permite ser alimentado desde un voltaje muy bajo
hasta 7 VDC como se muestra en la figura.
Figura 14. Especificaciones eléctricas sensor, Tomado del Datasheet
El circuito de conexión con el microcontrolador debe diseñarse de tal forma que el voltaje recibido por la
entrada ADC sea lineal por lo que se diseñó de la forma en que se muestra en la figura a continuación.
Figura 15. Circuito sensor de iluminación
5.4.3. ACTUADOR Y ETAPA DE SALIDA
Con estos conceptos se ha diseñado el siguiente circuito como etapa de salida, compuesta por un
optoacoplador, un triac y un circuito de detección de cruce- por cero, ya que es necesario para la sincronía
del sistema con la línea AC y la correcta regulación de la misma, ver figura a continuación.
20
Figura 16. Etapa de Salida iLight up
5.5. CARACTERÍSTICAS DEL SISTEMA
Algunas de las características más importantes de iLight up son:
- El sistema trabaja en 4 modos: On/Off, Regulación, Presencia y Regulación automática.
- El modo on/off enciende y apaga las luces desde el móvil, funcionando igual que un interruptor
manual.
- El modo Regula le permite al usuario seleccionar la intensidad de luz que considere necesaria
para esa zona de trabajo.
- El modo presencia enciende las luces cuando detecta presencia humana, sin embargo si el usuario
se mantiene quieto realizando una tarea como de lectura, el bombillo se apagará, lo que puede
llegar a ser incómodo para el usuario. Una solución que se implementó es la dimerización
escalonada del bombillo para así poder dar un pre-aviso al usuario antes de que este quede
totalmente a oscuras, esto se realiza a través de 2 niveles.
- El modo Regulación automática funciona tomando mediciones de luz para decidir qué cantidad
de la misma necesita el recinto y así graduar la intensidad de luz emitida por el bombillo
- El sistema funciona de tal forma que si el usuario está trabajando en el modo on/off con el
actuador en ON y decide luego trabajar en modo presencia, el bombillo se apagará y únicamente
volver a encenderse hasta que detecte presencia, olvidando por completo el modo anterior, es
decir, el sistema no recordará ninguna información anterior a la función actual.
- La aplicación para iPhone, iPad y iPod Touch, Touch OSC, brinda realimentación visual del
estado de los modos, siempre y cuando no haya existido un error de control del usuario, que
consiste en no deshabilitar el modo anterior de funcionamiento. Para dar solución a esta
problemática, se podría llegar a implementar un sistema de retroalimentación automático o un
bloqueo de funciones mientras se encuentre encendido otro sub-modo.
- Las señales enviadas desde el Iphone se envían de forma inalámbrica, sin embargo esto no quiere
decir que el sistema funcione desde cualquier lugar con conexión a internet.
21
5.6. GENERALIDADES
iLight up brinda un ambiente de luz automatizado según la elección de un usuario, el cual, a través de una
aplicación envía señales desde su teléfono iPhone o su iPod Touch eligiendo uno de los cuatro modos
disponibles, ya sea para simplemente activar o desactivar la iluminación, regular su intensidad, trabajar en
base a la detección de personas en un recinto o la regulación automática de la intensidad teniendo en
cuenta la cantidad de luz existente.
La Figura X muestra un diagrama de bloques a grandes rasgos, el cual de izquierda a derecha muestra la
conexión entre cada uno de los sistemas.
Figura 17. Diagrama de Bloques iLight up
Como se observa en la Figura 17, el sistema cuenta con dos módulos principales.
- Módulo de control principal
- Módulo de control secundario
El módulo de control principal está basado, como se dijo arriba, en la tarjeta de desarrollo Arduino UNO
acompañada de la extensión de la familia Arduino que se conoce como Ethernet Shield, la cual, recibe a
través de la extensión señales desde un router inalámbrico informando la zona en la que el usuario desea
modificar la iluminación y a su vez, las envía de forma inalámbrica, mediante el protocolo Zigbee a las
diferentes zonas. La conexión entre el router inalámbrico y la Arduino Ethernet Shield, permite conectar
este módulo a una red inalámbrica de área local (WLAN).
Figura 18. Módulo de comunicación iPhone hacia Arduino.
22
Figura 19. Diagrama de funciones iLight up.
El módulo de control secundario consiste en un microcontrolador de la familia Microchip, el cual está
encargado de interpretar las señales provenientes vía Zigbee para determinar el modo en el que se desea
utilizar el sistema y regular la salida por una función de detección de fase. Esta información será ampliada
más adelante.
Figura 20. Diagrama de Bloques Microcontrolador.
Como se ilustra en la Figura 20, el microcontrolador cuenta con dos entradas extras, un sensor de
luminosidad y un sensor de presencia. El primero entra en funcionamiento en el modo de regulación
automática tomando mediciones de luz que indica si es necesario o no prender la luz y en caso de ser
necesario a qué nivel debe ser encendida. El sensor de presencia trabaja en el modo presencia,
determinando la presencia de personas para así encender o apagar el actuador, permitiendo ahorros
importantes de energía
5.7. INTEGRACIÓN DEL HARDWARE Y SOFTWARE
5.7.1. INTERFAZ GRAFICA- TELÉFONO
Para el caso de crear la interfaz gráfica TouchOSC de iLight up se usaron botones push para controlar
encendido on/off de la iluminación, y el encendido de los modos presencia y regulación automática, la
conveniencia de usarlos es dado que este muestra el estado en el cual se encuentran cada uno de los
modos mediante la iluminación del botón, permitiendo una retroalimentación. Para el modo regula se usó
23
un slider horizontal en un rango de 0 a 9. Esta aplicación también permite agregar páginas, teniendo en
cada una de ellas diferentes botones, señales, etc. Se configuraron las 3 diferentes zonas (Figura 6).
Figura 21. Zonas Aplicación TouchOSC
Para la identificación de las señales y para la programación del módulo procesamiento principal, se
estandarizaron los nombres de las señales así:
Habitación Cocina Sala
On-off /habitación/onoff /cocina/onoff /sala/onoff
Regulación Manual /habitación/slider
[0-9]
/cocina/slider
[0-9]
/sala/slider
[0-9]
Presencia/On /habitación/presencia /cocina/presencia /sala/presencia
Regulación
Automática
/habitación/luminosidad /cocina/luminosidad /sala/luminosidad
Tabla 1 Estandarización de las señales provenientes de TouchOSC
OSC Protocol (Open Sound Control) es un protocolo de comunicación abierto entre dispositivos
multimedia como computadores, sintetizadores de sonido, etc los cuales deben contar con tecnología de
redes, para así brindar ésta avanzada y moderna tecnología a el mundo electrónico. Este protocolo fue
desarrollado en 2002 por el instituto de Berkley para música moderna y tecnología audio, lo que deja ver
claramente que uno de sus usos más frecuentes es la combinación de la música con la tecnología, sin
embargo hoy en día existen docenas de aplicaciones entre las cuales están ambientes de procesamiento de
sonido en tiempo real, herramientas interactivas para la web, sintetizadores de software, dispositivos
hardware para la medición de variables con ayuda de sensores, comunicación entre procesos, etc .
OSC puede enviar señales enteras, flotantes32, string (secuencias de ASCII seguido de campos vacíos) ,
estas señales son enviadas por medio de paquetes “OSC packet“, el que envía se llama “OSC client “ y el
que recibe “OSC server“. Cuando un paquete es enviado este debe comenzar con un entero el cual indica
el tamaño del primer paquete seguido por el contenido y por el tamaño del segundo paquete y así
sucesivamente hasta completar cuantos paquetes se hayan enviado.
24
5.7.2. MODÚLO DE PROCESAMIENTO PRINCIPAL
Para recibir señales del protocolo OSC, arriba mencionadas, arduino cuenta con una librería de Arduino la
cual permite interpretar esta señales entrantes en el OSC server. Esta librería se denomina OSCClass y es
posible descargarla de http://recotana.com/iphone/iosc/en/instruction_arduino.
Algunos de los comando utilizado en el código de esta librería tenemos:
OSCMessage KEYWORD1; donde KEYWORD1 es el nombre que deseamos darle al mensaje
recibido.
OSCClass KEYWORD1; Este comando define que KEYWORD1 es de tipo osc.
getTopAddress KEYWORD2: Dirección del mensaje recibido en la posición 0.
getSubAddress KEYWORD3: Dirección del mensaje recibido en la posición 1.
getArgFloat NUM: Valor del mensaje recibido en flotante.
osc.begin(serverPort): Puerto por el cual se va a comunicar el servidor.
osc.available(): Chequea si los mensajes OSC han llegado.
Otras librerías que se usan son: Ethernet, SPI.
5.7.3. RED WIRELESS
Una de las razones por las que se decidió usar esta tecnología es que brinda más seguridad que las demás
tecnologías inalámbricas y proporciona movilidad total dentro de la vivienda
Se hizo uso de un Access point- LINKSYS WAP54G, el cual hace referencia al protocolo IEEE802.11g,
el cual es una mejora del protocolo IEEE802.11b en cuanto seguridad, eficiencia y calidad del servicio,
este protocolo posibilita el incremento de la velocidad de transferencia a 54Mbps, dado que este encripta
todas las transmisiones para proteger los datos enviados.
TECNOLOGÍ
A
TIPO DE
PROTOCO
LO
CARACTERÍSTICAS VENTAJAS DESVENTAJ
AS Soporte Físico
Velocidad de
transferenci
a
Alcance máximo
Modulación
WIFI Abierto RF 54 Mbps
11Mbps
33m a
100m
QAM -Comunicación inalámbrica
-No necesita
línea de vista -Alta velocidad
-Tecnología costosa
-Vulnerable a
interferencias
Tabla 2. Principales características del protocolo de comunicación WIFI
Se utiliza la arquitectura BSS (Basic Service Set) para la configuración de la red, la cual consiste en un
punto de acceso (AP) inalámbrico que soporta uno o varios clientes, su principal característica es que
todas las estaciones se comunican a través del AP
25
Figura 22. Red WIFI con ACCESS POINT.
5.7.4. RED ZIGBEE
SEGURIDAD DE LA RED- ZIGBEE
Este protocolo utiliza en una de sus capas un modelo de seguridad MAC IEEE 802.15.4, el cual asegura:
- Control de accesos: Mantiene una lista de los dispositivos comprobados
- Encriptación de datos: Mediante un código de 128 bits y del estándar denominadas AES
(Estándar avanzado de encriptación)
- Integración de tramas
- Secuencia de refresco: Se comprueba que las tramas no han sido reemplazadas por otras
CONFIGURACIÓN XBEE’S
La siguiente tabla muestra la configuración de los módulos Xbee
MY DL DH ID CH API Coordinador
Nodo
Arduino
1001 FFFF 0 FFFF 10 1 1
Zona
Habitación
1002 FFFF 0 FFFF 10 1 0
Zona
Cocina
1003 FFFF 0 FFFF 10 1 0
Zona sala 1004 FFFF 0 FFFF 10 1 0
Tabla 3. Configuración de los módulos Xbee para iLight up.
Donde,
MY: Configura la dirección de 16 bits para el modulo.
DL: Ajusta los 32 bits menos significativos para direccionamiento.
DH: Ajusta los 32 bits más significativos para direccionamiento.
ID: Ajusta la dirección PAN del módulo.
CH: Establece el canal por el cual se realiza la conexión RF entre módulos.
API=1 Habilita el modo API.
26
ESTRUCTURA DE ENVIO DE DATOS
Para enviar de datos se estableció un formato de trama.
Chr(13)
(Dirección Zona) Modo Argumento Enter
Los comandos enviados por el módulo de procesamiento principal a los secundarios son:
Primera tasa de datos, Dirección de la zona, el cual es:
Zona 1: Data igual a 0x41, en hexadecimal, es decir en ascii es un A.
Zona 2: Data igual a 0x42, en hexadecimal, es decir en ascii es un B.
Zona 3: Data igual a 0x43, en hexadecimal, es decir en ascii es un C.
Para las funciones se debe programar así,
Para modo ON/OFF
Modo ON, se debe enviar una trama primera de,
MODO ON/OFF: Data igual a 0x61 (hexa) o a (ascii)
Argumento:
Apagar: Data igual a 0x00 (hexa) o 0 (ascii)
Encender: Data igual a 0x01 (hexa) o 1 (ascii)
Para modo REGULACIÓN MANUAL
Modo REGULA: Data igual a 0x62 (hexa) o b (ascii)
Argumento:
Nivel: El nivel se mide a en 10 niveles de 0 a 9 y el data que debe enviarse es por
ejemplo, 0 (0x00) a diez 9 (0x09) en hexa.
Para modo REGULACIÓN AUTOMÁTICA,
Modo AUTOMÁTICO: Data igual a 0x63 (hexa) o c (ascii)
Argumento:
Apagar: Data igual a 0x00 (hexa) o 0 (ascii)
Encender: Data igual a 0x01 (hexa) o 1 (ascii)
Para modo PRESENCIA: Data igual a 0x64 (hexa) o d (ascii)
Argumento:
Apagar: Data igual a 0x00 (hexa) o 0 (ascii)
Encender: Data igual a 0x01 (hexa) o 1 (ascii)
27
6. DIAGRAMAS
6.1. DIAGRAMAS DE FLUJO
DIAGRAMA DE FLUJO PRINCIPAL
Figura 23. Diagrama de Flujo Principal.
El sistema comienza su ciclo de vida cuando el usuario ingresa a la aplicación, la primera entrada que se
recibe es la zona en la cual se desea realizar un cambio en la iluminación. Dependiendo de la zona elegida
(sala, habitación o cocina) las señales enviadas serán diferentes. Luego de elegir la zona, el usuario debe
elegir el modo en el que desea hacer funcionar su iluminación. El primer modo, llamado ON/OFF, como
su nombre lo indica permite el encendido y apagado manual de la luz según el usuario lo desee. El
segundo modo, Regula, funciona como un dimmer, regularizando la intensidad de la luz manualmente
desde la aplicación. El modo Regula Auto, al igual que el modo anterior regula la intensidad de la luz
pero este lo hace con una entrada extra al sistema, la cual indica la luminosidad de la zona escogida; con
dicha variable se regula la intensidad de la luz automáticamente e inmediatamente se des energiza el
sensor. El último modo, llamado Presencia enciende un sensor el cual se encarga de detectar movimiento
en un rango de 6 metros, al detectar movimiento enciende la luz por un periodo de tiempo de 15 minutos,
si al pasar ese tiempo el sensor no ha vuelto a detectar movimiento la luz comienza a desvanecerse
gradualmente, esto con fin de que si el usuario se encuentra todavía en la zona no quede totalmente
oscuro y pueda hacer un movimiento para que la luz vuelva a encenderse. Al salir de cualquiera de los
si
si
no no no
si
si si si
si
no no
si si
si
no
Start
Usuarioeligemodo
Usuarioprende/apagaEstado=X
On-Off?
Estado=0?
Bombillo=0
Usuariocon nuaenelapp?
FIN
Bombillo=1
Regula?
UsuariodeterminalaintensiaddeseadoEstado=X
Bombillo=X
RegulaAuto?
EncenderSensorLuminosidad
c
Bombillo=F(X)
Tomamedidadeluminosidad
lum=X
Presencia?
Encendersensordepresencia
Presencia=1?
Bombillo=1 Bombillo=0
Delay
Usuarioeligezona
28
modos, el sistema preguntará si el usuario sigue en la aplicación, al ser de ese modo el ciclo vuelve a
iniciar de otro modo el sistema finaliza.
DIAGRAMA DE FLUJO DEL MÓDULO DE PROCESAMIENTO PRINCIPAL
Figura 24. Diagrama de Flujo del Microcontrolador.
El anterior diagrama representa gráficamente el algoritmo del proceso con el cual funciona el módulo de
procesamiento principal (para ver el código fuente, ver anexo 1).
Mediante el protocolo de comunicaciones OSC, llegan señales al servidor alojado en el Ethernet shield, el
cual las trasmite al microcontrolador del Arduino.
El proceso comienza verificando si llegan señales OSC, una vez recibe un mensaje (el cual tiene un
arreglo de direcciones y un argumento) procede a comparar la primera posición del arreglo de direcciones
con cada una de las posiciones de un arreglo de constantes, llamado topAddress, definido al comienzo del
programa, cuando dicha comparación se hace cierta, entra en un ciclo donde es posible definir la
codificación de las señales que se deben enviar al puerto serial, dependiendo la zona en la que se desee
trabajar
no
si
no no
si si si
no no no
si si si si
si si si si
INICIOsedefinenvaloresde
constantes:topAddress[3],subAddress[4]
LleganseñalesOSC,provenientes
deliPhone?
LeerdireccióndeelmensajerecibidoenrecMes.getAddress[2].
LeerargumentodelmensajerecibidoenrecMes.getArgFloat
recMes.getAddress(0),topAddress
(0)?
recMes.getAddress(1),subAddress(0)?
Enviaralpuertoseriallaiden ficacióndelazonaSala
Enviaralpuertoserial:Iden ficacióndeelmodoON/OFFyelargumentodeelmensajerecibido(recMes.getArgFloat)
recMes.getAddress(1),subAddress(1)?
recMes.getAddress(1),subAddress(2)?
Enviaralpuertoserial:Iden ficacióndeelmodoREGULAyelargumentodeelmensajerecibido
(recMes.getArgInt)
Enviaralpuertoserial:Iden ficacióndeelmodoPRESENCIAyel
argumentodeelmensajerecibido(recMes.getArgFloat)
recMes.getAddress(1),subAddress(3)?
Enviaralpuertoserial:Iden ficacióndeelmodoREGULAAUTOyelargumentodeelmensaje
recibido(recMes.getArgFloat)
recMes.getAddress(0),topAddress
(1)?
recMes.getAddress(0),topAddress
(2)?
Enviaralpuertoseriallaiden ficacióndelazona
Habitación
Enviaralpuertoseriallaiden ficacióndelazona
Cocina
29
Luego, se realiza otra comparación, está entre la segunda posición del arreglo de direcciones del mensaje
y cada una de las posiciones de un arreglo de constantes, llamado subAddress, definido al comienzo del
programa, una vez esta validación se hace cierta es posible definir la codificación de las señales que se
deben enviar dependiendo el modo en que el usuario quiera modificar la iluminación del hogar, en este
paso también, se envía el valor flotante de la señal o argumento al puerto serial. Estas señales se envían
vía zigbee para luego ser leídas y procesadas por el sistema de procesamiento secundario
DIAGRAMA DE FLUJO DEL MÓDULO DE PROCESAMIENTO SECUNDARIO.
Figura 25. Diagrama de Flujo del Microcontrolador.
Ahora, luego de haber descrito a través del diagrama de flujo del módulo de procesamiento principal, se
continúa con la explicación del diagrama de flujo para el microcontrolador o módulo de procesamiento
secundario, el cual, en pocas palabras funciona de la siguiente forma:
El sistema, tiene inicializadas las variables que controlan las funciones en x, de tal forma que no ejecuta
ninguna función hasta tanto no llegue un dato al puerto USART y este corresponda a la zona determinada,
de no ser así este no entrará a leer ningún otro dato proveniente del puerto.
Luego de leer la totalidad de los datos el microcontrolador entrará a ejecutar las acciones definidas en
cada modo según la corresponda a la información recibida. Posteriormente, luego de ejecutadas las
funciones el sistema retornará a su estado en espera, una vez finalizada cada función y en el caso de que
no llegue ningún tipo de información nueva el sistema continúa trabajando en el estado anterior. Sin
NO
SI
NO NO
SI SI SI
NO
NO SI NO NO NO
SI SI SI SI
NO
NO
NO
SI SI
SI
NO SI
NO
SI
NO
NO
SI SI
SI
SI
NO
NO
SI
NO
INICIODATA,DATA2,DAT
A3,DATA4=X
¿VienedatoUSART?
DATATEMP=LECTURADELDATO
DATATEMP=A?
¿VienedatoUSART?
¿VienedatoUSART?
DATA=ADATA2=LECTURADEL
DATODATA3=LECTURADEL
DATO
DATA=A? DATA2=a? DATA2=b? DATA2=c?
DATA3=0?
OUTPUT=OFF
OUTPUT=ONNIVEL=CONVERSIÓN
(DATA3)OUTPUT=NIVEL
¿VienedatoUSART?
DATA4=LECTURADELDATO
DATA4=1?
SENSORPRESENCIA
=0?
OUTPUT=ONCONTEO=tseg
OUTPUT=MEDIOCONTEO=tseg
SENSORPRESENCIA
=0?
SENSORPRESENCIA
=0?
DATA2=d?
¿VienedatoUSART?
DATA4=LECTURADELDATO
DATA4=1?
SENSORLUMINOSIDADADC
CONVERSOROUTPUT=MEDIO
ADCSALIDA/128<3
OUTPUT=OUTPUT+20
ADCSALIDA/128>3
OUTPUT=OUTPUT-20
SENSORPRESENCIA=LecturaSensor
30
embargo, para poder comprender en su totalidad en el Anexo 2 se encuentra el código C de la
programación del microcontrolador.
6.2. DIAGRAMA DE BLOQUES
Figura 26. Diagrama de Bloques.
DESCRIPCIÓN DIAGRAMA DE BLOQUES:
Arduino UNO: Es el bloque de procesamiento principal y servidor, el cual se comunica con la tarjeta de
extensión Arduino Ethernet Shield, por otra parte se comunica con la tarjeta Xbee para enviar órdenes a
las diferentes zonas. Este sistema se encarga de decodificar las señales provenientes del iPhone y
recodificarlas para ser enviadas a las otras zonas.
Arduino Ethernet SHIELD, es el bloque extensivo de ARDUINO, que permite la comunicación entre
arduino y una red LAN, este se comunica al Access point para recibir la información del iPhone.
Access Point: Es el dispositivo que se encarga de la creación de la red wifi, al cual, se instala el servidor
creado en la tarjeta Arduino UNO, este sistema se comunica con el iPhone y con la tarjeta Arduino
Ethernet SHIELD
Xbee: Es el bloque de transmisión y recepción de cada una de las zonas, donde se reciben las señales
provenientes del sistema principal y se envían las señales de los sensores. A este bloque ingresan las
señales del Microcontrolador y Arduino Uno
Sensor1: Sensor de Presencia que detecta si alguien se encuentra dentro de la habitación, es una entrada
del microcontrolador.
Sensor 2: Sensor de Luminosidad, mide la intensidad de luz en la zona. Es una entrada del
microcontrolador.
Sensor Micro Xbee TransRecep1_TransReceoPrincip TransRecep2_TransReceoPrincip Xbee Micro Sensor
Presencia SP1_Micro controlador Micro_Xbee 1 3 Xbee_micro Controlador SP3_Micro Presencia
1 1bit 2 2bits 2bits 3 1bit 3
Sensor TransRecep3_TransReceoPrincip Sensor
Iluminación SI1_Micro SI3_Micro Iluminación
1 Análoga Análoga 3
XBEE_principal-Coordianador
Actuador Actuador
1 Act1_Micro Act3_Micro 3
1bit 1bit
2bits
ARDUINOUNO
Sensor Micro Xbee
Presencia SP2_micro controlador Micro_Xbee 2 IPHONE
2 1bit 1 2bits
Sensor
Iluminación SI2_micro
2 Análoga
ARDUINOETHERNETSHIELD ACCESSPOINT
Actuador
2 Micro_Act
1
ComunicacionWifi
31
Actuador: Se encarga de graduar la intensidad de luz del bombillo en la diferentes zonas, se comunica con
el bloque microcontrolador.
MicroControlador: Es el bloque que se encarga de interpretar la información según la información
proveniente del Arduino UNO, y realizar las operaciones de ejecución necesarias.
6.3. DIAGRAMA DE CONEXIONES
DIAGRAMA DE CONEXIONES MODULO DE PROCESAMIENTO PRINCIPAL. ZIGBEE-
ARDUINO
Figura 27. Circuito de conexiones Xbee
32
DIAGRAMA DE CONEXIONES MODULO DE PROCESAMIENTO SECUNDARIO. PIC18F252
Figura 28. Circuito de conexión microcontrolador.
33
7. ANALISÍS DE RESULTADOS
Una vez finalizado el prototipo, se prosiguió a analizar los resultados arrojados
7.1. FUNCIONALES
7.1.1. INPUT/OUTPUT
Como se describe anteriormente, ante una entrada del usuario indicado que desea utilizar el modo
ON/OFF en la zona sala, el actuador debe responder iluminando a su mayor intensidad o apagándose
completamente, en las siguientes imagines se observa que el puerto serial de la arduino arroja las señales
codificadas para que se enciendan la iluminación de la zona Sala en modo ON/OFF, en la Figura 27 y 28,
vemos la salida del micro-controlador y la entrada al triac (120V-60 Hz)
Figura 29, Figura 30. Señal encendido 100%.
Modo ON/OFF- Actuador OFF
Figura 31, Figura 32. Señal apagadago 0%.
Modo Regula- Actuador 50%
34
Figura 33, Figura 34. Señales modo regula 50%
Modo Presencia
En la Figura 33 y 34, la señal de color Amarillo es el sensor de presencia, se observa que una vez este
detecta presencia, pasa a bajo, y la salida del microcontrolador (señal azul) pasa a alto. La salida no se
observa totalmente en alto ya que para documentar mejor las pruebas se decidió que el actuador
encendiera a un nivel medio.
Figura 35, Figura 36. Señales modo detecciòn de presencia.
Modo Regulación Automática
En la figura de la derecha se observa como a medida que baja la intensidad lumínica en un hogar, el
sensor de luminosidad baja su valor, haciendo este que la salida del microcontrolador aumente para poder
brindar mayor iluminación en el espacio, tal como era de esperarse.
Figura 37, Figura 38. Señales modo regulación automática.
35
7.2. PROTOTIPO VISTO POR UN USUARIO
Se realizó un sondeo en expo electrónica, preguntándoles a los visitantes cómo veían el prototipo respecto
a los siguientes aspectos y se obtuvo en general
Calificación
Costo 8 Buen precio teniendo en cuenta el elevado
costo de sistemas domoticos en Colombia
y dado que no existen costos de cableado
Confort 8 Brindar más confort permitiendo encender
las luces desde cualquier lugar vía internet
Comercialización 10 Fácil instalación
Flexibilidad 5 Facilidad de agregar zonas y modos pero
a costo de diseño extra Tabla 4. Observaciones y promedio de calificaciones de los visitantes de expoelectrónica
7.3. NO FUNCIONALES
7.3.1. ROBUSTEZ (MODO A PRUEBA DE ERRORES)
Esta prueba se realizó hacienda uso de dos iPod touch, los cuales transmitían señales al mismo tiempo
estando conectados al mismo servidor, se observa que:
- Si se oprime en cada uno de los iPods diferentes comandos al mismo tiempo, el sistema no
responde a ninguna de las dos, dado que al estar conectadas al mismo servidor este no puede
procesar ambas señales y por lo tanto actúa como si ninguna llegará.
- Si se oprime un comando en el iPod 1 y luego otro comando diferente en el iPod 2, el sistema
responde en base a interrupciones, igual que si se estuviesen enviando ambas señales desde el
mismo iPod.
7.4. EFICIENCIA y CONSUMO
Estas pruebas pretenden mostrar la medida y comparación del consumo de potencia de los dispositivos
Xbee en modo sleep y modo ON.
Algunas consideraciones modo sleep:
- Los actuadores se encuentran OFF
- Los módulos de procesamiento secundario cuentan con 4 leds que permanecen encendidos
- El iPod no está enviando ninguna señal
- El módulo de procesamiento principal está a la espera de recibir señales para comenzar su
funcionamiento.
Algunas consideraciones modo ON:
- Actuador se encuentra ON
- Se están recibiendo señales provenientes del módulo de procesamiento principal.
36
Potencia Consumida (mW)
Modo On 264
Modo Sleep 165 Tabla 5.Potencia consumida dependiendo los modos de funcionamiento Xbee
La eficiencia se expresa:
7.5. MODULARIDAD
Se analizan los límites del proyecto y se tiene que:
- Aunque el diseño está basado en 3 zonas, es posible agregar cuantas zonas desee el usuario,
teniendo en cuenta que las máximas soportadas por una red Zigbee son 65535, aunque también se
tendrían tener en cuenta otras especificaciones como consume, eficiencia etc.
- La aplicación TouchOSC permite fácilmente su modificación, lo que sería útil si se quiere
agregar zonas, modos, funciones, etc. Sin embargo se debe tener en cuenta que para esto es
necesario agregar código tanto en el sistema de procesamiento principal como en el secundario.
- Dado que la etapa de salida es AC a 120V, modificando código es posible implementar
funcionalidades que trabajen con motores AC, como p.e el movimiento de una persiana.
7.6. ALCANCE
Las pruebas de alcance se realizaron dentro de la facultad de ingeniería electrónica, 5to piso.
Ubicando el sistema de procesamiento principal en el cubículo 501, localizado en el costado oriental del
edificio.
7.6.1. WIFI
Se enviaron señales desde el iPhone estando este localizado en el costado occidental del edificio, piso 5to,
se recibieron satisfactoriamente estas señales.
Bajando a la entrada del departamento de electrónica piso 4to, se comenzó a debilitar la señal hasta que el
iPhone perdió la conexión a la red wifi.
Efectivamente el sistema tiene un alcance de aproximadamente 60mts, valor que esta en el rango de
especificaciones de “wifi“
7.6.2. ZIGBEE
Sistema de procesamiento secundario localizado en el cubículo 503 localizado aproximadamente 10
metros del cubículo 501, se tiene lo siguiente
37
Tabla 6. Número de comandos enviados vs. número de comandos recibidos
Por lo que se concluye que en lugares cerrados el alcance del protocolo Zigbee disminuye, sin embargo se
debe tener en cuenta
La presencia de otros fenómenos magnéticos o eléctricos que son abundantes en la Facultad de ingeniería
interfieren en la calidad y debilitan la señal
Número de
comandos
enviados
Número de
comandos
recibidos
Número de
commandos
fallidos
Modo On-Off 10 5 5
Modo Regulación
manual
5 2 3
Modo presencia 5 1 4
38
8. CONCLUSIONES
Se evidenció que para crear una aplicación para iPhone, se debe llevar a cabo un largo, tedioso y
costoso proceso de registro en el programa de desarrolladores, ya que sin este registro es
imposible poder probar el desarrollo en un iPhone, iPad, etc. Por lo que se recurrió a buscar
estrategias más fáciles y rápidas como TouchOSC.
El uso de nuevas tecnologías y protocolos de comunicación, como OSC, facilitan el envió y
procesamiento de señales inalámbricas, permitiendo así el desarrollo de nuevas ideas no solo en
el campo de la domótica sino en otros como la robótica, la música, etc. Además vale resaltar la
flexibilidad que estas aplicaciones brindan dado que pueden ser utilizadas en diferentes sistemas
operativos móviles como Android e IOS y así mismo permiten la creación de interfaces graficas
según el usuario lo requiera.
A pesar de que no entregar respuesta de recibo o ACK, se implementó una configuración Xbee,
llamada BroadCast, la cual permite el envío de información desde un nodo a varios nodos en una
misma red, dado su fácil implementación. Al evaluar todo los tipos de configuración se evidenció
que existen otros que cumplen las mismas funciones pero con un más alto rendimiento, como es,
punto a multipunto, sin embargo no se profundizó en este tema dado que no eran los objetivos del
trabajo de grado ya que estos requerían más líneas de código y un estudio más profundo de este
protocolo.
Se observó en los diferentes protocolos de pruebas, y de forma específica con las tarjetas Xbee,
que una de las etapas más sensibles en el control inalámbrico es precisamente la comunicación,
ya que estas señales se ven afectadas por elementos metálicos, o fuentes de campo magnético y
eléctrico, por lo que al momento de pensar en soluciones inalámbricas es necesario tomar
precauciones y consideraciones frente a estos fenómenos. Para solucionar este inconveniente se
podría llegar a implementar la ampliación del rango de cobertura y el filtraje de las señales a
través de la utilización de la antena de extensión de Xbee.
Dentro del trabajo de ingeniería que cualquier proyecto requiere, en el cual se utilicen sistemas
digitales siempre se deben tener consideraciones en cuanto a la comunicación con interfaces de
usuario o con otros dispositivos, ya que se debe garantizar la sincronización de la información
entre los sistemas. Es por esa razón que la selección de los sistemas y los sensores o sistemas
adicionales debe hacerse de la forma más profunda, para evitar inconvenientes de
funcionamiento.
Los microcontroladores son dispositivos que a pesar de su edad, aproximadamente 1970 siguen
demostrando estar a la vanguardia de la tecnología, ya que estos dispositivos le permiten al
ingeniero desarrollar soluciones a problemas de la actualidad con herramientas antiguas.
39
9. BIBLIOGRAFÍA
ALZATE, Builes. Domótica e Inmótica: Módulos instruccionales para la formación professional. UPB.
Medellín. 2003
CAICEDO, Laura y ESCOBAR, Andrés. Estudio del Mercado de la dómotica en Colombia. PUJ. Bogotá.
2011
CUEVAS, Juan. MARTÍNEZ, Jesús. El protocolo x10: una solución antigua a problemas actuales.
Universida de malaga. ESPAÑA. 2009
FARHANI, Shahin. ZigBee Wireless Networks and Transceivers.
FARHANI, Shahin. ZigBee Wireless Networks and Transceivers.2006
GROUT, Ian. Digital Systems Design with FPGA’s and CPLD’s.
HIUDOBRO, José Manuel y MILLAN, Ramón J. DOMÓTICA. Edificios Inteligentes. 1ra Edición.
España. 2009.
MALONEY Timothy, Electrónica Industrial, Dispositivos y Sistemas. Ed PRENTICE HALL
HISPANOAMERICA. 2000.
MALONEY Timothy, Electrónica Industrial, Dispositivos y Sistemas. Ed PRENTICE HALL
HISPANOAMERICA. 2000.
TORRES ESPERANZA, Análisis Cualitativo de los sistemas de telecomunicación y computación en los
edificios. UNAM, Mexico. 2000.
URIBE, Amón. Investigación del Mercado domótico colombiano. UPB. Medellín. 2007
URIBE, José y VÁSQUEZ, Nelson. Diagnóstico e implementación de mejoras en el ¨sistema de control y
supervisión de la malla de iluminación-xue”. Versión 2.0. 2003, PUJ Bogotá
WILSON, Jon. Sensor Technology Handbook. Elsiever. 2005.
40
10. INFOGRAFÍA
ATMEGA644, precio http://www.sigmaelectronica.net/atmega644-20pu-p-1063.html
CASADOMO, Artículo Web sobre la historia de la domótica y el hogar digital. Link
http://www.casadomo.com/noticiasDetalle.aspx?c=10&idm=16.
P87C51SFPN, precio http://www.sigmaelectronica.net/p87c51sfpn-p-1185.html
PIC 18F252, precio.http://www.sigmaelectronica.net/microchip-c-23_41.html?page=2&sort=2a
PROGRAMACIÓN APPLE http://www.yoprogramo.com/2011/01/11/mi-primera-aplicacion-para-
iphone-experiencias-con-apple/
TOUSCH OSC. http://opensoundcontrol.org/introduction-osc
41
11. ANEXOS
11.1. CODIGO FUENTE DE EL MODULO DE PROCESAMIENTO PRIMARIO -
ARDUINO
#include <SPI.h>
#include "Ethernet.h"
#include "OSCClass.h"
OSCMessage recMes;
OSCClass osc(&recMes);
byte serverMac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte serverIp[] = { 169, 254, 93, 140 };
int serverPort = 8000;
//se definen los caracteres con los que van a ser comparadas las direcciones de los mensajes OSC.
char *topAddress[3]={"sala","cocina","habitacion"};
char *subAddress[4]={ "onoff" , "slider" , "presencia" , "luminosidadCine"};
void setup() {
Serial.begin(9600);
Ethernet.begin(serverMac ,serverIp);
//Se crea un servidor donde llegaran las senales OSC
osc.begin(serverPort);
//
42
osc.flush();
}
void loop() {
int Pos;
int incomingByte=0;
//Llegaron senales OSC?
if ( osc.available() ) {
//logMessage(&recMes);
//------------------------SALA------------------------------------
if( !strcmp( recMes.getAddress(0) , topAddress[0] ) ){
//Sala???
int zona= 0x41;
//Zona Sala
Serial.write(zona);
if( !strcmp( recMes.getAddress(1) , subAddress[0] ) ){
//Modo on/off
Serial.write('a');
int dato=recMes.getArgFloat(0)*1;
switch (dato){
case 0:
Pos=0;
Serial.print(Pos);
break;
43
case 1:
Pos=1;
Serial.print(Pos);
break;
}
}
else if( !strcmp( recMes.getAddress(1) , subAddress[1] ) ){
Serial.write('b');
//Modo regulacion manual
float valor = (float)recMes.getArgFloat(0);
int valordef= int(valor);
Serial.print(valordef);
}
else if( !strcmp( recMes.getAddress(1) , subAddress[2] ) ){
Serial.write('d');
//Modo Presencia
int dato2=recMes.getArgFloat(0)*1;
switch (dato2){
case 0:
Pos=0;
Serial.print(Pos); // envia el datos hexa de apagar
break;
case 1:
Pos=1;
Serial.print(Pos);
break;
}
44
}
else if( !strcmp( recMes.getAddress(1) , subAddress[3] ) ){
Serial.write('c');
//Modo Regulacion automatica
Serial.print('1');
int dato3=recMes.getArgFloat(0)*1;
switch (dato3){
case 0:
Pos=0;
Serial.print(Pos); // envia el datos hexa de apagar
break;
case 1:
Pos=1;
Serial.print(Pos);
break;
}
}
}
}
//--------------------------COCINA--------------------------------
else if (!strcmp( recMes.getAddress(0) , topAddress[1] )){
int zona2=0x42;
//Zona Cocina
45
Serial.write(zona2);
if( !strcmp( recMes.getAddress(1) , subAddress[0] ) ){
//Modo ON/off
Serial.write('a');
int dato=recMes.getArgFloat(0)*1;
switch (dato){
case 0:
Pos=0;
Serial.print(Pos);
break;
case 1:
Pos=1;
Serial.print(Pos);
break;
}
}
else if( !strcmp( recMes.getAddress(1) , subAddress[1] ) ){
Serial.write('b');
//Modo regulacion manual
float valor = (float)recMes.getArgFloat(0);
int valordef= int(valor);
Serial.print(valordef); //ch
}
else if( !strcmp( recMes.getAddress(1) , subAddress[2] ) ){
Serial.write('d');
//Modo Presencia
int dato2=recMes.getArgFloat(0)*1;
46
switch (dato2){
case 0:
Pos=0;
Serial.print(Pos); // envia el datos hexa de apagar
break;
case 1:
Pos=1;
Serial.print(Pos);
break;
}
}
else if( !strcmp( recMes.getAddress(1) , subAddress[3] ) ){
Serial.write('c');
//Modo Regulacion automatica
Serial.print('1');
int dato3=recMes.getArgFloat(0)*1;
switch (dato3){
case 0:
Pos=0;
Serial.print(Pos); // envia el datos hexa de apagar
break;
case 1:
Pos=1;
Serial.print(Pos);
break;
}
}
47
}
//-------------------------HABITACION-------------------------------------
else if (!strcmp( recMes.getAddress(0) , topAddress[2] )){
int zona3=67;
Zona Habitaci'n
if( !strcmp( recMes.getAddress(1) , subAddress[0] ) ){
//Modo On/off
Serial.write('a');
int dato=recMes.getArgFloat(0)*1;
switch (dato){
case 0:
Pos=0;
Serial.print(Pos);
break;
case 1:
Pos=1;
Serial.print(Pos);
break;
}
}
else if( !strcmp( recMes.getAddress(1) , subAddress[1] ) ){
Serial.write('b');
//Moso regulacion manual
48
float valor = (float)recMes.getArgFloat(0);
int valordef= int(valor);
Serial.print(valordef); //ch
}
else if( !strcmp( recMes.getAddress(1) , subAddress[2] ) ){
Serial.write('d');
//Modo Presencia
int dato2=recMes.getArgFloat(0)*1;
switch (dato2){
case 0:
Pos=0;
Serial.print(Pos); // envia el datos hexa de apagar
break;
case 1:
Pos=1;
Serial.print(Pos);
break;
}
}
else if( !strcmp( recMes.getAddress(1) , subAddress[3] ) ){
Serial.write('c');
//Modo regulacion automatica
Serial.print('1');
int dato3=recMes.getArgFloat(0)*1;
switch (dato3){
case 0:
Pos=0;
49
Serial.print(Pos); // envia el datos hexa de apagar
break;
case 1:
Pos=1;
Serial.print(Pos);
break;
}
}
}
}
// ********* utility *********************************** TOMADO DE
iOSC_iPhone_test_Arduino_sketch de la libreria OSCClass de Arduino
void logMessage(OSCMessage *mes){
uint8_t *ip=mes->getIp();
//disp ip & port
Serial.print("from IP:");
Serial.print(ip[0],DEC);
Serial.print(".");
Serial.print(ip[1],DEC);
Serial.print(".");
Serial.print(ip[2],DEC);
50
Serial.print(".");
Serial.print(ip[3],DEC);
Serial.print(" port:");
Serial.print(mes->getPort(),DEC);
Serial.print(" ");
//disp adr
for(int i = 0 ; i < mes->getAddressNum() ; i++){
Serial.print(mes->getAddress(i));
}
//disp type tags
Serial.print(" ,");
for(int i = 0 ; i < mes->getArgNum() ; i++){
Serial.print(mes->getTypeTag(i));
}
Serial.print(" ");
//disp args
for(int i = 0 ; i < mes->getArgNum() ; i++){
switch( mes->getTypeTag(i) ){
51
case 'i': {
Serial.print( mes->getArgInt(i) );
}
break;
case 'f': {
Serial.print( mes->getArgFloat(i) );
}
break;
}
Serial.print(" ");
}
Serial.println("");
}
11.2. CODÍGO FUENTE DEL MODULO DE PROCESAMIENTO SECUNDARIO-
PIC18F252
/*
* File: ZONA18F252.c
52
* Author: LAURA CAICEDO CAMACHO Y ANDRES ESCOBAR SUAREZ
*
*
*/
#include <p18f252.h>
#include <usart.h>
#include <delays.h>
#include <adc.h>
#include <math.h>
#include <timers.h>
#pragma config OSCS = ON, OSC = XT
#pragma config BOR = OFF, BORV = 45, PWRT = ON
#pragma config WDT = OFF
#pragma config STVR = ON, LVP = OFF //, DEBUG = ON
#pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF
#pragma config CPB = OFF, CPD = OFF
#pragma config WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF
#pragma config WRTC = OFF, WRTB = OFF, WRTD = OFF
#pragma config EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF
#pragma config EBTRB = OFF
void PWM60 (int,int);
#define SensorPresenciaPORT PORTAbits.RA1
53
#define SensorLuminosidadPORT PORTAbits.RA0
#define Actuador PORTCbits.RC2
#define DataInPORT PORTCbits.RC7
#define DataOutPORT PORTCbits.RC6
#define LED1 PORTBbits.RB0
#define LED2 PORTBbits.RB1
#define LED3 PORTBbits.RB2
#define LED4 PORTBbits.RB3
#define Zero PORTBbits.RB4
volatile char Data='X', Data2='X', Datatemp='X';
volatile int Data3='9', Data4='9';
int result,result2, level, nivel=0, timer, Cycle, interrup=0;
void main (void)
{
TRISA=0x13;
TRISB=0x10;
TRISC=0x40;
LED1=1;
LED2=1;
LED3=1;
LED4=1;
54
OpenUSART (USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX,
25 );
OpenADC (ADC_FOSC_16 &
ADC_RIGHT_JUST &
ADC_1ANA_0REF,
ADC_CH0 &
ADC_INT_OFF);
//OpenPWM1 (0x3C);
OpenTimer0 (TIMER_INT_OFF & T0_8BIT & T0_SOURCE_INT & T0_PS_1_256) ;
OpenTimer2( TIMER_INT_OFF & T2_PS_1_1 & T2_POST_1_1 );
//OpenTimer2 (TIMER_INT_OFF & T0_16BIT & T0_SOURCE_EXT & T0_PS_1_8);
while(1){
LED1=1;
55
LED2=0;
LED3=0;
LED4=0;
while (DataRdyUSART()==0);
Datatemp=getcUSART();
if (Datatemp=='A'){
while (DataRdyUSART()==0);
Data2=getcUSART();
}
switch (Data2){
case 'a':
//Funcion ON/OFF controlado desde el iphone
if(Datatemp=='A'){
while (DataRdyUSART()==0);
Data3=getcUSART();
}
LED1=1;
LED2=0;
LED3=0;
LED4=0;
56
if (Data3=='0'){
PWM60(0,0);
}
else if(Data3=='1'){
PWM60(300,0);
}
break;
case 'b':
if(Datatemp=='A'){
while (!BusyUSART()==0);
//Funcion de usuario regula
while (DataRdyUSART()==0);
}
Data3=getcUSART();
LED1=0;
LED2=1;
LED3=0;
LED4=0;
//A continuación se definen las señales de cada nivel.
switch (Data3){
case '0':
nivel=0;
break;
case '1':
57
nivel=10;
break;
case '2':
nivel=20;
break;
case '3':
nivel=35;
break;
case '4':
nivel=50;
break;
case '5':
nivel=75;
break;
case '6':
nivel=150;
break;
case '7':
nivel=210;
break;
case '8':
nivel=270;
break;
case '9':
nivel=300;
break;
}
58
PWM60(nivel,0);
break;
case 'c':
if(Datatemp=='A'){
while (DataRdyUSART()==0);
//Funcion de Iluminaion
Data3=getcUSART();
}
LED1=0;
LED2=0;
LED3=0;
LED4=1;
nivel=Data3;
switch (nivel){
case '0':
break;
case '1':
if(Datatemp=='A'){
while(DataRdyUSART()==0);
Data4=getcUSART();
}
if(Data4=='1'){
//Romantico
level=3;
nivel=3;
59
}
else if(Data4=='0'){
nivel=0;
level=0;
}
break;
case '2':
break;
}
while(DataRdyUSART()==0){
ConvertADC();
while(BusyADC()==1);
result=ReadADC();
result2=result/128;
//Comparación de mayor o menor de la lectura ADC
if(result2>level){
LED1=1;
LED2=1;
LED3=0;
LED4=0;
}
else if(result2<level){
LED1=1;
LED2=0;
LED3=1;
LED4=0;
60
}
else{
PWM60(nivel,1);
}
while(DataRdyUSART()==0 && result2<level && nivel<269){
ConvertADC();
while(BusyADC()==1);
result=ReadADC();
result2=result/128;
PWM60(nivel,1);
nivel=nivel+30;
}
while(DataRdyUSART()==0 && result2>level && nivel>0){
ConvertADC();
while(BusyADC()==1);
result=ReadADC();
result2=result/128;
PWM60(nivel,1);
nivel=nivel-30;
}
while(DataRdyUSART()==0 && result==level){
PWM60(nivel,1);
}
}
break;
case 'd':
61
if(Datatemp=='A'){
while(DataRdyUSART()==0);
Data4=getcUSART();
}
LED1=0;
LED2=0;
LED3=0;
LED4=1;
if (Data4=='1'){
while(DataRdyUSART()==0){
while(SensorPresenciaPORT==1 && DataRdyUSART()==0);
nivel=299;
PWM60(nivel,1);
while(DataRdyUSART()==0 && nivel>0 && SensorPresenciaPORT==1){
nivel=nivel-20;
PWM60(nivel,1);
}
}
}
else if (Data4=='0'){
PWM60(0,1);
}
break;
}
}
}
62
void PWM60(int nivel, int control){
int Cruce;
if(control==0){
while(DataRdyUSART()==0){
int x=0;
if(Zero==0){
while (x<nivel && DataRdyUSART()==0){
WriteTimer2(0);
while(ReadTimer2()<=1);
x=x+1;
PORTCbits.RC2=1;
}
while (x<300 && DataRdyUSART()==0){
WriteTimer2(0);
while(ReadTimer2()<=1);
x=x+1;
PORTCbits.RC2=0;
}
}
}
}
63
else if(control==1){
int y=0;
while(DataRdyUSART()==0 && y<100 ){
int x=0;
if(Zero==0){
while (x<nivel && DataRdyUSART()==0){
WriteTimer2(0);
while(ReadTimer2()<=1);
x=x+1;
PORTCbits.RC2=1;
}
while (x<=300 && DataRdyUSART()==0){
WriteTimer2(0);
while(ReadTimer2()<=1);
x=x+1;
PORTCbits.RC2=0;
}
y=y+1;
}
}
}
else if(control==2){
int y=0;
64
while(DataRdyUSART()==0 && y<100 && SensorPresenciaPORT==1){
int x=0;
if(Zero==0){
while (x<nivel && DataRdyUSART()==0){
WriteTimer2(0);
while(ReadTimer2()<=1);
x=x+1;
PORTCbits.RC2=1;
}
while (x<=300 && DataRdyUSART()==0){
WriteTimer2(0);
while(ReadTimer2()<=1);
x=x+1;
PORTCbits.RC2=0;
}
y=y+1;
}
}
}
return;
}
11.3. PROGRAMACIÓN DE XBEE CON X-CTU
65
Para poder programar las tarjetas Xbee es necesario contar con un software llamado X-CTU el cual puede
ser descargado de la pagina de digi.com .
Se debe habilitar un puerto com para que al conectar la xbee mediante la xbee shield sea reconocida por el
PC. Una vez conectado el modulo xbee, se debe escoger la opción Test/Query para determinar la correcta
lectura del modulo (Fig. X)
Fig. X Interfaz X-CTU
Una vez que el modem esta trabajando correctamente, se habilitan las opciones de Modem Configuration
y Terminal, en cualquiera de las dos es posible configurar el xbee cambiando parámetros, leyendo
configuración y escribiendo nueva configuración, restaurar valores originales y actualizar firmware.
Para este desarrollo se trabajo en terminal de la siguiente manera
66
Fig. X Configuración Xbee por Terminal