ilight up t.g. 1102 laura mariana caicedo camacho …

74
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

Upload: others

Post on 25-Jun-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 2: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 3: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.”

Page 4: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 5: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 6: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 7: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 8: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 9: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 10: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 11: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 12: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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á

Page 13: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 14: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 15: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 16: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 17: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 18: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 19: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 20: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 21: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 22: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 23: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 24: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 25: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 26: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 27: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 28: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 29: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 30: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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ó

Page 31: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 32: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 33: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 34: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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)

Page 35: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 36: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 37: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 38: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 39: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 40: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

32

DIAGRAMA DE CONEXIONES MODULO DE PROCESAMIENTO SECUNDARIO. PIC18F252

Figura 28. Circuito de conexión microcontrolador.

Page 41: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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%

Page 42: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 43: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 44: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 45: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 46: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 47: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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.

Page 48: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 49: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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);

//

Page 50: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

Page 51: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

}

Page 52: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 53: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

Page 54: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

}

}

Page 55: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 56: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

Page 57: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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);

Page 58: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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) ){

Page 59: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 60: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 61: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

Page 62: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

Page 63: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

Page 64: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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':

Page 65: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

}

Page 66: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

Page 67: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

Page 68: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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':

Page 69: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

}

}

}

Page 70: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

}

}

}

}

Page 71: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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;

Page 72: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 73: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

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

Page 74: iLight up T.G. 1102 LAURA MARIANA CAICEDO CAMACHO …

66

Fig. X Configuración Xbee por Terminal