scieee AI-readable full text Open interactive document viewer

Adaptador VLC para móvil

Frutos Ferrera, Javier

Abstract

Especialidad Telemática

Full text

UNIVERSIDAD DE LAS PALMAS DE GRAN CANARIA ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA PROYECTO FIN DE CARRERA Adaptador VLC para móvil. Presidente: Secretario: Vocal: Tutores: Autor: NOTA: TITULACIÓN: Telemática TUTOR/ES: José Alberto Rabadán Borges María Ferragut Fiol AUTOR: Javier Frutos Ferrera FECHA: Mayo 2014 UNIVERSIDAD DE LAS PALMAS DE GRAN CANARIA ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA PROYECTO FIN DE CARRERA Adaptador VLC para móvil. TITULACIÓN: Telemática TUTOR/ES: José Alberto Rabadán Borges María Ferragut Fiol AUTOR: Javier Frutos Ferrera FECHA: Mayo 2014 I Agradecimientos Mi más sincero agradecimiento a mis tutores José Alberto Rabadán Borges y María Ferragut Fiol por su apoyo, dedicación y paciencia a lo largo de este proyecto. A mi familia por el apoyo y cariño prestado durante estos años tanto en los buenos como en los malos momentos. Al Departamento de Hardware del IDETIC por su amabilidad y colaboración durante el tiempo que estuve con ellos, y en especial a Oliver Tacoronte por su ayuda en esos instantes en los que lo daba por perdido. A José Maestre por su colaboración tanto en esos momentos de fatigas en el laboratorio como en las alegrías de cada resultado. A mi novia Lua, por su paciencia y compresión durante todos estos años de mi vida, tanto personal como estudiantil. Y por último a todos mis amigos que han compartido tanto mis buenos momentos como los malos a lo largo de toda mi carrera. A la Universidad de Las Palmas de Gran Canaria, por facilitarme los medios y materiales necesarios para la elaboración de éste proyecto. II III Glosario AAC Advanced Audio Coding AM Amplitude modulation ANSI American National Standards Institute API Application Programming Interface ASK Amplitude-shift keying A/D Analog/Digital BSD Berkeley Software Distribution CCP Capture-Compare-PWM CDMA Code División Múltiple Access CPU Central Processing Unit DBC Directive Beam Configuration DRM Digital rights management EEPROM Electrically Erasable Programmable Read-Only EVDO Evolution-Data Optimized o Evolution-Data Only FPS First Person Shooter GPS Global Positioning System HSP Higher Sound Performance HTML HyperText Markup Language HTTP Hypertext Transfer Protocol ICD In circuit debbuger ICSP In circuit serial programmer ID Identification number IV IDE Integrated development environment IEEE Institute of Electrical and Electronics Engineers IR Infrared IrDA Infrared Data Association JVM Java Virtual Machine LAN Local area network LED Light emitting diode LIFI Light Fidelity MIPS Million instructions per second MMS Multimedia messaging system MTP Media Transfer Protocol NDK Native Development Kit NFC Near field communication OHA Open Handset Alliance OPENGL Open Graphics Library OS Operative system OTI Organización de Telecomunicaciones Iberoamericanas PAN Personal Area Network PC Personal computer PDA Personal digital assistant PIC Peripheral Interface Controller PTP Picture Transfer Protocol RAM Random Access Memory RC Resistor and capacitor RF Radio frequency RGB Red, green, blue SD Secure Digital SDK Software development kit SGL Scalable Graphics Library SIE Serial interface engine SMS Short Message Service V SSL Secure Sockets Layer S/N Signal to noise ratio UART Universal Asynchronous Receiver-Transmitter UHF Ultra High Frequency URL Uniform resource locator USB Universal Serial Bus VHF Very High Frequency VLC Visible light communication VPN Virtual Private Network WIFI Wireless Fidelity WDT Watchdog timer WLAN Wireless local area network WLED White LED WVGA Wide Video Graphics Array XML eXtensible Markup Language YAFFS Yet Another Flash File System XII XIII Índice de Tablas Tabla P1. Coeficiente de corrección .................................................................................... 103 Tabla P.2. Costes asociados a los Recursos Humanos ......................................................... 104 Tabla P.3. Costes asociados a los Recursos Hardware ........................................................ 105 Tabla P.4. Costes asociados a los Recursos Software.......................................................... 106 Tabla P.5. Costes asociados a material fungible ................................................................. 107 Tabla P.6. Costes total del proyecto .................................................................................... 108 XIV XV Índice de Figuras Figura 1.1. Esquema del sistema completo ......................................................................... 4 Figura 2.1. Ejemplo de un enlace óptico no guiado punto a punto .................................... 11 Figura 2.2. Ejemplo de un enlace óptico no guiado difuso ................................................. 12 Figura 2.3. Ejemplo de un enlace óptico no guiado quasidifuso ......................................... 13 Figura 2.4. Ejemplo de un emisor de infrarrojos ................................................................. 14 Figura 3.1. Vista principal .................................................................................................... 45 Figura 4.1. Demoboard ........................................................................................................ 49 Figura 4.2 Cabecera ............................................................................................................. 55 Figura 4.3. Lateral ................................................................................................................ 56 Figura 4.4. Cuerpo principal ................................................................................................ 57 Figura 4.5. Cabecera 2 ......................................................................................................... 58 XVI Figura 4.6. Cuadro de diálogo .............................................................................................. 58 Figura 4.7. Menú 1 ............................................................................................................... 59 Figura 4.8. MPLAB ................................................................................................................ 59 Figura 4.9. Menú 2 ............................................................................................................... 60 Figura 4.10. Menú 3 ............................................................................................................. 60 Figura 5.1. Diagrama sistema transmisor ............................................................................ 64 Figura 5.2. Señal moduladora .............................................................................................. 65 Figura 5.3. Señal portadora ................................................................................................. 66 Figura 5.4. Señal modulada ................................................................................................. 66 Figura 5.5. Modulación ASK ................................................................................................. 67 Figura 5.6. Menú principal ................................................................................................... 68 Figura 5.7. Menú secundario ............................................................................................... 69 Figura 5.8. Diagrama de flujo del transmisor ...................................................................... 71 Figura 5.9. Trama ................................................................................................................. 73 Figura 5.10. Señal de salida del smartphone ....................................................................... 74 Figura 5.11. Señal de salida ensanchada ............................................................................. 75 XVII Figura 5.12. Transmisor ....................................................................................................... 76 Figura 5.13. Menú principal ................................................................................................. 77 Figura 5.14. Menú secundario de Dropbox ......................................................................... 78 Figura 5.15. Página de descarga de código ......................................................................... 79 Figura 6.1. Receptor ............................................................................................................ 82 Figura 6.2. Detector de envolvente ..................................................................................... 83 Figura 6.3. Rectificado de señal ........................................................................................... 85 Figura 6.4. Señal recibida..................................................................................................... 86 Figura 6.5. Señal ensanchada .............................................................................................. 86 Figura 6.6. Señal final .......................................................................................................... 87 Figura 6.7. Diagrama de flujo del receptor .......................................................................... 88 XVIII Introducción 1 Capítulo 1 INTRODUCCIÓN Actualmente vivimos en un mundo en el cual la tecnología nos rodea en cada paso que damos, en nuestra casa, lugar de trabajo, supermercados, hasta incluso en los parques podemos ver dicha tecnología. Cada día existen más y más aparatos electrónicos con multitud de funciones que nos acompañan en nuestro día a día, facilitándonos nuestras tareas cotidianas. Poco a poco se ha ido viendo una evolución tecnológica que el usuario medio ha aceptado con gran regocijo. Lentamente han ido apareciendo en el mercado diversos aparatos electrónicos con increíbles posibilidades, sin ir más lejos, hoy por hoy al comprar una televisión ya no se limitan a tener una imagen nítida, poseen distintos puertos para lectura de discos duros, conexión de ordenadores, reproductores y grabadores integrados, e incluso internet. Todo ello no es más que la integración de diversas tecnologías existentes en un único dispositivo, un ejemplo claro de todo esto es ni más ni menos que los smartphones o teléfonos inteligentes. En los últimos años se han desarrollado de tal manera que es posible desde hacer una llamada normal o video llamada, hasta pagar con ellos mediante el NFC (Near field communication). Adaptador VLC para móvil 2 Este proyecto se centrará en una de las tecnologías que últimamente se están desarrollando a gran velocidad como es el caso de las comunicaciones ópticas, concretamente en la tecnología llamada VLC, la cual se basa en la transmisión de información a ciertas frecuencias dentro del espectro visible. Es una tecnología nos ofrece muchísimas ventajas frente a otras formas de transmisión, la más importante de ellas es sin duda la seguridad a la hora de transmitir los datos, ya que, al contrario que otros medios de transmisión, en los que con un sencillo software se vuelve posible interceptar la señal, en este caso es imprescindible la sustitución del receptor, volviéndose, por tanto, necesario la utilización de material específico y acceso al receptor. Otra de las ventajas es la utilización de un medio que no está saturado, como pasa con el espectro radioeléctrico, permitiendo, además, su utilización en lugares donde por motivos de seguridad o de otra índole no es posible el uso de tecnologías que usen sistemas de radiofrecuencia. El bajo coste de implementación de dicha tecnología es un plus a su favor, ya que podemos valernos de múltiples objetos que hay en nuestra vida cotidiana para la transmisión. Farolas, móviles, oficinas, garajes, hogares, etc. todos los lugares en los que trabajamos, vivimos y nos desplazamos encontramos dispositivos que podemos utilizar para crear un sistema de transmisión por luz visible. A lo largo de este proyecto se implementará un sistema completo, tanto el transmisor como el receptor, de tal manera que un dispositivo móvil pueda interactuar con el receptor y así facilitar tareas cotidianas tales como la apertura de puertas sin necesidad de utilizar una llave física, únicamente con nuestro smartphones posible abrir las puertas de una casa mediante un sencillo aparato conectado al móvil a través del sistema de auriculares (gadget). Otra de las características de este proyecto es la posibilidad de tener la información necesaria para interactuar con el receptor o en su defecto poder descargarla desde internet. La aplicación dará la opción de o bien descargar la información o de insertarla directamente para su posterior utilización. Introducción 3 Para su realización se usará un Smartphone con sistema operativo Android, al cual se le añadirá un LED conectado al sistema de audio mediante un conector minijack, logrando con ello una transmisión a una velocidad que no sería posible mediante el uso del LED de la cámara que incorporan estos teléfonos, pero si es factible con el sistema de audio. A continuación, se recogerá la información enviada y se validará. Para desarrollar este proyecto lo dividiremos en los siguientes pasos: 1º El primer paso para la creación de este sistema, será la generación de un tono de 10Khz logrando así la transmisión de la información a una velocidad de 1kbps. 2º Una vez generado la señal a transmitir se introducirá en el circuito transmisor óptico para luego proceder a su posterior tratamiento para la recepción, obteniendo así una señal cuadrada, la cual se amplificará y podrá ser procesada por el microprocesador. 3º Para la recepción de la señal se utilizará el microprocesador PIC 18F4550, el cual se encargará de recogerla, comprobar su validez y enviar la señal de código correcto o erróneo para así proceder a efectuar la acción para la cual fue instalado, apertura de puerta, envío de datos, transmisiones bancarias, etc. 4º En este momento se creará una nueva forma de transmitir la información a través de un archivo que será accesible desde Dropbox. Para ello se creará un botón específico desde el cual se podrá insertar una URL y acceder a ella para descargar el archivo. Un esquema del funcionamiento del dispositivo completo se puede ver en la figura 1.1, en los próximos capítulos se realizará una explicación más detallada sobre cada uno de los sistemas. Adaptador VLC para móvil 10 2.2 Tipos de redes ópticas no guiadas Los primeros sistemas de comunicación óptica no guiada se centraron en mecanismos medianamente simples como mandos a distancia o en tecnologías potencialmente perjudiciales para el ser humano tales que sistemas de fibra con ciertos emisores láser cuyo uso podía provocar importantes daños, especialmente para los ojos. Podría clasificarse a las redes ópticas no guiadas en tres grandes grupos según se trate de aquéllas que utilicen enlaces punto a punto, difuso o quasidifusos. 2.2.1 Enlaces punto a punto Los sistemas por visión directa (Figura 2.1), también denominados enlaces DBC o Directive Beam Configuration, pueden proporcionar velocidades de transmisión bastante elevadas propiciadas entre otros motivos por la carencia de reflexiones en sus comunicaciones, lo que a su vez evita la presencia de fenómenos de multipropagación; además, constituyen una buena alternativa a sistemas de radioenlace por su poco coste y gran ancho de banda. Sin embargo, y como mayor inconveniente, presentan una gran necesidad de alineación. Entre sus aplicaciones se encuentran la interconexión de redes para el acceso a edificios, la transmisión de datos en espacio libre o la interconexión de dispositivos o estaciones de trabajo de posiciones fijas. Tecnologías de comunicación y VLC 11 2.2.2 Enlaces difusos Una de las diferencias más pronunciadas que caracterizan a este tipo de sistemas (Figura 2.2) con respecto a los destinados a ejecutar enlaces punto a punto radica en la disminución de su velocidad de transmisión. Sin embargo, contrarrestando esta circunstancia, consiguen mayor flexibilidad y dinamismo en las comunicaciones ya que no requieren la alineación del emisor y el receptor. Por ejemplo, para asegurar algo de movilidad en los equipos de redes WLAN es necesario que los sistemas trabajen en difusión, es decir, con diagramas de transmisión y campos de visión de gran amplitud, por lo que las señales de datos transmitidas por dichos equipos aprovechan las reflexiones sobre las paredes y otros obstáculos presentes en vez de basarse en la componente de visión en línea directa. De todas formas, y aunque no exista la necesidad de reapuntar los equipos, consumen bastante potencia y generan una nueva fuente de ruido, las reflexiones de la señal sobre el emisor. Las primeras redes de área local descritas que emplearon enlaces ópticos por difusión total datan del año 1979, dándose a conocer por F. R. Gfeller en un artículo que detalla su funcionamiento básico: los emisores ópticos transmitían señales luminosas en infinidad de direcciones para que los receptores pudieran captarlas en el mismo instante, de manera análoga a una red con topología en bus. No obstante, estos Figura 2.1. Ejemplo de un enlace óptico no guiado punto a punto Adaptador VLC para móvil 12 sistemas presentaban inconvenientes como el ya citado alto consumo de potencia y complicaciones en los diseños. 2.2.3 Enlaces quasidifusos Se consideran un término medio entre los dos sistemas anteriores, ya que emplean un enlace de alta directividad (aunque unidireccional) para la conexión emisor-superficie reflectora y otro en difusión para la unión superficie reflectorareceptor (Figura 2.3). Por ello, los niveles de potencia óptica necesarios son menores a los de los enlaces difusos y disminuye el efecto causado por las sucesivas reflexiones sobre la señal. Entre estos enlaces puede distinguirse asimismo los que utilizan un reflector activo, en los que un repetidor o satélite regenera y reenvía la señal, y los que hacen uso de uno pasivo, más empleados y que se limitan a reflejar la señal sin precisar ninguna clase de mantenimiento. [1] Figura2.2. Ejemplo de un enlace óptico no guiado difuso Tecnologías de comunicación y VLC 13 2.3 TECNOLOGÍA OPTICA NO GUIADA Como ya se mencionó en los apartados anteriores la tecnología de comunicación óptica no guiada consiste en que la señal de datos se transmite a través de un canal de comunicación sin la necesidad de utilización de cableado. A continuación se mencionarán diferentes tipos de tecnologías existentes en el mercado actual para finalizar con la tecnología en la que se ha desarrollado este PFC. 2.3.1 Infrarrojos El nombre de infrarrojo significa por debajo del rojo pues su comienzo se encuentra adyacente al color rojo del espectro visible .La radiación infrarroja es un tipo de radiación electromagnética de mayor longitud de onda que la luz visible, tiene menor frecuencia que la luz visible y su rango de longitudes de onda van desde unos 0,7 hasta los 100 micrómetros. Dicha radiación es emitida por cualquier cuerpo cuya temperatura sea mayor que 0 Kelvin, es decir, −273,15 grados Celsius. Figura2.3. Ejemplo de un enlace óptico no guiado quasidifuso Adaptador VLC para móvil 14 Los infrarrojos se pueden separar en 3 categorías según su longitud de onda:  Infrarrojo cercano (0,78-1,1 µm )  Infrarrojo medio (1,1-15 µm)  Infrarrojo lejano (15-100 µm) Los sistemas infrarrojos poseen varias ventajas:  Al utilizar luz, los sistemas de comunicaciones Infrarrojos cuentan con un canal cuyo potencial de ancho de banda es muy grande y no están regulados.  Los sistemas infrarrojos de comunicaciones son inmunes a interferencias y ruido de tipo radioeléctrico.  El confinamiento de las señales infrarrojas hace difícil que escuchas clandestinos las puedan captar. Figura 2.4. Ejemplo de un emisor de infrarrojos Aunque también tienen algunas desventajas como son:  Los rayos infrarrojos sufren de degradaciones causadas por el ruido infrarrojo existente en ambientes exteriores e interiores, proveniente principalmente del sol y de fuentes de luz fluorescente e incandescente.  El ruido infrarrojo, junto con las pérdidas de propagación limita el alcance de los sistemas infrarrojos, debido a que la relación señal a ruido (S/N) en el receptor disminuye a medida que nos alejamos del transmisor, o a medida que aumentamos el ángulo de visión en el detector. Tecnologías de comunicación y VLC 15 Evidentemente la relación S/N se puede mejorar si aumentamos la potencia óptica captada por el detector, y si reducimos el nivel de ruido en este. Los sistemas infrarrojos se pueden clasificar de acuerdo a 2 criterios:  Al grado de direccionalidad del transmisor y del receptor: o Enlaces dirigidos: emplean transmisores y receptores altamente direccionales, los cuales deben apuntar hacia un área común para establecer el enlace. o Enlaces no dirigidos: se emplean transmisores y receptores de gran ángulo, disminuyendo así la necesidad de tal apuntamiento.  Existencia o no de una línea de vista entre el transmisor y el receptor: o Enlaces de línea de vista: la luz emitida por el transmisor llega directamente al receptor. o Enlaces sin línea de vista: la luz que sale del transmisor llega al receptor generalmente después de haberse reflejado difusamente en una o varias superficies. [2] 2.4 VLC Las VLC son una modalidad de las comunicaciones ópticas que lleva investigándose más de 100 años y que se basa en transmitir datos a frecuencias de entre 400 y 800 THz es decir, en el espectro visible. La idea inicial es simple a la par que potente, se trata de lograr transmitir información con elementos de iluminación , por ejemplo bombillas o los faros de los vehículos, al mismo tiempo que se da luz a una sala y todo ello sin necesitar complejas infraestructuras o dispositivos. Únicamente se necesita un modulador en la parte transmisora que apagará y encenderá el foco de luz muy rápidamente, creando así los ceros y unos binarios, y un fotodiodo en la parte de recepción que recogerá los cambios de luz y los pasará otra vez al dominio eléctrico. Adaptador VLC para móvil 16 La transmisión por luz visible o más conocida como VLC, es un medio de comunicación de información usando la luz visible entre los 375 y los 780 nm. El objetivo es hacer conmutar un diodo LED entre encendido y apagado de acuerdo al contenido de lo que se quiera transmitir y enviar una señal (texto, imagen, sonido, vídeo) que un terminal de recepción, por ejemplo un teléfono móvil, podrá descifrar mediante un programa informático. La comunicación por luz visible es una posible solución para algunos de los problemas que existen actualmente como la escasez del espectro radioeléctrico, las interferencias electromagnéticas, la privacidad o la seguridad. Esta tecnología no precisa de dispositivos especiales para transmitir la información, sino que se pueden utilizar cualquier tipo de dispositivo ya existente que en la actualidad se utilizan para otro fin. Esto no quiere decir que deje de cumplir la función para la que fue creada sino que además tendrá una nueva utilidad. En los últimos años se está extendiendo la utilización de los LEDs blancos en todos los aparatos, como son: las televisiones, ordenadores, teléfonos móviles... Y se estudia el empleo de este nuevo dispositivo semiconductor no solo para la iluminación sino también para la comunicación. Los LEDs blancos poseen un menor tamaño, un menor consumo de potencia, mayor vida, una muy alta velocidad de respuesta y excelente visibilidad. Estos dispositivos poseen un mayor alcance en la iluminación interior y son adecuados para el Sistema de Comunicación de luz visible. Esto es debido a que la conmutación o cambio de la señal luminosa, se produce a velocidades ultrarrápidas, mucho más allá de lo que el ojo humano es capaz de detectar. Tecnologías de comunicación y VLC 17 Estos LEDs están basados en un LED azul cubierto de fósforo amarillo que al encenderse genera una luz blanca. Estos WLED (White LED) tienen un ancho de banda limitado (sobre los 3MHz), y su velocidad de transmisión usando dicho ancho de banda no es muy elevada. Para mejorar la velocidad se han probado con filtros azules que no dejan pasar la componente del fósforo, la cual es la componente más lenta, dejando pasar únicamente la componente más rápida, de esta manera se podría elevar la velocidad hasta los 40 Mbps. Por otra parte, también se comercializan otros tipos de LED, conocidos como RGBs (rojo, verde y azul), están compuestos por tres LEDs separados que, cuando están encendidos, al mismo tiempo, emiten una luz que se percibe como blanco. Estos nuevos LED no generan ningún retraso en la transmisión, ya que no disponen de ninguna cubierta de fósforo, por lo que las tasas de datos en RGBs pueden llegar hasta 100MB/seg. Por otro lado, al igual que se emplean filtros en los WLED para mejorar las prestaciones y alcanzar mayores velocidades, también se aplica esta misma técnica en los RGBs. Esta tecnología está tan desarrollada que existen varios tipos de estándares pero no se usará ninguno para la realización de este proyecto. Un ejemplo de este tipo de tecnología seria el LiFi. [3][4] 2.4.1 LiFi La tecnología LIFI transmite datos mediante pulsos ultra-rápidos de luz que son recibidos por un router óptico. Se considera una tecnología que podría ser una alternativa a la WiFi. Bajo este acrónimo se conoce al sistema Light Fidelity, una alternativa que podría imponerse a medio o largo plazo en el sector de las telecomunicaciones. Investigadores de varias universidades en Reino Unido han utilizado bombillas micro LED para transmitir datos a 3,5 Gbit/s a través de cada uno de los colores primarios: rojo, verde y azul. Las bombillas LED permiten que los haces de luz se puedan transmitir en paralelo. Cada uno transporta un flujo de datos Adaptador VLC para móvil 18 independiente de forma que es posible producir millones de cambios por segundo en la intensidad de la luz. Esta tecnología tiene varias ventajas:  Es imperceptible al ojo humano.  Se podría adatar a cualquier fuente luminosa como una lámpara o una farola.  No tiene consecuencias sobre la salud.  Es energéticamente más eficiente que la WIFI.  Es hasta 10 veces más económico que la WIFI.  Es más segura en cuestiones de privacidad. Pero también tiene sus desventajas:  De momento es una tecnología experimental.  Las señales lumínicas no son capaces de traspasar paredes, no pueden ser captadas más allá de un espacio, esto obliga a que tanto el emisor como el receptor compartan el espacio.  Los objetos que se interponen en el camino de la luz interrumpen la conexión. Los últimos experimentos con este tipo de tecnología son muy prometedores, se han llegado a transmitir a velocidades de 10 Gbps. 2.4.2 Rendimiento: El rendimiento de los sistemas ópticos se encuentra limitado por la de velocidad de los LEDs, las pérdidas del canal, la dispersión por multitrayecto, el ruido introducido por la luz natural , las interferencias inducidas por la luz artificial…. La existencia de multitrayectos entre el transmisor y el receptor asegura algo de resistencia a las zonas de sombra, sin embargo, también causa una dispersión temporal. Tecnologías de comunicación y VLC 19 Las principales limitaciones son el ruido y la interferencia producida por la luz ambiente, ésta se divide en dos clases diferentes:  La luz natural: Es aquella que es proporcionada por el sol o la luna de forma natural.  La luz artificial (incandescente y fluorescente): Se refiere a la luz que los seres humanos generan de forma artificial para iluminar las calles por la noche o una vivienda. La luz visible producida por cualquiera de estas dos fuentes ópticas puede afectar al receptor. La otra limitación surge de las variaciones rápidas de la potencia óptica producida por fuentes de luz artificiales las cuales causan interferencias, que se añaden a la señal transmitida. El flujo luminoso producido por la luz artificial no es constante en el tiempo, mostrando rápidas y grandes variaciones. Al contrario que la luz natural, la artificial no sólo genera ruido, sino que también produce interferencias de banda estrecha debido a las variaciones temporales en la potencia óptica afectando al detector. Esta interferencia provoca disminuciones de potencia en el rendimiento del sistema de transmisión, que, con frecuencia, son muy grandes, impidiendo su funcionamiento. Los efectos de la luz ambiente, tanto natural como artificial, pueden ser combatidos usando filtros ópticos, además de filtros eléctricos paso-alto que reducen las penalizaciones inducidas por las interferencias provocadas por la luz artificial, debido a que el espectro de potencia de éstas está concentrado a bajas frecuencias. [5][6] 2.4.3 Ventajas del VLC: Usando la luz visible para la transmisión de datos, se solucionan muchos problemas relacionados con las comunicaciones por radio e infrarrojos. Tales como las interferencias electromagnéticas, la privacidad, la seguridad o las restricciones legales Adaptador VLC para móvil 26 3.1 SISTEMA OPERATIVO ANDROID En julio de 2005, Google adquirió Android Inc., una pequeña empresa fundada en 2003 que se dedicaba a la creación de software para teléfonos móviles. El equipo desarrolló una plataforma para dispositivos móviles basada en el kernel de Linux que fue promocionado a fabricantes de dispositivos y operadores con la promesa de proveer un sistema flexible y actualizable. En 2007, Google solicitó diversas patentes en el área de la telefonía móvil, y fue en ese mismo año cuando la Open Handset Alliance, un consorcio que en un principio comenzó con 38 miembros entre los que se encuentran Google, Intel, Nvidia, Qualcomm… que se estrenó con el fin de desarrollar estándares abiertos para dispositivos móviles. Junto con la formación de la Open Handset Alliance (OHA) estrenó su primer producto, Android, una plataforma para dispositivos móviles construida sobre la versión 2.6 del kernel de Linux. El primer teléfono disponible en el mercado con este sistema operativo fue el HTC Dream (G1 de T-Mobile). Google liberó lo que sería la primera versión comercial para ser implementada en dispositivos móviles que se etiquetaría como Android 1.0 liberada el 23 de septiembre de 2008, siendo este móvil el resultado conjunto de TMobile, HTC y Google. A partir del 21 de octubre de 2008, Google liberó el código de la plataforma Android, que está disponible como código abierto, gracias a lo cual, cualquier desarrollador puede añadir extensiones, nuevas aplicaciones o reemplazar las existentes en el dispositivo móvil. Casi un año después, en 2009 se lanzó la siguiente versión de la plataforma Android, la versión 1.1. A principios de 2010 Google ha colaborado con HTC para lanzar su producto estrella en dispositivos Android, el Nexus One. A esto siguió en 2010 el Samsung Nexus S y en 2011 el Galaxy Nexus, siguiendo así los siguientes años cambiando de colaborador. En la actualidad existen más de 400.000 aplicaciones para Android y se estima que unos 550.000 teléfonos móviles se activan diariamente. Android 27 Existen muchos sistemas operativos para teléfonos móviles como son el Firefox OS, IOS, Tizen…. pero en este proyecto nos hemos decidido por Android porque es un sistema operativo gratuito y de código abierto donde se pueden desarrollar cualquier aplicación (con los conocimientos necesarios) y probarla en nuestro smartphone sin un coste adicional como ocurre con otros sistemas operativos como por ejemplo IOS. 3.1.1 LAS VERSIONES DE ANDROID Y NIVELES DE API Las plataformas de Android se identifican de tres maneras: versión, nivel de API y nombre comercial. El nivel de API corresponde a números enteros comenzando desde 1. Para los nombres comerciales se han elegido postres en orden alfabético Cupcake (v1.5), Donut (v1.6), Éclair (v2.0), Froyo (v2.2), Gingerbread (v2.3), etc. Las dos primeras versiones, que correspondían a las letras A y B, no recibieron nombre. Android 1.0 Nivel de API 1 (septiembre 2008) Primera versión de Android. Nunca se utilizó comercialmente, por lo que no tiene mucho sentido desarrollar para esta plataforma. Android 1.1 Nivel de API 2 (febrero 2009) No se añadieron apenas funcionalidades simplemente se fijaron algunos errores de la versión anterior. Es la opción a escoger si queremos desarrollar una aplicación compatible con todos los dispositivos Android. No obstante apenas existen usuarios con esta versión. Adaptador VLC para móvil 28 Cupcake Android 1.5 Nivel de API 3 (abril 2009) Es la primera versión con algún usuario (aunque apenas la usa un 0,1% en la actualidad). Como novedades, se incorpora la posibilidad de teclado en pantalla con predicción de texto, los terminales ya no tienen que tener un teclado físico, así como la capacidad de grabación avanzada de audio y vídeo. También aparecen los "widgets" de escritorio y "live folders". Incorpora soporte para bluetooth estéreo, por lo que permite conectarse automáticamente a auriculares bluetooth. Las transiciones entre ventanas se realizan mediante animaciones. Donut Android 1.6 Nivel de API 4 (septiembre 2009) Permite capacidades de búsqueda avanzada en todo el dispositivo, además se incorpora "gestures" y "multi-touch". Posibilita la síntesis de texto a voz. También se facilita que una aplicación pueda trabajar con diferentes densidades de pantalla, así como soporte para resolución de pantallas WVGA. Aparece un nuevo atributo XML, "onClick", que puede especificarse en una vista. "Play Store" antes conocido como "Android Market" se mejora permitiendo una búsqueda más sencilla de aplicaciones. Soporte para CDMA/EVDO, 802.1x y VPNs. Mejoras en la aplicación de la cámara. Android 29 Éclair Android 2.0 Nivel de API 5 (octubre 2009) Esta versión de API apenas cuenta con usuarios, dado que la mayoría de fabricantes pasaron directamente de la versión 1.6 a la 2.1. Como novedades cabría destacar que incorpora un API para manejar el bluetooth 2.1. Nueva funcionalidad que permite sincronizar adaptadores para conectarlo a cualquier dispositivo. Ofrece un servicio centralizado de manejo de cuentas. Mejora la gestión de contactos y ofrece más ajustes en la cámara. Se ha optimizado la velocidad de hardware. Se aumenta el número de tamaños de ventana y resoluciones soportadas. Nueva interfaz del navegador y soporte para HTML5. Mejoras en el calendario y soporte para Microsoft Exchange. La clase "MotionEventahora" soporta eventos en pantallas multi-táctil. Android 2.1 Nivel de API 7 (enero 2010) Se considera una actualización menor, por lo que le siguieron llamando Éclair. Destacamos el reconocimiento de voz que permite introducir un campo de texto dictando sin necesidad de utilizar el teclado. También permite desarrollar fondos de pantalla animados. Se puede obtener información sobre la señal de la red actual que posea el dispositivo. En el paquete "WebKit" se incluyen nuevos métodos para manipular bases de datos almacenadas en Web. También se permite obtener permisos de localización, y modificarlos en "WebView". Se incorporan mecanismos para administrar la configuración de la caché de aplicaciones, almacenamiento web, y modificar la resolución de la pantalla. También se puede manejar vídeo, historial de navegación, vistas personalizadas… Adaptador VLC para móvil 30 Froyo Android 2.2 Nivel de API 8 (mayo 2010) Como característica más destacada se puede indicar la mejora de velocidad de ejecución de las aplicaciones (ejecución del código de la CPU de 2 a 5 veces más rápido que en la versión 2.1). Esto se consigue con la introducción de un nuevo compilador JIT de la máquina Dalvik. Se añaden varias mejoras relacionadas con el navegador Web, como el soporte de Adobe Flash 10.1 y la incorporación del motor Javascript V8 utilizado en "Chrome" o la incorporación del campo de “subir fichero” en un formulario. El desarrollo de aplicaciones permite las siguientes novedades: se puede preguntar al usuario si desea instalar una aplicación en un medio de almacenamiento externo (como una tarjeta SD), como alternativa a la instalación en la memoria interna del dispositivo. Las aplicaciones se actualizan de forma automática cuando aparece una nueva versión. Proporciona un servicio para la copia de seguridad de datos que se puede realizar desde la propia aplicación para garantizar al usuario el mantenimiento de sus datos. Por último, se facilita que las aplicaciones interaccionen con el reconocimiento de voz y que terceras partes proporcionen nuevos motores de reconocimiento. Se mejora la conectividad: ahora podemos utilizar nuestro teléfono para dar acceso a Internet a otros dispositivos, tanto por USB como por WiFi. También se añade el soporte a Wi-Fi IEEE 802.11n y notificaciones "push". Se añaden varias mejoras en diferentes componentes: En el API gráfica OpenGL se pasa a soportar la versión 2.0. También se puede realizar fotos o vídeos en cualquier orientación (incluso vertical) y configurar otros ajustes de la cámara. Para finalizar, permite definir modos de interfaz de usuario (“automóvil” y “noche”) para que las aplicaciones se configuren según el modo seleccionado por el usuario. Android 31 Gingerbread Android 2.3 Nivel de API 9 (diciembre 2010) Incorpora un nuevo interfaz de usuario con un diseño actualizado. Dentro de las mejoras de la interfaz de usuario destacamos la mejora de la funcionalidad de “cortar, copiar y pegar” y un teclado en pantalla con capacidad "mult-itáctil". Se incluye soporte nativo para varias cámaras, pensado en la segunda cámara usada en videoconferencia. La incorporación de esta segunda cámara ha propiciado la inclusión de reconocimiento facial para identificar el usuario del terminal. La máquina virtual de Dalvik para Android introduce un nuevo recolector de basura que minimiza las pausas de la aplicación, ayudando a garantizar una mejor animación y el aumento de la capacidad de respuesta en juegos y aplicaciones similares. Se trata de corregir así una de las lacras de este sistema operativo móvil, que en versiones previas no ha sido capaz de cerrar bien las aplicaciones en desuso. Se dispone de mayor apoyo para el desarrollo de código nativo (NDK).También se mejora la gestión de energía y control de aplicaciones. Y se cambia el sistema de ficheros, que pasa de YAFFS a ext4. Entre otras novedades destacamos en soporte nativo para telefonía sobre Internet VoIP/SIP. El soporte para reproducción de vídeo WebM/VP8 y codificación de audio AAC. El soporte para la tecnología NFC. Las facilidades en el audio, gráficos y entradas para los desarrolladores de juegos. El soporte nativo para más sensores (como giroscopios y barómetros). Un gestor de descargas para las descargas largas. Adaptador VLC para móvil 32 Honeycomb Android 3.0 Nivel de API 11 (febrero 2011) Para mejorar la experiencia de Android en las nuevas tabletas se lanza la versión 3.0 optimizada para dispositivos con pantallas grandes. La nueva interfaz de usuario ha sido completamente rediseñada con paradigmas nuevos para la interacción, navegación y personalización, pero a pesar de la nueva interfaz gráfica optimizada para tabletas, Android 3.0 es compatible con las aplicaciones creadas para versiones anteriores. La nueva interfaz se pone a disposición de todas las aplicaciones, incluso las construidas para versiones anteriores de la plataforma. Las principales novedades de este SDK son:  Escritorio 3D con widgets rediseñados, nuevos componentes y vistas, notificaciones mejoradas, arrastrar y soltar, nuevo cortar y pegar, barra de acciones para que las aplicaciones dispongan de un menú contextual siempre presente y otras características para aprovechar las pantallas más grandes.  Se mejora la reproducción de animaciones 2D/3D gracias al renderizador OpenGL acelerado por hardware. El nuevo motor de gráficos Rederscript saca un gran rendimiento de los gráficos en Android e incorpora su propia API.  Soporta procesadores multi-núcleo. La máquina virtual Dalvik ha sido optimizada para permitir multi-procesado, lo que permite una ejecución más rápida de las aplicaciones, incluso aquellas que son de hilo único.  Se incorporan varias mejoras multimedia, como listas de reproducción M3U a través de "HTTP Live Sreaming", soporte a la protección de derechos musicales (DRM) y soporte para la Android 33 transferencia de archivos multimedia a través de USB con los protocolos MTP y PTP.  Se añaden nuevas alternativas de conectividad, como las nuevas APIS de Bluetooth A2DP y HSP con "streaming de audio". También, se permite conectar teclados completos por USB o Bluetooth.  El uso de los dispositivos en un entorno empresarial es mejorado como por ejemplo las nuevas políticas administrativas con encriptación del almacenamiento, caducidad de contraseña y mejoras para administrar los dispositivos de empresa de forma eficaz. Android 3.1 Nivel de API 12 (mayo 2011) Se permite manejar dispositivos conectados por USB (tanto host como dispositivo). Protocolo de transferencia de fotos y vídeo (PTP/MTP) y de tiempo real (RTP). Android 3.2 Nivel de API 13 (julio 2011) Optimizaciones para distintos tipos de tableta. Zoom compatible para aplicaciones de tamaño fijo. Sincronización multimedia desde SD. Adaptador VLC para móvil 34 Ice Cream Sandwich Android 4.0 Nivel de API 14 (octubre 2011) La característica más importante es que se unifican las dos versiones anteriores (2.x para teléfonos y 3.x para tabletas) en una sola compatible con cualquier tipo de dispositivo. Entre las características más interesantes se destacan:  Se introduce un nuevo interfaz de usuario totalmente renovado. Por ejmplo, se reemplazan los botones físicos por botones en pantalla (como ocurria en las versiones 3.x).  Nuevo API de reconocedor facial, permite entre otras muchas aplicaciones desbloquear el teléfono a su propietario. También se mejora en el reconocimiento de voz.  Aparece un nuevo gestor de tráfico de datos por Internet, donde se puede consultar el consumo de forma gráfica y donde se puede definir los límites a ese consumo para evitar cargos inesperados con la operadora.  Incorpora herramientas para la edición de imágenes en tiempo real, con herramientas para distorsionar, manipular e interactuar con la imagen al momento de ser capturada.  Se mejora el API para comunicaciones por NFC y la integración con redes sociales. Android 35 Android 4.0.3 Nivel de API 15 (diciembre 2011) Se introducen ligeras mejoras en algunas APIs incluyendo el de redes sociales, calendario, revisor ortográfico, texto a voz y bases de datos entre otros. En marzo de 2012 aparece la actualización 4.0.4. Jelly Bean Android 4.1 Nivel de API 16 (julio 2012) En esta versión se hace hincapié la fluidez del interfaz de usuario. Con este propósito se incorporan varias técnicas, como: sincronismo vertical, triple búfer y aumentar la velocidad del procesador al tocar la pantalla. Se mejoran las notificaciones con un sistema de información expandible personalizada. Los Widgets de escritorio pueden ajustar su tamaño y hacerse sitio de forma automática al situarlos en el escritorio. El dictado por voz puede realizarse sin conexión a Internet (de momento en inglés). Se introducen varias mejoras en Google Search y un nuevo soporte para usuarios internacionales: como texto bidireccional y teclados instalables. Para mejorar la seguridad las aplicaciones son cifradas. También se permite actualizaciones parciales de aplicaciones. Adaptador VLC para móvil 42 3.2.5 DALVIK VM Dalvik es la máquina virtual que utiliza la plataforma para dispositivos móviles Android. Dalvik ha sido diseñada por Dan Bornstein con contribuciones de otros ingenieros de Google. En ella podemos encontrar una gran diferencia con respecto a la máquina virtual Java (JVM), ya que la máquina virtual de Google no está basada en una pila. Dalvik VM es un intérprete que sólo ejecuta los archivos ejecutables en formato .dex (Dalvik Executable). Este formato está optimizado para el almacenamiento eficiente de la memoria, lo cual consigue delegando en el kernel la gestión de hilos (multithreading), de memoria y de procesos. La herramienta “dx” incluida en el SDK de Android permite transformar las clases compiladas (.class) por un compilador de lenguaje Java en formato .dex. La Dalvik VM también ha sido optimizada para correr múltiples instancias con muy baja huella. 3.3 DIFERENCIAS CON UNA MÁQUINA VIRTUAL JAVA NORMAL La máquina virtual de Dalvik toma los archivos generados por las clases Java y los combina en uno o más archivos ejecutables Dalvik (.dex), de los cuales a su vez son comprimidos en un solo fichero .apk (Android Package) en el dispositivo. De esta forma, reutiliza la información duplicada por múltiples archivos .class, reduciendo así la necesidad de espacio (sin comprimir) a la mitad de lo que ocuparía un archivo .jar. Google ha mejorado la recolección de basura en la máquina virtual de Dalvik, pero ha preferido omitir just-in-time (JIT), en esta versión por lo menos. La empresa justifica esta elección diciendo que muchas de las bibliotecas centrales de Android, incluyendo las bibliotecas de gráficos, están implementadas en C y C++. Del mismo Android 43 modo, Android proporciona una biblioteca de C optimizada para acceder a la base de datos SQLite, pero esta biblioteca está encapsulada en un nivel superior del API de Java. Dado que la mayoría del código del núcleo se encuentra en C y C++, Google argumentó que el impacto de la compilación JIT no sería significativo. Por último, la máquina virtual de Dalvik utiliza un tipo diferente de montaje para la generación del código, en el que se utilizan los registros como las unidades primarias de almacenamiento de datos en lugar de la pila. Hay que señalar que el código ejecutable final de Android, como resultado de la máquina virtual de Dalvik, no se basa en el bytecode de Java, sino que se basa en los archivos .dex. Esto significa que no se puede ejecutar directamente el Bytecode de Java, sino que hay que comenzar con los archivos .class de Java y luego convertirlos en archivos .dex. [9] 3.4 SOFTWARE DE PROGRAMACION El software utilizado para el desarrollo del proyecto es el entorno de desarrollo integrado Eclipse. 3.4.1 INSTALACION Para la instalación del software sólo se precisa de ir a la página web http://developer.android.com/sdk/index.html y darle al botón de “Download the SDK ADT Bundle for Windows”. Se nos abrirá una página con los términos y condiciones de la descarga. Hacemos click en la casilla de “hemos leído y estamos de acuerdo con los términos”, y elegimos el tipo de procesador de nuestro ordenador (a elegir entre 32 y 64 bits). Le damos al botón de descarga y comenzará la descarga del programa. Una vez finalizada la descarga descomprimimos el archivo .rar en un lugar a nuestra Adaptador VLC para móvil 44 elección, y abrimos la carpeta. Una vez dentro deberemos ir a la carpeta “Eclipse” y allí encontraremos el archivo de la aplicación.[10] 3.4.2 FUNCIONAMIENTO Es un entorno de desarrollo integrado de código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Esta plataforma, típicamente ha sido usada para desarrollar entornos de desarrollo integrados (IDE), como el Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son usados también para desarrollar el propio Eclipse). Por otro lado, Eclipse es también una comunidad de usuarios, extendiendo constantemente las áreas de aplicación cubiertas como por ejemplo Eclipse Modeling Project. Eclipse comenzó como un proyecto de IBM Canadá. Fue desarrollado por OTI como reemplazo de VisualAge también desarrollado por OTI. En noviembre del 2001, se formó un consorcio para el desarrollo futuro de Eclipse como código abierto. En 2003, fue creada la fundación independiente de IBM. El entorno de trabajo de Eclipse consiste de varios paneles conocidos como "vistas", como la vista del Navegador en la parte superior izquierda. Una colección de paneles se denomina una "perspectiva". La perspectiva por defecto es la Perspectiva de Recursos, que es un conjunto básico y genérico de vistas para proyectos de gestión y para la visualización y edición de archivos en un proyecto. Android 45 La "Vista del navegador" le permite crear, seleccionar y eliminar proyectos. El panel hacia la derecha del Navegador es la "área del editor". Según el tipo de documento seleccionado en el navegador, aquí se abre la ventana adecuada del editor. Si Eclipse no tiene un editor adecuado registrado para un tipo determinado de documentos. La "Vista esquemática", que se encuentra debajo del Navegador, presenta un esquema del documento en el editor. La naturaleza precisa de este esquema depende del editor y el tipo de documento; para un archivo fuente Java, el esquema muestra cualquier clase declarada, atributos y métodos. La "Vista de tareas" recopila información sobre el proyecto en el que está trabajando. Puede ser información generada por Eclipse, como errores de compilación o pueden ser tareas que agrega de forma manual. Figura 3.1 - Vista principal Adaptador VLC para móvil 46 La mayoría de las demás funciones del entorno de trabajo, como el menú o la barra de tareas, deberían ser similares a las de las aplicaciones familiares. Una función conveniente es la barra de herramientas de atajos a diferentes perspectivas que aparece en el lado izquierdo de la pantalla; varían de forma dinámica según el contexto y la historia. PIC 18F4550 47 Capítulo 4 PIC 18F4550 Los microcontroladores son circuitos integrados programables que contienen todos los elementos necesarios para desarrollar y controlar una determinada tarea. La cantidad de componentes que se integran en ellos depende del diseño de los fabricantes, sin embargo, los elementos básicos suelen ser: microprocesador, memoria RAM, memoria de programa, convertidor A/D (analógico-digital), oscilador, puerto de comunicación, etc. Esto le brinda una gran versatilidad a este tipo de dispositivos y hoy en día su utilización se ha incrementado exponencialmente. Cuando se desea trabajar en sistemas basados en microcontroladores es necesario realizar algunas consideraciones como la cantidad de entradas/salidas que son necesarias para la operación, si se requiere convertidor A/D, si realizará algunas operaciones distintas de encender o apagar un relé, etc. Una vez que se han respondido a algunas preguntas básicas, se elige el microcontrolador adecuado para la tarea. Las ventajas que ofrecen son:  Existen gran variedad de familias  Poseen herramientas de desarrollo comunes  Gran cantidad de unidades funcionales embebidas  Amplio soporte Adaptador VLC para móvil 48  Precios bastantes asequibles 4.1 SERIE 18F Dentro de la gran gama que se puede encontrar en el mercado en este proyecto nos centraremos en los PIC, que poseen diferentes series, en este PFC se optó por trabajar con la serie 18F4550. A finales del siglo XX Microchip era el líder de los microcontroladores de 8 bits, el PIC16F84 fue una revolución en el campo de los microcontroladores y la familia PIC16F87X dio poder a los sistemas embebidos. Pero conforme pasaron los años empezó a nacer una necesidad de mercado más allá de lo que podían suplir los modelos ya mencionados, y fue entonces cuando la compañía respondió con los PIC18. Esta familia fue la continuación de la revolución iniciada con el PIC16F84, la cual puede suplir necesidades tales como conectividad USB, Ethernet y GSM entre otros. Dentro de los PIC16 encontrábamos un set de 35 instrucciones, la cual se amplió a 74 instrucciones en los PIC18. En los periféricos se introdujeron 5 Timers, 2 UARTS, 2 SPI y 2 I2C. La memoria EEPROM tiene una capacidad de 1024 bytes y la memoria de programa puede almacenar tanto datos como instrucciones. La arquitectura se diseñó pensando en programar los dispositivos en lenguaje de alto nivel como el lenguaje C, y por esa razón Microchip diseñó el compilador C18 el cual se caracteriza por ser un compilador ANSI C. Los modelos actuales de esta familia se pueden clasificar en tres categorías:  PIC18FXXXX: Tienen un voltaje de alimentación comprendido entre 2 y 5.5V con un rendimiento de 10 MIPS, un juego de 77 instrucciones máquina, la mayoría con una longitud de 16 bits, y diseñados para programarse en el lenguaje C.  PIC18XXJXX: Tienen una tensión de alimentación comprendida entre 2 y 3.6V. Existen 14 modelos entre los que destaca el PIC87J10 con 64 K PIC 18F4550 49 palabras de 16 bits de memoria de programa FLASH, y el PIC18F96J60 con conectividad Ethernet.  PIC18FXXKXX: El voltaje de alimentación está entre 1.8 y 3.6V y disponen de memoria EEPROM. 4.2 CARACTERISTICAS DEL PICDEM FS USB BOARD 18F4550 En este proyecto se utilizará el PIC18F4550, específicamente la PICDEM FS USB BOARD. Esta placa tiene el siguiente esquema: Figura 4.1 – Demoboard 1.-Micro controlador: es la pieza más importante de la placa, proporciona todas las funciones del USB en un solo chip. 2.-ICE Interface Riser: el micro controlador está conectado a la placa mediante 44 pines formado por 4 grupos de 11 pines distribuidos en torno al chip. 3.-Oscilador: la placa utiliza un oscilador de cristal de 20 MHz como servicio primario de reloj. El micro controlador utiliza este oscilador para generar las Adaptador VLC para móvil 50 señales de reloj necesarias tanto para la SIE(serial interface engine) como para el núcleo del procesador. 4.-ICD Configuration Jumpers: estos 3 Jumpers permiten al usuario elegir entre los puertos ICSP (in circuit serial programmer ) y ICD(in circuit debbuger). 5.- Expansion and PICtail Headers: estos pads permiten al usuario el acceso directo a las señales de los puertos del micro controlador. 6.-Configuración de los Jumpers: permiten al usuario modificar la configuración del hardware de la placa para satisfacer sus necesidades. 7.-Potenciómetro: simula una entrada analógica para el controlador. 8.-Sensor de temperatura: es un sensor digital de temperatura que mide continuamente la temperatura ambiente de la placa. 9.-LED de encendido: este LED indica que la placa está encendida y cómo está funcionando. El LED D7 encendido indica que la placa está conectada mediante el BUS, el LED D8 encendido indica que la placa está conectada a una fuente de externa. 10.-Botón de RESET: presionando este botón se realiza un reseteo del dispositivo a nivel de hardware. 11.-Conector de energía: la placa puede ser conectada mediante una fuente externa o a través del cable USB. 12.-Conector USB: es un conector USB estándar que controla la comunicación de la placa a través del puerto USB. 13.-ICD Connector: el conector estándar RJ11 proporciona una interfaz usada por Microchip para el desarrollo y la programación del microchip mediante el programador MPLAB ICD. 14.-Status LED Bank: estos 4 LEDs son usados para propósito general, se pueden usar para indicar diferentes estados de funcionamiento de la placa. 15.-Botones definidos por el usuario: estos 2 botones proporcionan entradas digitales de control simuladas. Presionando cualquier botón causa que en el puerto se lea un ‘0’. 16.-Puerto RS232: el conector estándar proporciona una conexión serie con la placa. PIC 18F4550 51 En este proyecto se utilizará sólo algunos módulos de los presentes, como son el puerto RC1, utilizado por la interrupción CCP (módulo de comparación) y los LEDs para los estados de la placa. 4.2.1 PUERTOS I/O Dependiendo del tipo de dispositivo y sus características existen 5 puertos disponibles. Algunos pines de los puertos de entrada/salida están multiplexados de manera que tengan una función alternativa al de las características del dispositivo. Normalmente cuando un periférico está conectado mediante un puerto a través de uno de estos pines, este pin no se utiliza como un pin de entrada/salida de propósito general. Cada puerto tienes 3 registros para su funcionamiento. Estos registros son:  Registro TRIS (registro de dirección de datos).  Registro PORT (lee los niveles en los pines del dispositivo).  Registro LAT (latch de salida). El registro LAT es normalmente utilizado para operaciones de lectura/escritura sobre el valor que haya en los pines de entrada/salida. 4.2.2 MÓDULO CCP(CAPTURE/COMPARE/PWM) El PIC 18F4550 tiene dos módulos CCP, cada módulo contiene un registro de 16 bits que puede operar como un capturador, como un comparador o como un PWM (pulse-width modulation). El módulo CCP1 funciona como un CCP mejorado, con un modo capturador y comparador estándar y un modo PWM mejorado. En este proyecto se ha decidido utilizar el módulo CCP2 para el desarrollo del mismo ya que no se utiliza ninguno de los Timers que sí son necesarios para el CCP1. Adaptador VLC para móvil 58 Figura 4.5 - Cabecera 2 Tal y como se muestra en la Figura 4.4, sólo tenemos que darle a “Build” para que nos compile el código. Una vez terminado de compilar nos mostrará en la parte inferior un recuadro con el informe de errores y de warnings que hemos tenido en el código. Figura 4.6 - Cuadro de diálogo Después de este paso sólo nos faltaría volcar la información, que está dentro del archivo que se ha creado en la compilación, en el PIC. 4.3.2 MPLAB MPLAB es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) creado por Microchip Technology para dar soporte a la realización de proyectos basados en microcontroladores PIC. Incluye varios módulos que permiten llevar a cabo las distintas etapas de un proyecto: Edición, Ensamblaje, Simulación y Programación. PIC 18F4550 59 Los pasos necesarios para trabajar con el entorno de MPLAB IDE son:  SELECCIONAR EL DISPOSITIVO: en nuestro caso será el PIC18F4550,para ello iremos al menú de Configure>Select Device Figura 4.7 - Menú 1 Una vez le demos nos aparecerá una ventana como la siguiente: Figura 4.8 – MPLAB Las opciones en color verde son las que soporta y han sido probados con antelación. En esta pantalla elegiremos nuestro dispositivo y le daremos a “ok”. Adaptador VLC para móvil 60  SELECCIONAR EL PROGRAMADOR: en este paso iremos al menú Programmer>Select Programmer>MPLAB ICD 3 Figura 4.9 - Menú 2  VOLCAR LA INFORMACIÓN EN EL PIC: para este último paso vamos al menú File>Import y elegimos el archivo que creamos en el CCS para la programación del PIC. Figura 4.10 - Menú 3 PIC 18F4550 61 Una vez elegido el archivo tenemos que darle a programar que está en la parte superior derecha . En este menú solo elegiremos el primero de los botones puesto que los demás no los utilizaremos en este proyecto. [14] Adaptador VLC para móvil 62 Diseño e implementación del sistema transmisor 63 Capítulo 5 DISEÑO E IMPLEMENTACIÓN DEL SISTEMA TRANSMISOR El trabajo de este proyecto consiste en crear un sistema de transmisión mediante VLC y de recepción a través de un PIC18F4550 que recogerá la información desde el fotoreceptor hasta dicho PIC. En este capítulo se expondrá el sistema transmisor, así como los módulos empleados para la realización del mismo. En primer lugar se hará una introducción al sistema de modulación empleado para transmitir la información, seguidamente se hablará del método usado para la realización del tono mediante el cual se transmitirá la información. Después se expondrá la forma de la trama que se utilizará para la mandar la información, y ya en último lugar se explicará la transmisión a través del Dropbox. El sistema transmisor consta de los siguientes módulos: Adaptador VLC para móvil 64 Figura 5.1 - Diagrama sistema transmisor El primer módulo es el smartphone que se va a utilizar durante el PFC, el cual está conectado a un amplificador, el cual se explicará más adelante con detenimiento, y por último se encuentra el LED encargado de transmitir la información. 5.1 SISTEMA DE MODULACIÓN 5.1.1 MODULACIÓN AM La modulación se define como el proceso de transformar información de su forma original a una forma más adecuada para la transmisión, así pues la demodulación sería el proceso inverso. En nuestro caso la portadora eléctrica modula la señal luminosa dando como resultado una sucesión de pulsos de luz. Diseño e implementación del sistema transmisor 65 5.1.1.1 MODULADOR La modulación en amplitud (AM) es el proceso de cambiar la amplitud de una portadora de frecuencia relativamente alta de acuerdo con la amplitud de la señal moduladora (información). Las frecuencias que son lo suficientemente altas para radiarse de manera eficiente por una antena y propagase por el espacio libre se llaman comúnmente radiofrecuencias o simplemente RF. Con la modulación de amplitud, la información se manda sobre la portadora en la forma de cambios de amplitud. La modulación de amplitud es una forma de modulación relativamente barata y de baja calidad que se utiliza en la radiodifusión de señales de audio y vídeo. La banda de radiodifusión comercial AM abarca desde 535 a 1605 kHz. La radiodifusión comercial de televisión se divide en tres bandas (dos de VHF y una de UHF). Figura 5.2 - Señal moduladora Adaptador VLC para móvil 66 Figura 5.3 - Señal portadora Figura 5.4 - Señal modulada Éste sería aproximadamente el sistema usado durante la transmisión de la información, debido a que en estas figuras solo se muestra el sistema de modulación, no se muestra en ningún momento la trama que se transmite. [15] Diseño e implementación del sistema transmisor 67 5.1.2 MODULACIÓN ASK La modulación por desplazamiento de amplitud, en inglés Amplitude-shift keying (ASK), es una forma de modulación en la cual se representan los datos digitales como variaciones de amplitud de la onda portadora en función de los datos a enviar. Los dos valores binarios se representan con dos amplitudes diferentes y es usual que una de las dos amplitudes sea cero, es decir, uno de los dígitos binarios se representa mediante la presencia de la portadora a amplitud constante, y el otro se representa mediante la ausencia de la señal portadora. La técnica ASK también es usada comúnmente para transmitir datos digitales sobre la fibra óptica. Para los transmisores LED, el valor binario 1 es representado por un pulso corto de luz y el valor binario 0 por la ausencia de luz. Este nivel bajo representa el valor 0, mientras una onda luminosa de amplitud más alta representa el valor binario 1. Figura 5.5 - Modulación ASK Adaptador VLC para móvil 74 1. Dentro de la información no puede haber más de 4 unos seguidos, esto se debe a que nuestras cabeceras se conforman de 5 unos seguidos. Cuando en el transmisor detecta 4 unos seguidos, inserta 1 cero adicional que será retirado en el receptor a la hora de recoger la información. 2. Si una trama no contiene los bits necesarios para rellenar el campo de información de la trama, este se rellenará con ceros hasta su tamaño final. 3. Una vez terminada la transmisión de cada trama existe un tiempo de 5 milisegundos para poder diferenciar cada una de ellas a la hora de recoger la información en el receptor. Una vez que se transmite la información la señal a la salida del smartphone es la siguiente: Figura 5.10 - Señal de salida del smartphone Diseño e implementación del sistema transmisor 75 En la imagen anterior también se puede observar el tiempo que se tarda en transmitir una trama, el cual es 20 milisegundos. Este tiempo corresponde a la transmisión de la información (10 bits, a razón de 1 milisegundo por bit, 10 milisegundos) y a la transmisión de las cabeceras de sincronización (10 bits de cabecera, 5 de principio y 5 de final, a razón de 1 milisegundo por bit, 10 milisegundos). Figura 5.11 - Señal de salida ensanchada Como se puede ver en la Figura 5.7 la transmisión de la información se realiza con una señal sinusoidal en la que va codificada la información que deseamos transmitir. En la figura se puede diferenciar claramente el inicio y el final de la trama enviada. Adaptador VLC para móvil 76 Esta señal es la que se transmite a través del diodo LED que conmuta entre encendido y apagado a una velocidad tan grande que no es perceptible ni por el ojo humano ni por dispositivos de grabación no especializados. Aquí entra en juego la seguridad de este sistema, ya que cualquier persona que no sólo no estuviera presente en la misma habitación que el transmisor sino que además, no tenga el material necesario, enfoque en el ángulo correcto y la distancia apropiada no sería capaz de poder interceptar la transmisión. Esta señal al ser de un voltaje insuficientemente grande para que el receptor recoja la información, pasa a través de un amplificador logrando con ello llegar al voltaje requerido por el receptor. Para entender mejor el funcionamiento del sistema, a continuación se muestra un esquema del sistema: Figura 5.12 – Transmisor Este sistema es el que hace posible la amplificación de la señal para que el receptor sea capaz de detectarla. Como se puede ver en la imagen anterior existe un potenciómetro en la base que es capaz de regular la intensidad de la luminosidad del LED, para ello la resistencia del colector es la encargada de limitar la corriente del LED mientras que las de la base se encargan de polarizar el circuito añadiendo una señal continua para que puedan transmitirse la señales negativas de la portadora eléctrica. Diseño e implementación del sistema transmisor 77 5.4 DROPBOX Para la transmisión de la información mediante la toma de datos del Dropbox se hace de la siguiente manera. Lo primero que se requiere es ir al menú de Dropbox en la ventana principal. Figura 5.13 - Menú principal Seguidamente aparecerá un nuevo menú en el que se podrá insertar una URL para poder descargar un fichero. En nuestro caso se tratará de un archivo tipo .txt, que contendrá el código que vamos a transmitir. Adaptador VLC para móvil 78 Figura 5.14 - Menú secundario de Dropbox Como se puede ver en la Figura 5.11, en el programa se ha insertado una URL predefinida para poder descargar un archivo ya creado, y para dar un ejemplo del tipo de URL utilizado en este punto. Seguidamente se presiona el botón de “Descargar” y nos dirigirá a la página seleccionada (con el explorador que queramos, nos dejará elegir con cual) para poder descargar el archivo. Diseño e implementación del sistema transmisor 79 Figura 5.15 - Página de descarga de código Una vez en esta página, se deberá presionar el botón de “Descargar” y empezará la descarga del archivo. Seguidamente se vuelve al menú anterior con el botón de atrás del smartphone, y se presiona “Cargar archivo”. Esta acción lo que hará será leer el archivo descargado (normalmente en /Download) y lo pasará a la función de crear tono, que se encargará de manipular la información para su posterior transmisión. Una vez se ha cargado el archivo, volverá al menú principal para su posterior transmisión. Únicamente hay que presionar en “Reproducir archivo guardado” para enviar la información. Adaptador VLC para móvil 80 Diseño e implementación del sistema receptor 81 Capítulo 6 DISEÑO E IMPLEMENTACIÓN DEL SISTEMA RECEPTOR El receptor se compone de varios módulos todos necesarios para la recepción de la información. El primer módulo es el fotoreceptor y el amplificador, son los primeros elementos dentro del receptor. El siguiente es el convertidor de onda completa, el cual se encarga de rectificar la señal. Seguidamente tenemos el filtro RC, el cual se encarga de eliminar las caídas de tensión creando un pulso lo más ideal posible. El penúltimo módulo es el amplificador operacional, el cual se encarga de amplificar la señal hasta los 5 voltios, los cuales son necesarios para el correcto funcionamiento del PIC. Ya por último se encuentra el PIC en cuestión, el cual se encarga de recibir los pulsos y decodificar la información. Antes de hablar de los módulos se hará una breve introducción al demodulador AM y se mostrará un dibujo esquemático de los módulos del receptor. Adaptador VLC para móvil 82 Figura 6.1 – Receptor 6.1 DEMODULADOR AM. La demodulación o detección es el proceso de recuperar la información transportada por la señal modulada. Un receptor AM convencional simplemente convierte la onda de amplitud modulada nuevamente en la fuente original de información, es decir, la demodula. Un detector de envolvente es un circuito eléctrico que tiene como entrada una señal de alta frecuencia, y como salida la envolvente de la señal de entrada. El condensador almacena carga cuando la señal de entrada crece, y se descarga muy lentamente a través del resistor cuando ésta decrece. En nuestro caso no se utiliza este sistema para la demodulación, pues nosotros tendremos una sucesión de pulsos en los que está impresa la información y no es necesario este tipo de demodulación. En nuestro PFC se emplea un rectificador de onda completa para poder utilizar toda la energía de la señal que luego pasa por un filtro RC para eliminar las frecuencias altas y obtener así la señal de datos. [15] Diseño e implementación del sistema receptor 83 Figura 6.2 - Detector de envolvente 6.2 FOTORECEPTOR La función principal de un fotoreceptor, dentro de un sistema de comunicación óptica, es la de transformar la energía radiante de la señal óptica proveniente del emisor de luz en energía eléctrica, para que pueda ser recuperada la señal de información. Los fotoreceptores usados durante la realización de este PFC son los detectores de fotones de los cuales se hablará a continuación. Los fotones son absorbidos por el semiconductor causando una excitación de electrones dentro del material, con lo cual es observada una señal eléctrica de salida, dicho en otras palabras, este tipo de fotoreceptores convierten fotones en electrones. Los fotoreceptores de este tipo son los que se usan dentro de los sistemas de comunicación óptica y se basan en el fenómeno físico llamado efecto fotoeléctrico. Si el electrón generado es emitido fuera del material el dispositivo es llamado fotoemisivo o basado en el efecto fotoeléctrico externo. Si no existe la emisión pero en su lugar un electrón hueco está disponible para permitir la circulación de corriente en Adaptador VLC para móvil 90 la variable “Num. Ceros” se actualiza al valor del timer y se cambia la búsqueda de flanco. Cuando se ha llenado el vector de datos (búffer), la siguiente acción que realiza el microcontrolador es la procesar esa información recogida en dicho vector. Como vimos en el capítulo del transmisor, la trama consta de una cabera y un final de cabecera que está compuesta por cinco “1”, necesarios para poder determinar el principio y el fin de la trama. Una vez se inicia el procesado, lo que hace el PIC es buscar ese inicio de trama. Para ello busca esos cinco “1” seguidos, los cuales no pueden aparecer en otro punto de la trama ya que, como vimos en el transmisor, si ocurriera esto, el trasmisor insertaría un “0” adicional. Seguidamente, una vez se ha encontrado el principio de la trama, se van almacenando los siguientes valores (que son la verdadera información enviada) para poder determinar su uso. Si encuentra cuatro “1” seguidos, el receptor sabe que el siguiente bit que se encontrará no es parte de la información y lo desechará. Una vez recogidos los 10 bits de la información de la trama, se procede a detectar si después de la información está el final de la trama. Si los siguientes 5 bits no son “1”, se vacía el vector con la información y se sigue buscando la trama entre los siguientes valores del vector. Después de determinar la información de la trama, se compara con una matriz de códigos para saber si el código recibido es válido o no. Dependiendo del código recibido, se encenderá un Led de la placa en la cual está el PIC. El Led se encenderá durante 5 segundos y luego se apagará. Existen 5 códigos posibles o autorizados, cada uno de ellos distinto al anterior. Una vez realizado la comprobación y encendido los Leds, o no dependiendo de si el código estaba autorizado, el sistema vacía todos los elementos utilizados para su posterior reutilización. Conclusiones 91 Capítulo 7 CONCLUSIONES En este capítulo se comentan las conclusiones obtenidas tras la realización de este proyecto final de carrera explicado a lo largo de todo este documento. En este proyecto se ha implementado un sistema completo, tanto el transmisor como el receptor, que permite mediante el uso de un dispositivo móvil la transmisión de información a un aparato receptor a través de la incorporación de la tecnología VLC, de tal manera que permita facilitar tareas cotidianas de la vida moderna, únicamente con el smartphones y un sencillo aparato conectado al él a través del sistema de auriculares. El uso de la tecnología VLC ofrece muchísimas ventajas frente a otras formas de transmisión, la más importante de ellas es la seguridad a la hora de transmitir los datos, ya que, al contrario que otros medios de transmisión, en los que con un sencillo software se vuelve posible interceptar la señal, en este caso es imprescindible la sustitución del receptor, volviéndose, por tanto, necesario la utilización de material específico y acceso al receptor. Por otro lado, en plena era de la información, cabe destacar que este sistema no sólo permite al usuario introducir unos datos y enviarlos, sino que además se introdujo la posibilidad de conectarse mediante Internet y descargarse un código Adaptador VLC para móvil 92 concreto, dando así la opción de o bien descargar la información o de insertarla directamente para su posterior utilización. Para que esto fuera posible se implementó una interfaz sencilla y fácil de entender para cualquier usuario. A la hora de realizar ésta interfaz, se procedió a estudiar el sistema operativo en el cual era más propicio su implementación, llegando a la conclusión, como se explica en capítulos anteriores, de la utilización del sistema Android puesto que ocupa el 80% del mercado de Europa, siendo con ello el sistema móvil más usado. Una vez seleccionada la plataforma de trabajo, se estudió la posibilidad de utilizar el flash de la cámara de fotos integrada en los móviles para transmitir la información mediante VLC. Estos estudios mostraron que debido a las limitaciones del software que presentan los dispositivos móviles, no era posible la utilización del flash por lo cual se le añadió un LED conectado al sistema de audio mediante un conector minijack, logrando con ello una transmisión a una velocidad que no sería posible mediante el uso del LED de la cámara que incorporan estos teléfonos, pero si a través del sistema de audio. El esquema utilizado para la creación de este sistema de transmisión es el que se muestra en la siguiente figura. A la hora de programar la aplicación móvil, se procedió a implementar una interfaz sencilla y fácil de entender para cualquier usuario. Con sólo 3 botones de acciones y uno de salida permite2 formas de enviar la información, la primera es a través del Dropbox, en donde se realiza una descarga del archivo y a continuación se procede a realizar una lectura y generación de un tono con la información contenida en dicho archivo, y la segunda es insertando la información mediante un teclado numérico. En ambas formas de transmisión se genera un tono de audio con una frecuencia de 10 khz con la información a enviar, tal y como se especifica a lo largo de este PFC. Para la recepción de la información se procedió a realizar la implementación de un sistema receptor mediante el uso de diferentes módulos, el primero consistente en un fotoreceptor y un amplificador. El siguiente módulo consta de un convertidor de onda completa, el cual se encarga de rectificar la señal. Seguidamente tenemos el filtro Conclusiones 93 RC, el cual elimina las altas frecuencias dejando solo la señal moduladora correspondiente a los datos transmitidos. El penúltimo módulo es el amplificador operacional, el cual se encarga de amplificar la señal hasta los 5 voltios, los cuales son necesarios para el correcto funcionamiento del PIC. Ya por último se encuentra el PIC en cuestión, el cual se encarga de recibir los pulsos y decodificar la información. Un esquema de este sistema es el que se muestra en la siguiente figura Una vez la señal de información pasa por todo el sistema receptor y llega hasta el microprocesador, éste se encarga de su procesamiento así como de la extracción de los datos y su validación, tal y como se explica anteriormente. Por último, se realizaron las diferentes pruebas para la comprobación del correcto funcionamiento del sistema completo, logrando con ello la transmisión y recepción de la información mediante el uso de un Smartphone. Concluyendo de este modo que el proyecto final de carrera “Adaptador VLC para móvil” ha alcanzado su fin logrando cumplir los objetivos inicialmente establecidos. Adaptador VLC para móvil 94 Bibliografía 95 BIBLIOGRAFÍA [1] Carlos Fernández Calero. Proyecto fin de carrera: “Enlace óptico no guiado para redes domóticas basadas en el estándar EIB”.ULPGC. Abril 2006 [2] Tecnología-Mecatronicos http://jhalva.blogspot.com.es/2011/10/comunicacion-infrarroja.html Última visita: Mayo 2014 [3] Comunicaciones por luz visible: Cuando los bits nos lleguen de las bombillas http://www.xatakahome.com/la-red-local/comunicaciones-por-luz-visible-cuando-losbits-nos-lleguen-de-las-bombillas Última visita: Mayo 2014 [4] Visible Light Wireless Communication System http://electronicsbus.com/visible-light-communication-system/ Última visita: Mayo 2014 Adaptador VLC para móvil 96 [5] LiFi, la alternativa al WiFi, pulveriza récord de velocidad: 10 Gbit/s http://es.gizmodo.com/lifi-la-alternativa-al-wifi-pulveriza-record-de-veloc-1453963390 Última visita: Mayo 2014 [6] Identificación Y Análisis De La Tecnología VLC/Li-Fi Desde La Perspectiva De Su Ciberseguridad-Ciberprivacidad http://www.conectronica.com/Seguridad/%E2%80%9CIdentificaci%C3%B3n-yan%C3%A1lisis-de-la-tecnolog%C3%ADa-VLC/Li-Fi-desde-la-perspectiva-de-suciberseguridad-ciberprivacidad%E2%80%9D.html Última visita: Mayo 2014 [7] WIFI. La comunicación inalámbrica http://www.aulaclic.es/articulos/wifi.html Última visita: Mayo 2014 [8] La historia del nacimiento de Bluetooth http://www.wayerless.com/2011/09/la-historia-del-nacimiento-de-bluetooth/ Última visita: Mayo 2014 Bibliografía 97 [9] Jesús Tomás Gironés. “EL GRAN LIBRO DE ANDROID”. Editorial: MARCOMBO, S.A. Edición: 3edición. Fecha edición: 29-01-2013 ISBN: 9788426719768 [10] Get the Android SDK http://developer.android.com/sdk/index.html Última visita: Mayo 2014 [11] Tema 3: Microcontroladores PIC 18F4550. Universidad Politécnica de Valencia. http://www.uv.mx/personal/jemedina/files/2010/07/Manual-del-Taller-Introduccional-Microcontrolador-PIC18F4550.pdf Última visita: Mayo 2014 [12] Página de Microchip Technology Inc http://www.microchip.com/ Última visita: Mayo 2014 [13] Manual de usuario del compilador PCW DE CCS. Autor: Andrés Cánovas López. http://www.cursos.ucv.cl/eie48700/referencias/CCS_C_Manual.pdf Última visita: Mayo 2014 [14] Introducción al uso del MPLAB v 8.00. centros.edu.xunta.es/iesperdouro/files/MPLAB-V8.00.pdf Última visita: Mayo 2014 Adaptador VLC para móvil 98 [15] Modulación Analógica. Autor: Luca Martino http://www.tsc.uc3m.es/~luca/Presentation1.pdf Última visita: Mayo 2014 [16] Modulador de Ask http://transmisor-fm-am.tripod.com/id7.html Última visita: Mayo 2014 [17] Fotorreceptores http://es.scribd.com/doc/77781821/Fotorreceptores Última visita: Mayo 2014 [18] Rectificador de onda completa http://www.slideshare.net/OthonielHernandezOvando/26-rectificador-de-ondacompleta Última visita: Mayo 2014 Pliego de condiciones 99 PLIEGO DE CONDICIONES Para llevar a cabo este Proyecto Fin de Carrera ha sido necesario disponer de diversos elementos, tanto hardware como software, en cada una de las etapas y a lo largo de todo el desarrollo del proyecto. En el presente Pliego de Condiciones se detallan los requisitos software y hardware necesarios para la realización de este PFC. Si se desean conocer más detalles sobre las características de los diversos elementos empleados durante la realización del proyecto consultar el anexo. P.C.1 Elementos Hardware A continuación, se detallan todos los elementos hardware, tanto herramientas como materiales, que han sido utilizados y sus características específicas. Cada uno de los elementos usados en este PFC tiene sus hojas de características en el anexo. En cuanto a los recursos hardware para la realización del PFC, tanto para la programación del sistema así como de los elementos han sido los siguientes:  Un ordenador Lenovo Z500 con un procesador Intel® Core i7-3612QM Quad Core de 2.10 GHz, 8 gigas de memoria RAM DDR3 y un disco duro de 1 TB (Terabyte). Este ordenador se ha utilizado para la programación de los elementos y la redacción de la memoria. Adaptador VLC para móvil 106 P.4.Costes De Recursos Software El coste de recursos software se obtiene a partir del valor de las licencias y el mantenimiento de cada uno de los programas utilizados. Se considerará que el coste de amortización es de tres años. En la Tabla P-4 se recogen los costes asociados a los recursos software. Concepto Coste total Coste amortización proyecto Microsoft Office Profesional Plus 2010 129,00 € 35,84 € Windows 8 119,99 € 33,33 € MPLAB 0 € 0€ ADT Bundle 0 € 0 € Coste Total 69,17 € Tabla P-4. Costes asociados a los recursos software El coste total de los recursos software asciende a la cantidad de sesenta y nueve euros y diecisiete céntimos (69,17 €). Presupuesto 107 P.5.Coste de material fungible A los gastos calculados en los apartados anteriores hay que unirles el coste asociado al material fungible y otros gastos generales. Estos se recogen en la tabla P-5: Concepto Cantidad Coste unitario Importe Paquete de papel DIN-A4 80gr/m2 5,00 € 10,00 € Cartuchos de tinta de impresora 25,00 € 100,00 € Encuadernación x3 35,00 € 105,00 € DVD x3 0,80 € 2,4 € Transistor C547C 0,1 € 0,04 € Resistencias (6) 0,18 € 0,08 € Hamamatsu C9052-01 49,99 € 20,83 € Puente de diodos DF06M 0,77 € 0,32 € Diodo LED Rojo 0,15 € 0,06 € Fotodiodo 12 € 5 € Amplificador Operacional TL081 0,33 € 0,14 € Coste total 243,87 € Tabla P-5. Costes asociados al material fungible Adaptador VLC para móvil 108 El coste total atribuido a otros gastos del Proyecto Fin de Carrera asciende a un total de doscientos cuarenta y tres euros con ochenta y siete céntimos (243,87 €). P.6.Coste Total del Proyecto Fin de Carrera El cálculo del presupuesto de este PFC se realiza a partir de los costes hallados en los apartados anteriores, incluyendo el beneficio industrial y los impuestos pertinentes. En la Tabla P-6 se recogen estas partidas: Concepto Coste total Recursos Humanos 48.000,00 € Recursos Hardware 3413,32 € Recursos Software 69,17 € Material fungible 243,87 € Total antes de impuestos 51.726,36 € IGIC (7%) 3.620,85 € Total 55.347,21 € Tabla P-6: Coste total del proyecto Presupuesto 109 D. Javier Frutos Ferrera declara que el presupuesto del proyecto “Adaptador VLC para móvil” asciende a un total de cincuenta y cinco mil tres cientos cuarenta y siete euros con veintiún céntimos (55.347,21 €). Fdo.: Javier Frutos Ferrera Las Palmas de Gran Canaria, Mayo de 2014 Adaptador VLC para móvil 110 111 ANEXO 112 Anexo 113 Anexo (Hojas de características de los elementos hardware) Amplificador Adaptador VLC para móvil 114 Si photodiode evaluation circuit C9052 series C9052-04 Power supply circuit for driving C9052-01/-02/-03 and output processing ci rcuit assembled together. Circu1t configuration Feature Power supply circuit Supplies constan! voltage to each head board. C9052-01/-02: ±12 V, C9052-03: +12 V Sample-and-hold circuit * Samples and holds the output signa! of head board in synchronization with input light. Peak hold circuit * Holds oeak values of head board outout sianal. Reset pulse generator circuit for integration circuit output. lntegration reset circuit Ooerates in svnchronization with inout liaht and samole-and-hold circuit. lmbalance indication circuit Monitor circuit for light balance detection circuit. lndicator LED lights up when difference between two ohotodiodes exceeds a soecified level. Counts the number of output pulses from a frequency conversion circuit Frequency counter circuit and tums on the indicator LED in a lighting cycle according to light leve!. * The sample-and-hold circuit and peak hold circuit can be selected to replace the jumpsocket. • Circuit connection C9052-01 or C9052-02 or C9052.03 1 1 A9053 NOTE) Photodiode is sold separately. • Dimensional outlines (unit: mm) i 1 ~ A L_ :t _~_~_l:v_~_r_:_:_ :~ L.:::_J Y , eoc. C9052-01/-02/-03 C9052-04 PHOTODIODE • 50 43 COMPONENT MOUNTED SIDE 85 75 Connectable product C9052-01/-02/-03 C9052-01/-02 C9052-01/-02 C9052-02 C9052-02 C9052-03 COMPONENT MOUNTED SIDE LJ • Accessory o ~ · ~ • Photodiode and connecior for A9053 are sokl separately. Mark -01 -02 -03 a (20) (12) Dedicated AC adapter (C9052-04 only} o CONNECTOR FORA0053 HAMAM ..... su lntormation fumtshed by HAMAMA.TSU is beitNed to be reiable. Hc,we,.,e,, no responsibility is asst.n18d for possib1e naccuracies or omssK>nS.. ..... • Specifications are suti;ect to change wihout notice. No patent rigtis are granted to any of the cin:uts described henm. 02002 Hamamatsu Photonics K.K. HAMAMATSU PHOTONICS K.K., Solid State Division 1126-1 lchin<reho, Hamamatsu City, 435 -8558 Japan, Telephone: (81) 053-434-3311, Fax: (81) 053-434· 5184 , http ://www.hamamatsu.com U. SA: Hamamatsu Corporation: 360 footh il Road, P.0.Box 6910 , Bridgewater, N,J.08807-0910, U.SA , Tetephooe: (1) 9()8.231-0960, Fax: (1) 908·231·1218 Germany: Hamamatsu Pholonics Oeutschland GrnbH: Arz:bergerstr. 10 , [).82211 Henschng am Anvnersee, Germany, Telephone: (49) 08152-3750, Fax: (49) 08152·2658 France: Hamamatsu Photooics France S.A.R.L : 8, Rue du SauleTrapu, Pare du Mouln de Massy, 91882 Massy Cedex. Fraooe , Telephone: 33-{1) 69 53 71 00 , Fax: 33-{1) 69 53 71 10 United Kingdom: Hamamatsu Photonics UK l.mted : 2 Howard Court, 10 Tewin Road, Welwyn Garden City , Hertfordshire Al 7 1 BW, Unied IGngdom, Telephone: (44) 1707·294888 , Fax : (44) 1707-325777 Nof1h Europe: Hamamatsu Photonics Nomen AB: Smidesvágen 12, SE•171 41 Solna, Sweden, Telephone: (46) 8-509-031-00, Fax: (46) 8-509-031-01 ltaly:Hamamatsu Photonics nalia S.R .L: Strada dela Moia , 1/E, 20020Arese, (Milano), lta ly. Telephone:(39) 02·935-81·733 , Fax: (39) 02-935-81·741 2 Cal No. KACC1083E03 Nov. 2002DN Anexo 115 LED Adaptador VLC para móvil 122 Anexo 123 TL081 , TL081A , TL0818 , TL082 , TL082A , TL0828 TL084 , TL084A , TL0848 SL OS081H -FEBRUARY 1977RE VIS ED J ANUARY 2014 El ectrical Chara ct e ri stics Vcc• = ±15 V (unless otherwise noted) -TL081C TEST T A(1) TL0 8 2C PARAMETER CONDITIONS TL084C MIN TYP MAX Input offset Vo = O, 25ºC 3 15 V,o voltage Rs = 50 O Full range 20 T emperature coefficient of Vo = O, Full range 18 Ov,o input offset Rs = 50 O voltage Input offset 25ºC 5 200 l,o current< 21 V0= 0 Full range 2 Input bi as 25ºC 30 400 1,s current<21 Vo = O Full range 10 C ommon -- 12 V1 cR mode i npu t 25 ºC ±11 to 15 voltage range Maximum RL= 10k0 25ºC ±12 ±13.5 VOM peak out p ut Ri_;a, 1 0k0 ±12 voltage swing Re .e 2 kO Full range ±10 ±12 Large-signal 25ºC 25 200 Avo differential Vo = ±10V , voltage Re ;a, 2 kO Full range 15 amp lificati on B, Unity-gain 25ºC 3 band wi dth r; Input 25ºC 10 12 resistance Common-V1 c ;; VacRm ín, CMRR mode Vo=O, 25 ºC 70 86 rejecti on ratio Rs = 50 n SupplyVc,:; = ±15V k SVR voltage t o±9V, 25ºC 70 86 rejecti on ratio Vo=O, (/J.VccJ/J.V,o) Rs = 50 n Supply Vo=O, lec curren! ( each 25 ºC 1.4 2.8 amp lifier) No loa d Vo , No Crosslalk Avo = 100 25ºC 120 2 attenuation .lí:& TEXAS V I NSTRUMENTS www.t i .co m TL 08 1AC TL081BC TL 0 811 TL 08 2AC TL082BC TL0 821 TL 084AC TL084BC TL 0841 UN IT MIN TYP MAX MIN TYP MAX MIN TYP MAX 3 6 2 3 3 6 mV 7.5 5 9 18 18 18 µV/ºC 5 100 5 100 5 1 00 pA 2 2 10 nA 30 200 30 200 30 2 00 pA 7 7 20 nA - 12 - 12 - 12 ±11 to 15 ±11 to 15 ±11 to 15 V ±12 ±1 3.5 ±12 ±13.5 ±12 ±13.5 ±12 ±12 ±12 V ±10 ±12 ±10 ±12 ±10 ±12 50 200 50 200 50 200 V/mV 15 25 25 3 3 3 MHz 10 12 10 12 10 12 n 75 86 75 86 75 86 dB 80 86 80 86 80 86 dB 1.4 2.8 1.4 2.8 1.4 2.8 mA 1 20 120 1 20 dB (1 ) Ali characteris ti cs are measured under open-loop conditions with z ero common-rnode voltage, unless otherwise specified. Full range for TA is OºC to 70ºC for TL08 C, TL08 AC, TL 08 BC and - 40 ºC to 85ºC for TL 08 l. (2) Input bias currents of an FE T-input operational arnplifier are normal junction reverse currents, which are ternperature sens it ive, as shown in Figure 17. Pul se techniques rn ust be used that rnaintain the junction temperature as clase to t he am bi ent temperature as possible. 4 Submit Oocumentation Feedback Copyr i ght© 1977-2014, Texas lnstruments lncorporated Product Fo l der Links: TL081 TL081A TL081B TL082 TL082A TL082B TL084 TL084A TL084B Adaptador VLC para móvil 124 Transistor Anexo 125 BC546 thru BC548C ELECTRICAL CHARACTERISTICS (TA = 25ºC unless otherwise noted) Characteristic OFF CHARACTERISTICS Collector -E mitter Breakdown Voltage (le = 1.0 mA , 1 6 = O) Collector -B ase Breakdown Vo ltage (le = 1 00 µAdc) Emi tter -B ase Breakdown Vo ltage (le = 1 o µA , le = O) ON CHARACTERISTICS DC Curren! Gain (le = 10 µA, VeE = 5.0 V) (le = 2.0 mA , VeE = 5.0 V) (le = 1 00 mA , VeE = 5.0 V) Collector -E mitter Saturation Vol tage (le = 1 00 mA , IB = 5.0 mA) Base -Emitter Saturation Voltage (le = 1 00 mA , IB = 5.0 mA) Base-E mitter On Voltage (le = 2.0 mA , VeE = 5.0 V) (le = 10 mA , VeE = 5.0 V) S MALL -SIGNA L CHARACTERISTICS Current -Gain -Bandwidth Pr oduct (le = 10 mA , VeE = 5.0 V, f = 100 MHz) Output Capacitance (Ves = 10 V, le = O, f = 1.0 MHz) I nput Capacitance CV Es = 0.5 V, le = O, f = 1.0 MHz) S mall -Signa l Curren! Gain (le = 2.0 mA , VcE = 5.0 V, f = 1.0 kHz) Noise Figure (le = 0.2 mA , VeE = 5.0 V, Rs = 2 kQ, f = 1.0 kHz , M = 200 Hz) Symbol BC546 V( BR)CEO BC547 BC548 BC546 V( BR)CBO BC547 BC548 BC546 BC547 V(BR ) EBO BC548 hFE BC5 47A/548A BC5 468/5478/5488 BC5 48C BC5 47A/548A BC5 468/5478/5488 BC5 47C/ BC548C BC5 47A/548A BC5 468/5478/5488 BC5 48C 1 VeE( sa t) 1 VsE( sa t) VsE( on ) ÍT BC546 BC5 47 BC5 48 Cobo C; bo hie BC5 47A/548A BC5 468/5478/5488 BC5 47C/548C NF BC5 46 BC5 47 BC5 48 Min 65 45 30 80 50 30 6.0 6.0 6.0 - - - 110 200 420 - - - - 0.55 - 150 150 150 - - 125 240 450 - - - www. mccsemi .com 2of 5 Revision: 7 ·M·C·C· ------------ ... Micro Commercial Compo nents Typ Max Unit - - V - - - - - - V - - - - - - V - - - - - 90 - 150 - 270 - 180 220 290 450 520 800 120 - 180 - 300 - V 0.3 -1.0 V V -0.7 -0.77 MHz 300 - 300 - 300 - 1.7 4.5 pF 10 - pF - 220 260 330 500 600 900 dB 2.0 10 2.0 10 2.0 10 2008 / 11 / 05 Adaptador VLC para móvil 126 BC546 thru BC548C z < e, \;;: w a: a: ::, (,) 8 o w ~ e( :E a: o z w ... .e ~ w e, ~ S? a: w ~ :E w d: o t, w ~ o (,) w ~ 2.0 1 1 11111 1.5 Vce = 10V - TA= 25°C LO 0.8 - 0.6 L,' r,. OA \ 0.3 ' 0 .2 0.2 0.5 1.0 2.0 5.0 10 20 50 100 200 2.0 1.6 1.2 -- 0.8 0.4 o 0.02 le, COLLECTOR CURRENT (mAdc) Figure 1. Normallzed DC Curre nt Gain 11 1 1 1 TA= 25°C 1 1 1 1 le = 200mA ~~ 1 1 11 le= le = le=50mA ~le = 100mA 10 mA 20 mA ' 11. 11.. \ !'.. ' 'r-.. 0 .1 1.0 10 20 le, BASE CURRENT (mA) F igure 3. Collector Satur ation Region ¡¡, t:; o ~ w e, ~ '-' o > -;,: ~ :>" .§. \;;: w <3 u: ... w o (,) w a: ::, ti: a: ~ :E w .... i 1.0 1 1 1 0.9 TA= 25 °C 0.8 0 .7 0.6 0.5 0.4 0.3 0.2 0.1 o ·M·C·C· ___________ .. M ic ro Comme rci al Components 111 ~ 111111 1 1 1 1 ~.,,,. ... ~ Vee ( sat) @ le/l e= 10 ~ _ .... .... ~ i- -c..-iVe e (on)@ Vce = 10v V CE(sa4@ldla = 1~. ....... 1 1 1 11 11 0.1 0 .2 0.3 0.5 0.71.0 2.0 3.0 5.0 7.0 10 20 30 50 70 100 le, COL.LECTOR CURRENT (mAdc) Figur e 2. "Saturation" and "On" Voltages 1.0 1 1 1 11 11 1 - -SS°C to + 125 ºC 1.2 1.6 .......... ..... 2.0 ~-- 2.4 - "" - 2.8 0.2 1.0 10 100 le, COLLECTOR CURRENT (mA) Figure 4. Base-Emltter Te mperature Coefficient BC547/BC548 10 7.0 i 5.0 w ~ § 3.0 ét cS 0 2.0 1.0 r-¡...¡... -...... r--.... C¡, - i", ,...,.._ -r-- r---,.. Cm I"'-,.¡.,, .......... 0.4 0.6 0.8 1.0 2.0 4 .0 6.0 8.0 10 VR , REVERSE VOLTAGE (VOLTS) F igu re 5. Capa ci t ances 1 1 TA=25 ºC - ~ ........... r-- 20 40 i 400 § 300 ~ 200 n. :,:: .... o ~ 100 ! 80 1 z 60 ~ ~ 40 11! 30 ª ~ /~ ~ ' .... Vce = 10V TA = 25°C : = 20 0.5 0.7 1.0 2. 0 3.0 5.0 7.0 10 20 30 50 le , OOLLECTOR CURRENT (mAdc) Figur e 6. Current-Gain - Bandw id th Produ ct www. mccsemi .com 3 of 5 Revision: 7 2008 / 11 / 05 Anexo 127 PIC demoboard Adaptador VLC para móvil 128 PICDEM™ FS USB User's Guide The software consists of the Microchip General Purpose USB Windows dr i ver , mch pu sb. sy s, wh i ch allows a PC appl ica tion to communicate directly to ttne device's endpoints. A set of user-friendly programming interfaces, the MPUSBAPI Lib rary, is al so prov ided to allow easy applicati on deve lopment. The board comes pre-programmed with a default demo application and is ready for evaluation ri ght out of the box. New programs can be downloaded to the PIC18F4550 microcontroller using a pre-programmed bootloader via the USB interface. A PC -based application, the PICDEM FS USB Demo Tool, facilitates the bootloading process and serves as the host application in the default demonstration. 1.3.1 Benefits of Using the PICDEM FS USB Board The PICDEM FS USB demonstration board provides two simple advantages: A READY-TO-USE DEMONSTRATION: As delivered, the board is ready for full-speed USB operation; all that is required is the proper dr iver (included) and the Demo Tool application. Users can al so re-program thle board with different applications, included on the Starter Kit CD , to evaluate other USB solutions that can be tailored to their needs. AN EXPANDABLE PLATFORM: Users can also expand the hardware capabilities of the board through its expansion headers, and even interface it with available PICtail™ demonstration and evaluati on daughter boards. 1.4 PICDEM FS USB BOARD HARDWARE FEATURES DS51526A-page 8 The overall layout of the board is shown in Figure 1 -1 , with a list of the main features following. The more complex features are discussed in detail later in this section. FIGURE 1-1: THE PICDEM FS USB BOARD (TOP ASSEMBL Y VIEW) [i "' 1. Microcontroller: The 44-p in, TQFP PIC 18F4550 microcontroller (U2) is the heart of the demonstration board, and provides all USB functionality on one chip. Refer to the device data sheet (DS39632) for a complete discussion of the microcontroll er and its feature set. 2. ICE Interfa ce Riser: The microcontroller is surrounded by a 44-pin pad ,( US), arranged as four groups of 11 on each side. These locations can be used to mount a ri ser for interfacing with Microchip's MPLAB ICE 2000/4000 emulator system. © 2004 Microchip Technol ogy lnc. Anexo 129 lntroduction to the PICDEM™ FS USB Board 3. O sc illator: The demonstration board uses a 20 MHz crystal oscillator (Y1) as the primary clock service. The PIC18F4550 uses this oscill ator to generate the necessary clock signals for both the USB serial interface engine (SIE) and the core processor. 4. ICD Configuration Jumpers: These three unpopulated jumper positions allow the user to choose either legacy or dedicated ICSP™ and ICD ports for the controll er . By default, the board is hard-configured for the legacy port . The configuration and use of these jumpers is detailed in Section 5.2.4 "Adding ln -C ircuit Emulation Capability". 5. Expansion and PICtail Headers: The pads at J6 and J7 are provided for users to install header and direcUy access the microcontroller's 1/0 port signals. In addition, the 14 even-numbered pins of J6 (those on the right side as viewed from the top) serve as the interface for Microchip's PICtail daughter boards. This allows the PICDEM FS USB board to be used as a test platform and USB communications interface for the PICtail boards. 6. Configuration Jumpers: A total of 13 unpopulated jumper positions are provided across the board; these allow users to modify the board by configuring its hardware to suit their needs. By default, all jumpers are bridged and all features are enab led. T he configuration and use of these jumpers is detailed in Section 5.2 "Configuring the Demonstration Board Options". 7. Potentiome ter : The potentiometer (R20) simulates an analog input for the controll er . lts real-time value can also displayed by the Demo Tool host software. 8. Temperature Sensor: A Microchip TC77 digital temperatura sensor (U4) continuously mon i tors the board's ambient temperatura. Data is transm itted to the controller via a 3-wire SPI interface, and is displayed in real time by the Demo Tool software. 9. Power LEDs (Green): These light to show that power is being supplied to the board, and to indicate how the board is being powered. LEO 07 indicates that the board is bei ng powered from the bus , while 08 indicates the board is being powered from a separata power supp l y. 10. Reset Push Button: This sw itch (S1) is tied to the MCLR pin ofthe PIC18F4550 controll er ; pressing it causes a hard device reset. 11 . Power Connector: Power (9 VDC) can be supplied to the board from an externa! power adapter through a mini barrel jack . Using an ex terna! supp ly is optional, as all examp l es provided with the demonstration board can use power from the USB cable. 12. USB Connec tor : This is a standard USB series "B" receptacle. The USB port is the primary channel for controlling and communicating with the demonstration board. 13. ICD Connector: This 6-wire RJ11 connector provides the standard interface used by Microchip development and demonstration boards for programming and debugging applications, using MPLAB ICD 2 and other development tools. 14. Status LEO Bank: A bank of four green LEDs is used to show the operational status of the board. Two LEDs (01 and 02) are used by the application firmware to indicate the status of the USB connection. The other LE Os (03 and 04) can be defined by the user ; they are directly controllable through the Demo Tool software. 15 . U se r-defined Push Buttons: These two switches (S2 and S3) are provided to simulate digital control inputs. Pressing either button causes its port to read as 'o'. 16. RS-232 (DB9F) Port: A standard D -s hell connector, along with a standard level shifter (U1 ), provides an RS -232 serial connection to the demonstration board. © 2004 Microchip Technology lnc. DS51526A-page 9 Adaptador VLC para móvil 130