Post on 19-Aug-2020
Alexandre Solleiro Saura
Sensor de temperatura integrado en etiqueta NFC con recolección de energía
TRABAJO DE FIN DE GRADO
Dirigido por Dr. Antonio Lázaro Guillén
Grado de Telemática
Tarragona
2017
Agradecimientos
Quería agradecer al Dr. Antonio Lázaro Guillén su dedicación e implicación a lo largo
de este proyecto de final de grado.
1
Índice
Capítulo 1. Introducción ................................................................................................... 6
1.1 Motivación .............................................................................................................. 6
1.2 Objetivos del proyecto ............................................................................................ 6
1.3 Estructura del proyecto ........................................................................................... 7
Capítulo 2. Tecnologías implementadas ........................................................................... 8
2.1 Tecnología NFC ..................................................................................................... 8
2.1.1 ¿En qué consiste la tecnología NFC? .............................................................. 8
2.1.2 Funcionamiento ............................................................................................... 8
2.1.3 NDEF (NFC Data Exchange Format) ............................................................. 9
2.1.3.1 Campos mensaje NFC ................................................................................ 10
2.2 Arduino ................................................................................................................. 13
2.2.1 Historia Arduino ............................................................................................ 13
2.2.2 Software Arduino .......................................................................................... 14
2.2.3 Hardware Arduino ......................................................................................... 15
2.3 Sistema de comunicación I2C .............................................................................. 16
2.3.1 ¿Qué es el bus I2C? ....................................................................................... 16
2.3.2 Condiciones Start y Stop ............................................................................... 17
2.3.3 Condición Restart .......................................................................................... 17
2.3.4 Reconocimiento ............................................................................................. 18
2.3.5 Formato de los datos ...................................................................................... 18
2.4 App Inventor ......................................................................................................... 19
Capítulo 3: Dispositivos del sistema .............................................................................. 20
3.1 Chip NFC M24LR04E-R ..................................................................................... 20
3.1.2 Selección de componentes ............................................................................. 20
3.1.3 Descripción .................................................................................................... 20
3.1.4 Descripción de las patillas ............................................................................. 21
3.1.5 Capacidad de entrada entre Ac0, Ac1 ........................................................... 22
3.1.6 ¿Por qué M24LR04E-R? ............................................................................... 22
3.2 Sensor de temperatura LM75A ............................................................................ 23
3.2.1 Características clave ...................................................................................... 23
3.2.2 Descripción .................................................................................................... 23
3.2.3 Configuración de las patillas y funciones ...................................................... 24
2
................................................................................................................................ 24
3.3 Microcontrolador AVR ATtiny85 ........................................................................ 26
3.3.1 Descripción .................................................................................................... 26
3.3.2 Características clave Microcontrolador ATtiny85 ........................................ 27
3.3.2.1 Tabla de características ........................................................................... 27
3.3.2.2 Característica clave el proyecto .............................................................. 27
3.3.3 Configuración de las patillas ATtiny 85 ........................................................ 28
3.3.3.1 Encapsulado y disposición de las patillas ............................................... 28
3.3.4 Tutorial de preparación para programación ATtiny 85 con Arduino ............ 29
3.3.4.1 Paso 1 ...................................................................................................... 29
3.3.4.2 Paso 2 ...................................................................................................... 30
3.3.4.3 Paso 3 ...................................................................................................... 31
3.4 Antena NFC .......................................................................................................... 32
3.5 Lector (teléfono móvil) ......................................................................................... 32
3.6 Software de control ............................................................................................... 32
Capítulo 4. Comunicaciones ........................................................................................... 33
4.1 Comunicación I2C entre microcontrolador y sensor ............................................ 33
4.2 Comunicación I2C entre microcontrolador y chip NFC ...................................... 35
Capítulo 5. Diseño de la etiqueta NFC ........................................................................... 36
Capítulo 6. Ajuste de la antena NFC .............................................................................. 39
6.1 Simulación de la espira ......................................................................................... 39
6.2 Ajuste del condensador del chip NFC .................................................................. 42
Capítulo 7. Aplicación para Android .............................................................................. 43
7.1 Feel It! .................................................................................................................. 43
7.2 Diseño ................................................................................................................... 43
7.2.1 Logo y banner ................................................................................................ 43
7.2.2 Pantalla principal ........................................................................................... 45
7.3 Programación ........................................................................................................ 46
7.4 Descargar la aplicación ......................................................................................... 46
Capítulo 8: Conclusiones y líneas futuras ...................................................................... 47
8.1 Conclusiones ......................................................................................................... 47
8.2 Líneas futuras ....................................................................................................... 47
Referencias ..................................................................................................................... 48
3
Índice de figuras
Figura 1. Comunicación NFC entre tarjeta y dispositivo móvil ....................................... 6
Figura 2. Esquema NFC de modo activo .......................................................................... 8
Figura 3. Esquema NFC de modo pasivo ......................................................................... 9
Figura 4. Esquema mensaje NDEF .................................................................................. 9
Figura 5. Registro NDEF ................................................................................................ 10
Figura 6. Co-fundadores de Arduino .............................................................................. 13
Figura 7. IDE de Arduino ............................................................................................... 14
Figura 8. Placa de Arduino UNO ................................................................................... 15
Figura 9. Esquema de conexión I2C Master-Slave ........................................................ 16
Figura 10. Condiciones de Start y Stop .......................................................................... 17
Figura 11. Condición Restart .......................................................................................... 17
Figura 12. Reconocimiento ............................................................................................ 18
Figura 13. Formato de los datos ..................................................................................... 18
Figura 14. Logo de App Inventor ................................................................................... 19
Figura 15. Esquema lógico del chip M24LR04E-R ....................................................... 21
Figura 16. Shield compatible con Arduino ..................................................................... 22
Figura 17. Sensor LM75A conectado a Arduino UNO .................................................. 23
Figura 18. Encapsulado LMA75 de 8 patillas ................................................................ 24
Figura 19. Conexiones sensor LM75A, cara superior (izquierda), cara inferior (derecha)
........................................................................................................................................ 25
Figura 20. ATtiny 85 ...................................................................................................... 26
Figura 21. Fuente de corriente vs. Frecuencia (1-20 MHz) ........................................... 27
Figura 22. Pinout ATtiny 85 ........................................................................................... 28
Figura 23. Imagen IDE Arduino ..................................................................................... 29
Figura 24. Imagen IDE Arduino ..................................................................................... 30
Figura 25. Imagen IDE Arduino ..................................................................................... 30
Figura 26. Imagen IDE Arduino ..................................................................................... 31
Figura 27. Definición de variables para lectura de LM75A ........................................... 33
Figura 28. Código de la función para leer la temperatura del LM75A .......................... 34
Figura 29. Cambio de formato float a string .................................................................. 34
Figura 30. Configuración de los bits de recolección de energía. .................................... 35
Figura 31. Esquema de conexionado de la etiqueta NFC ............................................... 36
Figura 32. Layout, parte de la electrónica sin sensor de temperatura LM75 ................. 37
Figura 33 Layout, parte de la electrónica con sensor de temperatura LM75 ................. 37
Figura 34. Etiqueta NFC ................................................................................................. 38
Figura 35. Simulación espira NFC ................................................................................. 39
Figura 36. Simulación de la Espira NFC ........................................................................ 40
Figura 37. Simulación de la Espira NFC, programa ADS.............................................. 40
Figura 38. Simulación con anchura W=0.8 mm ............................................................. 41
Figura 39. Simulación con anchura W=0.7 mm ............................................................. 41
Figura 40. Antena NFC ajustada .................................................................................... 42
Figura 41. Apartado designer de App Inventor .............................................................. 43
Figura 42. Logo de la aplicación Feel it! ........................................................................ 44
Figura 43. Banner de la aplicación Feel it! ..................................................................... 44
4
Figura 44. Pantalla principal de la aplicación Feel it! .................................................... 45
Figura 45. Apartado blocks de App inventor ................................................................. 46
5
Índice de tablas
Tabla 1. Comparación entre chips NFC ......................................................................... 20
Tabla 2. Capacidad de entrada entre Ac0 y Ac1 ............................................................ 22
Tabla 3. Configuración y descripción de las patillas del sensor LM75 .......................... 24
Tabla 4. Características del microcontrolador ATtiny 85 .............................................. 27
Capítulo 1. Introducción
6
Capítulo 1. Introducción
1.1 Motivación
A medida que pasan los años, la sociedad evoluciona hacia un mundo cada vez
más tecnológico. Este progreso tecnológico, facilita el día a día de las personas tanto en
el ámbito profesional como en el personal.
Hoy en día ni siquiera hace falta llevar encima una tarjeta de crédito para realizar
una compra, con tener una simple pulsera NFC contactless es suficiente. La tecnología
ha avanzado hasta tal punto que simplemente con llevando un teléfono móvil, podemos
hacer un sinfín de acciones, como por ejemplo: identificarnos en un evento, identificarnos
y controlar un coche, dirigir un dron, compartir videos y música,…
Con la realización de este proyecto, se pretende seguir evolucionando hacia una
vida cada vez más influenciada por la tecnología. Y así, facilitar la vida de las personas.
1.2 Objetivos del proyecto
El fin de este Trabajo de Fin de Grado es conseguir integrar un sensor de
temperatura en una etiqueta NFC, además, se pretende poder alimentar eléctricamente el
circuito impreso en la etiqueta NFC mediante recolección de energía de la señal de
radiofrecuencia (RF), comúnmente conocida como energy harvesting. De esta manera, se
evitaría la utilización de pilas y así se favorecería el medio ambiente.
El hecho de utilizar la tecnología NFC, ha sido para darle una nueva utilidad a una
tecnología que está en auge y que promete facilitar la vida a nuestra sociedad.
Aprovechando que la tecnología NFC ya está incorporada en la mayoría de teléfonos
móviles, se ha diseñado una etiqueta NFC desde la que se podrá recoger información
detectada por un sensor incorporado en ella.
Figura 1. Comunicación NFC entre tarjeta y dispositivo móvil
Capítulo 1. Introducción
7
La etiqueta NFC consta de una antena NFC diseñada con ayuda del software
Keysight ADS, un chip NFC M24LR04E-R, un microcontrolador AVR ATtiny85 y un
sensor de temperatura LM75A.
Con ella, podremos saber que temperatura se encuentra el tag en el lugar en el
cual se coloque. Se podría imprimir en distintos formatos, para otorgarle desde un uso
industrial a un uso personal.
La utilización de un sensor de temperatura ha sido un ejemplo con el que se ha
querido mostrar la utilidad del proyecto. Por ello, cabe remarcar que con la utilización de
otros sensores como por ejemplo de humedad, se podrían obtener otras funciones
beneficiosas para el usuario.
Por otra parte, se ha creado una aplicación para Android, la cual se llama Feel it!,
diseñada exclusivamente para leer los datos captados desde la tarjeta. En ella, se podrán
obtener temperaturas captadas por el sensor y guardar las temperaturas que el usuario
considere oportunas.
Finalmente, con este Trabajo de Fin de Grado se quiere representar la mezcla de
conocimientos informáticos, eléctricos, electrónicos y de telecomunicaciones que se
aprenden en el grado de Ingeniería Telemática.
1.3 Estructura del proyecto
En el primer capítulo se presenta una introducción a la tecnología NFC y sus
aplicaciones, así como los objetivos y la estructura del proyecto. Seguidamente, en el
capítulo 2, se describen las tecnologías utilizadas para el desarrollo del proyecto.
Los diferentes elementos utilizados en el sistema se describen brevemente en
capítulo 3, enfocando la descripción a las características más importantes de estos
elementos.
En el capítulo 4, se lleva a cabo una breve explicación de las comunicaciones entre
el chip NFC y el microcontrolador y entre el sensor de temperatura y el microcontrolador.
En los capítulos 5 y 6, se explican el diseño de la etiqueta NFC y el ajuste de la
antena. Seguidamente, en el capítulo 7 se explica cómo se ha llevado acabo la aplicación
para el teléfono móvil tanto en diseño como en programación.
Por último, en el capítulo 8, se han redactado las conclusiones y las líneas futuras
del proyecto.
Capítulo 2. Tecnologías implementadas
8
Capítulo 2. Tecnologías implementadas
2.1 Tecnología NFC
Para captar la información proporcionada por el sensor, se ha decidido
implementar una comunicación NFC. La elección de dicha tecnología ha sido basada en
facilitar la accesibilidad y proporcionar comodidad al usuario, al contar la mayoría de
smartphones con un lector NFC.
2.1.1 ¿En qué consiste la tecnología NFC?
NFC es una tecnología de comunicación inalámbrica, de corto alcance y alta
frecuencia que permite el intercambio de datos entre dispositivos. La cual, fue pensada
desde el inicio para teléfonos y dispositivos móviles.
Su tasa de transferencia puede alcanzar los 424 kbit/s, por lo que su enfoque, es para
comunicación instantánea. Como punto fuerte, cabe destacar la velocidad de
comunicación, que es casi instantánea sin necesidad de emparejamiento previo. Como
contrapartida, el alcance de la tecnología NFC es muy reducido, oscila como máximo en
un rango de los 10 - 15cm. [1]
2.1.2 Funcionamiento
El funcionamiento de la tecnología NFC se basa en la creación de un campo
electromagnético en el que, mediante inducción, se genera un intercambio de información
entre ambos dispositivos. Para el uso de esta tecnología se necesita, al menos, un
dispositivo que soporte NFC y una etiqueta (o Tag) en la que se almacena información.
Siempre tiene que haber un dispositivo que inicia la comunicación y monitoriza la misma.
Al trabajar en la banda de los 13,56 MHz, no se le aplica ninguna restricción y no requiere
ninguna licencia para su uso. [2]
Existen dos modos de funcionamiento en NFC:
NFC de modo activo: ambos dispositivos están equipados con fuentes de energía
por lo que ambos son capaces de generar su propio campo electromagnético y utilizarlo
para intercambiar información con otros dispositivos. [3]
Figura 2. Esquema NFC de modo activo
Capítulo 2. Tecnologías implementadas
9
Un claro ejemplo es el envío de una foto entre dos teléfonos con esta tecnología.
NFC en modo pasivo: uno de los dispositivos no cuenta con fuente de energía
propia y, por tanto, necesita que el segundo dispositivo genere el campo electromagnético
en el que, mediante la modulación de la carga, se intercambian los datos.
Un ejemplo de este modo, es la comunicación con etiquetas o Tags, en las que el
lector es el encargado de establecer la comunicación. [4]
2.1.3 NDEF (NFC Data Exchange Format)
El Data Exchange Format NFC (NDEF) es un formato de datos estandarizado
que se puede utilizar para intercambiar información entre cualquier dispositivo NFC
compatible y otro dispositivo o Tag. A continuación veremos el formato de los mensajes
NDEF.
Cada registro contiene un encabezado y una carga útil. El encabezado contiene
información útil para el lector (ID de registro, su longitud y tipo). El tipo define el tipo
de datos que contiene el registro.
Figura 3. Esquema NFC de modo pasivo
Figura 4. Esquema mensaje NDEF
Capítulo 2. Tecnologías implementadas
10
El registro de NDEF contiene mucha información, lo cual podemos observar en
la figura anterior. Los primeros ocho bits contienen flags que definen cómo interpretar el
resto de los componentes del registro.
A continuación, veremos con más detalle los campos de los mensajes NFC.
2.1.3.1 Campos mensaje NFC
Type Name Format (TNF)
Según el valor del TNF podremos, sucede lo explicado a continuación:
0 - Vacío: El registro no contiene ninguna información.
1 - Conocido: Los datos están definidos por Record Type Definition (RTD) disponible en
foro NFC.
2 - Multipurpose Internet Mail Extensions (MIME)
3 - Uniform Resource Identifier (URI)
4 - Externo: Se trata de datos definidos por el usuario que se basan en el formato
especificado por la especificación RTD.
Figura 5. Registro NDEF
Capítulo 2. Tecnologías implementadas
11
5 - Desconocido: El tipo de datos es desconocido, lo que significa que debe establecer el
tipo de longitud a 0.
6 - Inalterado: Algunas cargas son divididas, lo que significa que los datos son
demasiado grandes para caber en un solo registro. En este caso, cada registro contiene
una parte de los datos. Este TNF indica que este no es el primer registro en el trozo, es
decir, es uno de los registros de la mitad o la terminación.
7 - Reservado: Este valor está reservado para uso futuro.
IL Flag
El indicador IL, indica si el registro contiene un campo de longitud de ID. No
especifica la longitud de ID, sólo le indica que este valor está disponible.
SR Flag
El indicador SR determina si el registro es un registro corto. Un registro corto
es uno con una longitud de carga <= 255 bytes. Los registros normales pueden tener
longitudes de carga superior a 255 bytes hasta un máximo de 4 GB.
CF Flag
La bandera CF le indica cuándo necesitas leer varios registros para obtener
todos los datos del elemento.
ME y MB
El primer registro de un mensaje tiene el indicador MB (mensaje de inicio)
establecido en true para que sepa que este es el primer registro. Por otro lado, el último
registro del mensaje tiene el indicador ME establecido en true para que sepa que este es
el último registro. Todos los registros intermedios tienen tanto el MB como los
indicadores ME establecidos en false.
Type Length
El campo Type Length contiene la longitud del tipo de datos en bytes.
Payload Length
El campo Payload Length contiene la longitud de los datos en bytes.
ID Length
El campo ID Length contiene la longitud del campo ID en bytes.
Capítulo 2. Tecnologías implementadas
12
Type
En el campo Type vienen definido el tipo de datos que el payload contiene.
Campo ID
El campo ID proporciona los medios para que las aplicaciones externas
identifiquen toda la carga útil transportada dentro de un registro NDEF. Sólo el primer
registro contiene un ID, los demás no tienen un campo de identificación.
Payload
La carga útil o payload son los datos. Sin embargo, sin saber toda la información
de los campos mencionados anteriormente, la carga útil podría no tener sentido. [5]
Capítulo 2. Tecnologías implementadas
13
2.2 Arduino
Arduino es una plataforma de electrónica "open-source" o de código abierto cuyo
objetivo es el desarrollo de software y hardware de una forma sencilla. Arduino acerca y
facilita el uso de la electrónica y la programación a todo tipo de usuarios.
2.2.1 Historia Arduino
El proyecto Arduino se inició en el año 2005 como un proyecto para estudiantes
en el Instituto IVREA, en Ivrea (Italia). Por aquella época, uno de los fundadores de
Arduino, Massimo Banzi, daba clases en Ivrea.
El nombre del proyecto viene del nombre del Bar di Re Arduino (Bar del Rey
Arduino) donde Massimo Banzi pasaba algunas horas. El rey Arduino fue rey de Italia
entre los años 1002 y 1014. En la creación de este proyecto contribuyó el estudiante
colombiano Hernando Barragán, quien desarrolló la tarjeta electrónica Wiring, el
lenguaje de programación y la plataforma de desarrollo. Una vez concluida dicha
plataforma, los investigadores trabajaron para hacerlo más ligero, más económico y
disponible para la comunidad de código abierto. El instituto finalmente cerró sus puertas,
así que los investigadores, entre ellos el español David Cuartielles, promovieron la idea.
Banzi afirmaría años más tarde, que el proyecto nunca surgió como una idea de negocio,
sino como una necesidad de subsistir ante el inminente cierre del Instituto de diseño
Interactivo IVREA. Es decir, que al crear un producto de hardware abierto, este no podría
ser embargado.
Posteriormente, Google colaboró en el desarrollo del Kit Android ADK (Accesory
Development Kit), una placa Arduino capaz de comunicarse directamente con teléfonos
móviles inteligentes bajo el sistema operativo Android para que el teléfono controle luces,
motores y sensores conectados de Arduino.
En el año 2005, se incorporó al equipo el profesor Tom Igoe, que había trabajado
en computación física, después de que se enterara del mismo a través de Internet. Igoe
ofreció su apoyo para desarrollar el proyecto a gran escala y hacer los contactos para
distribuir las tarjetas en territorio estadounidense. [6]
Figura 6. Co-fundadores de Arduino
Capítulo 2. Tecnologías implementadas
14
2.2.2 Software Arduino
Arduino cuenta con un IDE (Integrated Development Environment), un lugar
donde se pueden escribir aplicaciones, descargarlas al Arduino y ejecutarlas o depurarlas
desde allí. El entorno de desarrollo es gratuito y descargable desde la página oficial de
Arduino.
En resumen, el proceso pasa por descargarse e instalar el IDE correspondiente a
nuestra plataforma, investigar un poco siguiendo tutoriales y crear el código necesario
para cumplir nuestros objetivos.
Aprender el lenguaje de programación es relativamente sencillo, sobre todo si ya
tienes experiencia en otros lenguajes de programación como C o Java.
Figura 7. IDE de Arduino
Capítulo 2. Tecnologías implementadas
15
2.2.3 Hardware Arduino
Al ser Arduino hardware "Open-source", existen multitud de placas basadas en
Arduino.
El hardware Arduino más sencillo consiste en una placa con un microcontrolador
y una serie de puertos de entrada y salida. Los microcontroladores AVR más usados son
el Atmega168, Atmega328, Atmega1280, y Atmega8 por su sencillez y bajo coste que
permiten el desarrollo de múltiples diseños, aunque también nos encontramos
microcontroladores CortexM3 de ARM de 32 bits, que coexistirán con las más limitadas,
pero también económicas AVR de 8 bits.[7]
En este proyecto se ha utilizado la palca Arduino UNO en las primeras fases para
depuración de código I2C, comunicación con el chip NFC y el sensor de temperatura.
Posteriormente, dado su elevado consumo, se ha implementado en un microcontrolador
de bajo consumo (ATTiny85) casi compatible con el ATmega328 y que es compatible
con el consumo máximo obtenido a partir de harvesting de RF (unos 5 mA).
Figura 8. Placa de Arduino UNO
Capítulo 2. Tecnologías implementadas
16
2.3 Sistema de comunicación I2C
2.3.1 ¿Qué es el bus I2C?
El bus Inter-Integrated Circuit (I2C) es un sistema de comunicación en serie, cuyo
ámbito de aplicación es la comunicación entre circuitos integrados. Fue desarrollado por
Philips Semiconductors en 1982, presentaba una velocidad de transmisión baja (100 kHz)
y se creó con la finalidad de conectar varios chips en televisores de manera sencilla.
Posteriormente, en 1992, se presentó la primera versión estandarizada (Versión 1.0) que
aumentaba la velocidad a 400 KHz, presentaba un modo de direccionamiento de 10 bits
e incrementaba la capacidad a 1136 nodos. [8]
Actualmente, podemos contar con la versión V.6. Dicha versión nos ofrece el
modo Ufm (modo ultrarrápido), el cual es compatible con velocidades de transferencia
unidireccionales de hasta 5 Mbps.
I2C permite la comunicación “chip-to-chip” bidireccional, utilizando solamente
dos líneas en una conexión en serie.
I2C es un protocolo síncrono, que permite a un dispositivo MASTER (maestro)
iniciar una comunicación con un dispositivo SLAVE (esclavo) a través de dos líneas: SDA
(Serial Data) y SCL (Serial Clock). SDA es la encargada del intercambio de datos y SCL
es la encargada de sincronizar al transmisor y al receptor durante la transferencia de datos.
El MASTER, es siempre el dispositivo que maneja la línea de reloj SCL. Los SLAVES,
son los dispositivos que responden al MASTER. Un SLAVE no puede iniciar una
transferencia a través del I²C bus, sólo un MASTER puede hacer esa función. [9]
Las dos líneas SCL y SDA están conectadas a la línea de alimentación positiva, a
través de resistencias cuya misión es asegurar una mínima carga de la línea, necesaria
para que la transmisión sea estable ante posibles ruidos externos. Estas resistencias son
llamadas de PULL-UP. Su valor está comprendido entre 1 kΩ y 10 kΩ dependiendo de
la tensión de alimentación y de los dispositivos conectados.
La transferencia de datos entre MASTER y SLAVE debe tener la conexión de la
Figura 9.
Figura 9. Esquema de conexión I2C Master-Slave
Capítulo 2. Tecnologías implementadas
17
Las líneas del bus Inter-Integrated Circuit presentan dos posibles estados
eléctricos, conocidos como “flanco ascendente” y “flanco descendente”. Cuando la línea
de datos y la línea de reloj se encuentran a nivel alto, esto indica que ningún dispositivo
está actuando y la línea está en reposo o libre.
2.3.2 Condiciones Start y Stop
Antes de que se establezca un intercambio de datos entre el circuito MASTER y
los SLAVES, el MASTER debe informar el comienzo de la comunicación (condición de
Start), la línea SDA cae a cero mientras SCL permanece en nivel alto. A partir de este
momento comienza la transferencia de datos. Una vez finalizada la comunicación se debe
informar de esta situación (condición de Stop), la línea SDA pasa a nivel alto mientras
SCL permanece en estado alto. [9]
2.3.3 Condición Restart
Esta señal presenta la misma forma que una señal de Start y puede ser emitida por
el dispositivo que asuma la condición de MASTER para llevar a cabo un reinicio una vez
concluida la transferencia. Se puede utilizar en cualquier momento en el que una señal de
Stop fuera válida. [9]
Figura 10. Condiciones de Start y Stop
Figura 11. Condición Restart
Capítulo 2. Tecnologías implementadas
18
2.3.4 Reconocimiento
El bit de reconocimiento es obligatorio en la transferencia de datos. El pulso de
reloj correspondiente al bit de reconocimiento (ACK) es generado por el Master. El
Transmisor desbloquea la línea SDA ("1") durante el pulso de reconocimiento. El receptor
debe poner a "0" la línea SDA durante el pulso ACK de modo que siga siendo "0" durante
el tiempo que el master genera el pulso "1" de ACK. [9]
2.3.5 Formato de los datos
El formato de los datos transferidos tiene la siguiente forma estándar:
Después de la condición de Start un código de dirección de un esclavo es enviada,
esta dirección tiene 7 bits seguidos por un octavo código que corresponde a una dirección
R/W (escritura/lectura). Una transferencia de datos siempre acaba con una condición de
Stop generado por el master o bien un Restart. [10]
Figura 12. Reconocimiento
Figura 13. Formato de los datos
Capítulo 2. Tecnologías implementadas
19
2.4 App Inventor
Para realizar el software de control (aplicación para el teléfono móvil), se ha
utilizado un entorno de desarrollo de software llamado App Inventor.
App Inventor fue creado por Google Labs para la elaboración de aplicaciones
destinadas al sistema operativo Android. La plataforma de desarrollo de software se puso
a disposición del público el 12 de julio de 2010. En ella, el usuario puede de forma visual
y a partir de un conjunto de herramientas básicas, ir enlazando una serie de bloques para
crear la aplicación.
El sistema es gratuito y se puede descargar fácilmente de la web. Las aplicaciones
creadas con App Inventor están limitadas por su simplicidad, aunque permiten cubrir un
gran número de necesidades básicas en un dispositivo móvil. [11]
El principal motivo por el que se ha llevado el desarrollo de la aplicación con App
Inventor ha sido la facilidad y simplicidad que proporciona el entorno a la hora de
programar.
Figura 14. Logo de App Inventor
Capítulo 3. Dispositivos del sistema
20
Capítulo 3: Dispositivos del sistema
En este capítulo, se explicarán los diferentes componentes del sistema del proyecto.
Estos componentes son los siguientes: chip NFC M24LR04E-R, sensor de
temperatura LM75, microcontrolador AVR ATtiny85, antena NFC, lector NFC
(teléfono móvil), software de control (aplicación Feel it!).
3.1 Chip NFC M24LR04E-R
Para poder establecer las comunicaciones NFC, se ha realizado la implementación
del chip M24LR04E-R. En este apartado se llevará a cabo una explicación de dicho chip
y el porqué de su elección.
3.1.2 Selección de componentes
Chip
SIC4310 NT3H1201W0FHK AS3953 M24LR04E-R
Empresa
fabricante Silicon craft NXP AMS ST
Memoria 228 bytes
EEPROM 64 bytes SRAM 1-Kbit EEPROM o 2-
Kbit EEPROM
1-Kbit
EEPROM 4-Kbit EEPROM (512 bytes en
modo I2C) Voltaje 3.3-V 1.7 to 3.6 1.65 to 3.6 1.8 V to 5.5 V
I2C No Sí No Sí
Tabla 1. Comparación entre chips NFC
3.1.3 Descripción
El dispositivo electrónico M24LR04E-R es un chip de etiqueta NFC / RFID
dinámica con una memoria EEPROM.
Cuenta con una interfaz I2C y se puede alimentar desde una fuente de
alimentación VCC. A su vez, es una memoria la cual puede ser alimentada por una onda
electromagnética recibida. El M24LR04E-R está organizado como 512 × 8 bits en el
modo I2C y como 128 × 32 bits en modo RF.
El M24LR04E-R también cuenta con una salida analógica de recolección de
energía (harvesting) capaz de obtener hasta 5 mA, así como un pin de salida digital
configurable por el usuario. El esquema lógico del chip es el representado en la Figura 5.
[12]
Capítulo 3. Dispositivos del sistema
21
3.1.4 Descripción de las patillas
SCL: Señal de entrada de reloj.
SDA: Esta señal bidireccional se utiliza para transferir datos hacia dentro o fuera
del dispositivo.
RF WIP/BUSY: Esta señal de salida configurable se utiliza para indicar que el
M24LR04E-R está ejecutando un ciclo de escritura interno desde el canal de RF o que
está en curso un comando de RF.
Vout: Este pin de salida analógica se utiliza para suministrar el voltaje analógico
Vout disponible cuando el modo de recolección de energía está habilitado y la intensidad
de campo de RF es suficiente.
AC0, AC1: Estas entradas se utilizan para conectar el dispositivo exclusivamente
a una bobina externa.
Vss: Vss es la referencia para la tensión de alimentación Vcc y la tensión de salida
analógica Vout (Tierra).
Vcc: Fuente de alimentación.
Figura 15. Esquema lógico del chip M24LR04E-R
Capítulo 3. Dispositivos del sistema
22
3.1.5 Capacidad de entrada entre Ac0, Ac1
3.1.6 ¿Por qué M24LR04E-R?
Los motivos por los que se han escogido este chip NFC son esencialmente dos. El
chip cuenta con una interfaz I2C y a su vez, dispone de un modo de recolección de
energía. Además, existe una shield compatible con Arduino Uno que facilita el desarrollo
de aplicaciones con este integrado. Esta shield permitirá evaluar si funciona
correctamente el sistema antes de integrarlo.
Figura 16. Shield compatible con Arduino
Tabla 2. Capacidad de entrada entre Ac0 y Ac1
Capítulo 3. Dispositivos del sistema
23
3.2 Sensor de temperatura LM75A
Para obtener los datos de las temperaturas que se requieran medir, se ha optado
por elegir el sensor LM75A. En este apartado se podrá apreciar con detenimiento las
características y especificaciones de dicho sensor de temperatura.
3.2.1 Características clave
No se requieren componentes externos.
Modo de “suspensión” para minimizar el consumo de energía.
Hasta ocho LM75As pueden conectarse a un solo bus.
Los valores predeterminados de encendido permiten la operación autónoma como
termostato.
Disponible en encapsulado SO8
Tensión de alimentación: 2.7 V a 5.5 V
Corriente de suministro:
- Operando: 280 μA
- Suspensión: 4 μA
Precisión de temperatura:
- 25°C a 100°C: ±2°C
- 55°C a 125°C: ±3°C
3.2.2 Descripción
El LM75A es un sensor de temperatura digital el cual lleva integrado un
convertidor analógico/digital (ADC) y una interfaz I2C. Este sensor, nos proporciona
lecturas digitales de temperatura de 9 bits con una precisión de ± 2 ° C de -25 ° C a 100 °
C y de ± 3 ° C de -55 ° C a 125 ° C.
Figura 17. Sensor LM75A conectado a Arduino UNO
Capítulo 3. Dispositivos del sistema
24
El LM75A funciona con una sola fuente de tensión de 2.7 V a 5.5 V. La
comunicación se realiza a través de una interfaz de 2 hilos que funciona hasta una
frecuencia de 400 kHz. El LM75A tiene tres clavijas de dirección, permitiendo que hasta
ocho dispositivos LM75A funcionen en el mismo bus de 2 hilos. Además, tiene una salida
dedicada de sobretemperatura (O.S.) con límite programable. Esta salida tiene tolerancia
a fallos programable, que permite al usuario definir el número de condiciones de error
consecutivas que deben ocurrir antes de O.S. se active.
Todo lo mencionado con anterioridad hace que el LM75A sea ideal para cualquier
sistema en el que la gestión térmica sea crítica para el rendimiento. [13]
3.2.3 Configuración de las patillas y funciones
8-Patillas
Tabla 3. Configuración y descripción de las patillas del sensor LM75
Patilla
DESCRIPCIÓN
CONEXIÓN TÍPICA
N. Nombre
1 SDA I2C Linea de datos bidireccional,
Open Drain Desde Controlador, conectado a una resistencia o fuente de corriente
2 SCL I2C Entrada de reloj Desde Controlador, conectado a una resistencia o fuente de corriente
3 O.S. Alerta sobretemperatura, Open
Drain Output Resistencia Pull-Up, Línea de interrupción del controlador
4 GND Masa Masa
5 A2
User-Set I2C Direcciones
Tierra (Low, “0”) o +VS (High, “1”) 6 A1
7 A0
8 +VS Fuente de alimentación Voltaje DC desde 2.7 V a 5.5 V
Figura 18. Encapsulado LMA75 de 8 patillas
Capítulo 3. Dispositivos del sistema
25
Siguiendo la configuración de las patillas, hemos realizado las conexiones que se
pueden apreciar en las siguientes fotografías:
Conexiones realizadas:
Conexión de la patilla 1(SDA) mediante una resistencia de Pull-Up a VCC.
Conexión de la patilla 2 (SCL) mediante una resistencia de Pull-Up a VCC.
Conexión de la patilla 3(Alerta) mediante una resistencia de Pull-Up a VCC.
Conexión de la patilla la patilla 4(GND) a masa.
Conexión de la patilla 8 a VCC.
Conexión de las patillas 5,6 y 7 a masa ya que solo tenemos un sensor y la
dirección será 0, 0, 0.
Las resistencias de pullup se han integrado para evaluar el funcionamiento con la palca
Arduino UNO. En el caso de sutilizar la palca con NFC ya que esta se comunica con el
microcontrolador con I2C no son necesarias repetirlas.
8
1 2 3
4
5
6
7
Figura 19. Conexiones sensor LM75A, cara superior (izquierda), cara inferior (derecha)
Capítulo 3. Dispositivos del sistema
26
3.3 Microcontrolador AVR ATtiny85
Debido a las características de ATtiny85, se ha decidido utilizar dicho
microcontrolador a 1MHz. Con la utilización de este componente electrónico, se han
llevado a cabo las comunicaciones entre los diferentes dispositivos de una forma exitosa
y con un consumo mínimo.
En este apartado, se hará una descripción del microcontrolador, se explicarán las
características clave, la configuración de las patillas y se realizará un breve tutorial de
cómo instalar las librerías adecuadas para programarlo mediante Arduino.
3.3.1 Descripción
El ATtiny 85 es un microcontrolador CMOS de 8 bits de baja potencia basado en
la arquitectura mejorada RISC. Mediante la ejecución de potentes instrucciones en un
solo ciclo de reloj, el ATtiny 85 logra un rendimiento cercano a 1 MIPS (Microprocessor
without Interlocked Pipeline Stages) por MHz, permitiendo al diseñador del sistema
optimizar el consumo de energía frente a la velocidad de procesamiento.
Es un micro muy limitado, pero puede hacer que ahorremos mucho dinero en
componentes, ya que su precio oscila entre los 1,5€ y 2,5€, y para esos pequeños
proyectos, no tendremos que comprar un Arduino UNO, o Mini. Ahorrando así, dinero y
espacio, ya que el tamaño de este microcontrolador es de 0,9 x 0,7 mm. [14]
La programación de este micro, la podremos realizar con nuestro entorno de
escritorio de Arduino, pero tendremos que tener en cuenta, que las librerías a usar,
tendrían que estar adaptadas a este micro. [15] Posteriormente, se explicará cómo llevar
a cabo la instalación de las librerías ATtiny.
Figura 20. ATtiny 85
Capítulo 3. Dispositivos del sistema
27
3.3.2 Características clave Microcontrolador ATtiny85
3.3.2.1 Tabla de características
3.3.2.2 Característica clave el proyecto
Como característica a destacar para la implementación de ATtiny85 y por lo tanto
imprescindible, es esencial que a 1MHz el microcontrolador necesite 3.3 V para
funcionar. Dicha característica es clave ya que utilizamos energy harvesting para
proporcionar energía al circuito, por lo tanto, la energía de la que disponemos es muy
limitada. [15]
Microcontrolador ATtiny85
Memoria EEPROM 512 bytes
Pines Analógicos: 3
CPU 8 bits Pines Digitales: 6
Memoria FLASH 8 KB
Frecuencia Reloj: 20 MHz***
Resolución ADC 10
Pines PWM: 2
Memoria SRAM 0,5 Kbytes
Voltaje Operación 2.7 – 5.5V**
Precio* REF: ATTINY85-20PU 2,25 €€
*** Máxima frecuencia con cristal u oscilador externo. ** Valor que depende de la frecuencia de operación. * Precio y referencia de http://es.farnell.com, encapsulado DIP, 15/03/2017.
Tabla 4. Características del microcontrolador ATtiny 85
Figura 21. Fuente de corriente vs. Frecuencia (1-20 MHz)
Capítulo 3. Dispositivos del sistema
28
Como se observa de la figura 19 el consumo de corriente es inferior a 1 mA para
tensión de alimentación 3V incluso si el reloj se configura a 10 MHz. En nuestro caso el
consumo para 1 MHz es en torno a 360 µA.
3.3.3 Configuración de las patillas ATtiny 85
En el siguiente apartado, se mostrarán la disposición y la configuración de las
patillas del microcontrolador ATtiny 85 con el encapsulado utilizado para el proyecto.
3.3.3.1 Encapsulado y disposición de las patillas
Descripción de las patillas
VCC
Fuente de voltaje.
GND
Masa.
Port B (PB5:PB0)
El puerto B es un puerto de I/O bidireccional de 6 bits con resistencias Pull-up internas
(seleccionadas para cada bit).
RESET
Sirve para restablecer el sistema. Un low level en este pin durante más tiempo que
la duración mínima de un pulso generará un restablecimiento del sistema, incluso si el
reloj no está funcionando y siempre que el pin de reinicio no se haya desactivado.
Figura 22. Pinout ATtiny 85
Capítulo 3. Dispositivos del sistema
29
3.3.4 Tutorial de preparación para programación ATtiny 85 con Arduino
Como hemos mencionado con anterioridad, la programación de ATiny85 la
podremos realizar con nuestro entorno de escritorio de Arduino, pero tendremos que tener
en cuenta, que las librerías a usar, tendrán que estar adaptadas a este microcontrolador.
A continuación, mostraremos los pasos que hay que seguir para la adaptación de
dichas librerías. [16]
3.3.4.1 Paso 1
En primer lugar abrimos el IDE de Arduino e instalamos ciertos recursos para que
reconozca los ATtiny85, para ello nos vamos a Archivo >> Preferencias y abrimos el
Gestor de URLs Adicionales de Tarjetas.
En la ventana que se abre escribimos la siguiente URL:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-
manager/package_damellis_attiny_index.json
Posteriormente, le damos a OK.
Figura 23. Imagen IDE Arduino
Capítulo 3. Dispositivos del sistema
30
3.3.4.2 Paso 2
A continuación vamos a Herramientas >> Placa >> Gestor de Tarjetas y en la
barra de búsqueda escribimos “ATtiny”, cuando nos aparezca en pantalla le damos a
INSTALAR.
Ahora ya podemos volver a Herramientas >> Placa y seleccionar ATtiny. Fijaros
en la imagen como está configurado el IDE de Arduino para grabar un ATtiny85:
Figura 24. Imagen IDE Arduino
Figura 25. Imagen IDE Arduino
Capítulo 3. Dispositivos del sistema
31
3.3.4.3 Paso 3
Una vez tenemos listo el IDE, vamos a ver cómo preparar el Arduino para grabar
un ATtiny85.
Lo único que hace falta, es cargar y subir un programa que está en la galería de
ejemplos del IDE de Arduino.
Figura 26. Imagen IDE Arduino
Capítulo 3. Dispositivos del sistema
32
3.4 Antena NFC
La comunicación entre el lector y la etiqueta NFC se produce a través del
intercambio de información que provoca la creación de un campo magnético generado
por antenas en espira integradas en los dispositivos en cuestión.
Por ello, para poder realizar dicha comunicación entre la etiqueta NFC y el lector
(teléfono móvil), se ha tenido que diseñar una Antena NFC con el programa Advanced
Desing System e implantarla en la etiqueta NFC.
El campo magnético utilizado por NFC tiene una frecuencia de 13,56 MHz,
frecuencia que no implica en ningún caso riesgo para la salud y no requiere de la
regulación del ningún organismo, por lo que no es necesario el uso de licencias.
Posteriormente, en el capítulo “Ajuste de la antena NFC”, se explicará cómo se
ha diseñado y simulado la antena NFC en cuestión.
3.5 Lector (teléfono móvil)
Sin la utilización de un lector, sería imposible obtener los datos del sensor LM75.
Por ello, se utilizará uno de los dispositivos electrónicos y de telecomunicaciones más
usado por la sociedad, el teléfono móvil.
Aprovechando que la mayoría de teléfonos móviles tienen integrados la tecnología
NFC, otorgamos al proyecto una mayor accesibilidad a los datos leídos por el sensor.
3.6 Software de control
Existen multitud de aplicaciones capaces de leer una etiqueta NFC y mostrar el
resultado por pantalla, pero no existe ninguna en concreto para mostrar temperaturas y
guardar una lista con las diferentes temperaturas leídas. Por ese motivo, se ha decidido
implementar una aplicación Android específica para el proyecto. Así, se conseguirán leer
y guardar las temperaturas leídas por nuestro teléfono móvil.
Esta aplicación telefónica ha sido llamada “Feel it!”, ya que con ella se podrá
sentir lo que el sensor está captando. En el capítulo denominado “Aplicación para
Android” se explicará cómo se ha diseñado y creado la aplicación.
Capítulo 4. Comunicaciones
33
Capítulo 4. Comunicaciones
4.1 Comunicación I2C entre microcontrolador y sensor
A modo de ejemplo para demostrar las posibilidades de integración de sensores
en tarjetas NFC se ha considerado un sensor de temperatura con interfaz I2C, LM75.
Nuestra comunicación I2C entre el microcontrolador (MASTER) y el sensor LM75
(SLAVE), la realizaremos con un programa en Arduino que nos permite ver la última
temperatura obtenida por el sensor. A continuación, llevaremos a cabo una descripción
del código.
Para realizar con éxito la comunicación mediante harvesting y así evitar el uso de
pilas o similares, hemos utilizado una librería llamada TinyWireM. A su vez, hemos
necesitado utilizar otra librería para llevar a cabo la comunicación I2C
(USI_TWI_Master).
Una vez hemos importado e incluido en el código dichas librerías, hemos pasado
a definir un conjunto de variables:
Posteriormente, se ha pasado a confeccionar el código para saber la temperatura de
nuestro sensor LM75.
A continuación se mostrarán los pasos necesarios para leer la temperatura del sensor
LM75:
Crear variables dato, temperatura y cronometro_i2c.
Acceder al LM75 por su dirección en el bus I2C y empezar la trasmisión.
Solicitar la lectura del registro de la temperatura actual.
Liberar el bus I2C.
Pedir dos bytes (el valor del registro de la temperatura actual).
Esperar a que lleguen dos bytes al bus I2C o pase el tiempo máximo para
abandonar.
Si han llegado dos bytes, leer el primer byte, rotarlo 8 posiciones y añadir el valor
del segundo byte.
Finalizar la transmisión.
Figura 27. Definición de variables para lectura de LM75A
Capítulo 4. Comunicaciones
34
Como el valor que devolvía el programa era tipo float, para leer la temperatura por la
aplicación, se tuvo que pasar a tipo string.
En la imagen siguiente, se muestra como se realizó este cambio de formato:
Figura 29. Cambio de formato float a string
Figura 28. Código de la función para leer la temperatura del LM75A
Capítulo 4. Comunicaciones
35
4.2 Comunicación I2C entre microcontrolador y chip NFC
Como dato a destacar, hay que remarcar que el chip no viene de fábrica con el
modo harvesting activado. Según el datasheet, para activar este modo, hay que activar el
modo energy harvesting programando la dirección de memoria 2320 con el valor 0xF0
(ver tabla siguinete). En el programa se realiza con el comando siguiente:
i2c_eeprom_write_byte (0x57, 2320,0xF0);
De esta manera, activaríamos el modo necesario para llevar a cabo nuestro
proyecto. Cambiando en la dirección 2320 el valor de fábrica (0xF4) por 0xF0 y activando
E2 a 1. La dirección I2C del integrado es 0x57.
Figura 30. Configuración de los bits de recolección de energía.
Capítulo 5. Diseño de la etiqueta NFC
36
Capítulo 5. Diseño de la etiqueta NFC
En este capítulo se llevará a cabo una explicación de cómo se han realizado las
diferentes conexiones entre los diferentes dispositivos que conforman la etiqueta NFC.
En primer lugar, se realizó el esquema que marca las interconexiones entre los
diferentes dispositivos electrónicos que conforman la etiqueta NFC. Estos dispositivos
son los siguientes:
Chip NFC M24LR04E-R
Sensor de temperatura LM75
Microcontrolador AVR ATtiny85
Antena NFC
El esquema de la etiqueta NFC es el siguiente:
En el esquema visto anteriormente, se muestran la interconexión entre los dispositivos
que conforman el tag NFC, pero, no muestra todos los dispositivos que conforman el
sistema. El sistema está formado por los elementos siguientes:
Chip NFC M24LR04E-R
Sensor de temperatura LM75
Microcontrolador AVR ATtiny85
Antena NFC
Lector NFC (teléfono móvil)
Software de control (aplicación Feel it!)
Una vez realizado el esquema, se pasó a confeccionar una placa personalizada en la
cual podamos interconectar los elementos que forman la etiqueta NFC siguiendo el
esquema de conexionado de la figura 31.
1
2
3
4 5
6
7
8RESET
A3
A2
GND SDA
MISO
SCL
VCC
ATTiny85
5
6
7
8 1
2
4SDA
SCL
RFWUP
VCC VOUT
AC0
AC1
GND
M24LR04
1
2
3
4 5
6
7
8SDA
SCL
Alert
GND A2
A1
A0
VCC
LM75DM
R1
15k
R2
15k
R3
15k
R4
0R
C1
1n
C3
1n
+
C2
6pF
C5
1uF
C4
1nF
Vcc
Vcc
Vcc Antenna
12345678
CN1
VccSCL
RESETA3A2GNDMISOSDA
ARDUINO/GND
ARDUINO/D10ARDUINO/D13ARDUINO/5V
ARDUINO/D11ARDUINO/D12
CONEXIONES PROGRAMACION
Figura 31. Esquema de conexionado de la etiqueta NFC
Capítulo 5. Diseño de la etiqueta NFC
37
La placa personalizada se ha implementado utilizando el programa RIMU PCB para
diseñar el layout.
Se puede observar el diseño, sin el sensor de temperatura, de la parte de la
electrónica (sin espira NFC) en substrato flexible y con el conector para programación en
la figura 32. Posteriormente, se muestra en la figura 33 el layout de la parte de la
electrónica, en substrato flexible y con el conector para realizar la programación, con el
sensor de temperatura LM75 incorporado.
2
3
45
6
7
8 1
1
2
1
2
2
3
4 5
6
7
81
1
2
12
1
2
1
2
3
4
5
6
7
8
1
22
3
45
6
7
8 1
1
2
1
2
2
3
4 5
6
7
81
1
2
12
1
2
1
2
3
4
5
6
7
8
1
2
2
3
45
6
7
8 1
2
3
4 5
6
7
81
1
2
1
2
2
3
4 5
6
7
81
1
2
1 2
12
1 2
2
3
45
6
7
8 1
2
3
4 5
6
7
81
1
2
1
2
2
3
4 5
6
7
81
1
2
1 2
12
1 2
Figura 32 Layout, parte de la electrónica con sensor de temperatura LM75
Figura 33. Layout, parte de la electrónica sin sensor de temperatura LM75
Capítulo 5. Diseño de la etiqueta NFC
38
Una vez realizadas las pruebas para ver el correcto funcionamiento de la etiqueta NFC,
se realizó la etiqueta NFC en substrato flexible.
A continuación, se muestra una fotografía de la etiqueta NFC con la antena NFC
incorporada en substrato flexible.
Figura 34. Etiqueta NFC
Capítulo 6. Ajuste de la antena NFC
39
Capítulo 6. Ajuste de la antena NFC
Una parte imprescindible del proyecto, es la antena NFC. Con ella, el lector será capaz
de captar los datos y así informar al usuario a través del software de control (aplicación
para el teléfono móvil).
La antena NFC ha sido diseñada y simulada con el programa Advanced Desing System y,
posteriormente, traspasada al programa Rimu PCB para integrarla con el circuito que
forma la etiqueta NFC del proyecto.
6.1 Simulación de la espira
Se ha considerado una anchura de línea de 0.7 mm ya que durante el proceso de
fabricación suele dar un valor unos 0.1 mm menos que en el layout.
Figura 35. Simulación espira NFC
Capítulo 6. Ajuste de la antena NFC
40
Figura 36. Simulación de la Espira NFC
Figura 37. Simulación de la Espira NFC, programa ADS
Capítulo 6. Ajuste de la antena NFC
41
Simulación con anchura W=0.8 mm
Figura 38. Simulación con anchura W=0.8 mm
Simulación con anchura W=0.7 mm
Figura 39. Simulación con anchura W=0.7 mm
El valor medido de inductancia con el analizador a 13.56 MHz es de 3.19 uH que es
bastante próximo al simulado teniendo en cuenta las tolerancias de fabricación.
Eqn L=imag(Z(1,1))/(2*pi*f req) Eqn Q=imag(Z(1,1))/real(Z(1,1))
5 10 15 20 25 30 35 40 450 50
3.0E-6
3.5E-6
4.0E-6
2.5E-6
4.5E-6
freq, MHz
L
Readout
m1
m1f req=L=2.590E-6
13.25MHz
5 10 15 20 25 30 35 40 450 50
2
4
6
8
10
12
0
14
freq, MHz
Q
Eqn L=imag(Z(1,1))/(2*pi*f req) Eqn Q=imag(Z(1,1))/real(Z(1,1))m1f req=L=2.733E-6
13.25MHz
5 10 15 20 25 30 35 40 450 50
3.0E-6
3.5E-6
4.0E-6
4.5E-6
2.5E-6
5.0E-6
freq, MHz
L
Readout
m1
m1f req=L=2.733E-6
13.25MHz
5 10 15 20 25 30 35 40 450 50
2
4
6
8
10
12
0
14
freq, MHz
Q
Capítulo 6. Ajuste de la antena NFC
42
6.2 Ajuste del condensador del chip NFC
La frecuencia de resonancia tiene un valor:
2
1 113.56 27.5 43
(2 )2
15.5
r chip tuning tuning
r
tuning
f MHz C C C pF C pFf LLC
C pF
Donde Cchip es la capacidad interna del integrado NFC que el datasheet indica que es
27.5pF y Ctuning es el valor del condensador externo que se debe montar para ajustar la
antena resonante a 13.56 MHz.
Figura 40. Antena NFC ajustada
Capítulo 7. Aplicación para Android
43
Capítulo 7. Aplicación para Android
7.1 Feel It!
Feel It! es una aplicación creada con App Inventor [17] para facilitar el manejo y
la lectura de los datos leídos por nuestro sensor de temperatura.
Para llevar a cabo la creación de esta aplicación con App Inventor, se ha dividido
el proyecto en dos fases (diseño y programación). En los apartados siguientes, se llevará
a cabo una explicación de ambas.
7.2 Diseño
En esta primera parte se ha creado la “estética” de la aplicación, el logo, un banner
para la parte superior de la pantalla, la posición de los diferentes botones y su forma, el
fondo de pantalla, el tipo de letra y la forma en mostrar la lista de temperaturas.
7.2.1 Logo y banner
Para la creación y diseño del logo y del banner situado en la parte superior de la
pantalla, se ha utilizado un programa llamado “canva”. [18] El diseño de ambos, está
basado en representar de una manera visual la función que llevará a cabo la aplicación y
con qué sistema operativo se podrá utilizar.
Figura 41. Apartado designer de App Inventor
Capítulo 7. Aplicación para Android
44
Figura 42. Logo de la aplicación Feel it!
Figura 43. Banner de la aplicación Feel it!
Capítulo 7. Aplicación para Android
45
7.2.2 Pantalla principal
Utilizando el apartado designer de App Inventor, se han posicionado los
componentes gráficos con la finalidad de proporcionar al usuario un agrado estético y a
la vez funcional.
Para facilitar y simplificar la experiencia del usuario se ha decidido llevar a cabo
la aplicación en una única pantalla.
Figura 44. Pantalla principal de la aplicación Feel it!
Capítulo 7. Aplicación para Android
46
7.3 Programación
En este apartado se llevará a cabo una explicación de cómo se ha realizado la
programación de la aplicación “Feel It!”. Para programar de una forma sencilla y
funcional las diferentes funciones que lleva a cabo “Feel It!”, se ha utilizado el apartado
“blocks” de App Inventor.
Figura 45. Apartado blocks de App inventor
Implementando el programa mencionado con anterioridad se ha programado una serie
de funciones, estas funciones permiten:
Leer o escribir en el tag NFC
Mostrar temperatura leída
Guardar temperatura en una lista, la cual no se borra cuando cerremos la
aplicación ya que hemos utilizado una base de datos.
Mostrar lista de temperaturas
Borrar lista de temperaturas
7.4 Descargar la aplicación
Desde el mismo programa se puede exportar la aplicación en formato “.apk” para
posteriormente instalarlo en nuestro dispositivo Android. Además, si se necesita exportar
para modificar la aplicación, App Inventor permite exportarlo en formato “.aia”.
Capítulo 8. Conclusiones y líneas futuras
47
Capítulo 8: Conclusiones y líneas futuras
En este capítulo se exponen las conclusiones obtenidas a lo largo de la realización del
proyecto.
8.1 Conclusiones
En el contexto en el que vive la sociedad actual, es imprescindible crecer e innovar en el
ámbito tecnológico. Por ello, creo que acabando exitosamente y cumpliendo los objetivos
marcados en el inicio del proyecto, se ha conseguido este crecimiento e innovación
mencionado con anterioridad.
A medida que el proyecto avanza, uno se va dando cuenta de que lo que se aprende en el
grado de Ingeniería Telemática, estos conocimientos adquiridos en el grado, sirven de
gran utilidad para la creación e invención de dispositivos electrónicos.
Con la realización de este proyecto, se ha llevado a cabo una representación de la mezcla
de conocimientos informáticos, eléctricos, electrónicos y de telecomunicaciones que se
aprenden en el grado de Ingeniería Telemática.
A demás, realizando este trabajo de final de grado, uno se da cuenta de que hay que hacer
infinitas pruebas y prototipos antes de llegar al dispositivo final. Esto me ha enseñado a
aprender de cada fallo cometido y a mejorar constantemente el dispositivo.
También, cabe remarcar que realizando el proyecto, he aprendido multitud de
herramientas y conocimientos tecnológicos nuevos. Algunos de ellos son: lenguaje de
programación Arduino, creación de aplicaciones con App Inventor para Android,
utilización de programas como ADS o Rimu PCB,…
Finalmente, como conclusión final, me gustaría destacar que la creación de este sistema
aporta una finalidad funcional. Esta funcionalidad, nos puede ayudar tanto en el ámbito
personal como en el ámbito profesional. Dos ejemplos de utilidad que se le podrían
otorgar al sistema, podrían ser: medir la temperatura corporal de una persona (finalidad
de ámbito personal) o bien medir la temperatura de una tubería (finalidad de ámbito
profesional).
8.2 Líneas futuras
Las funcionalidades mencionadas en el apartado anterior, podrían aumentar
notablemente con la introducción de nuevos sensores para la etiqueta NFC. Algunos de
estos sensores podrían ser de humedad, luz solar,…
A su vez, cabe remarcar que la utilización de la tecnología harvesting, hace posible el
uso del sistema NFC para futuras funcionalidades médicas al evitar el uso de baterías
permitiendo la integración en materiales biocompatibles.
La falta de tiempo de investigación, ha hecho inviable seguir profundizando sobre el
Referencias
48
Referencias
[1] Página web: https://www.xataka.com/moviles/nfc-que-es-y-para-que-sirve. Qué es NFC y para
qué sirve. Consulta realizada el 15-02-2017.
[2] Página web: https://es.wikipedia.org/wiki/Near_field_communication.
Comunicación NFC. Consulta realizada el 15-02-2017.
[3] Página web: http://computerhoy.com/noticias/life/que-es-nfc-movil-para-que-sirve-como-
funciona-24207 . Qué es NFC, como funciona y qué puedes hacer con él. Consulta realizada
el 15-02-2017.
[4] Página web: http://www.mibqyyo.com/articulos/2015/07/23/nfc-funcionamiento-
utilidades/#/vanilla/discussion/embed/?vanilla_discussion_id=0 . Qué es NFC, cómo funciona
y para qué sirve. Consulta realizada el 16-02-2017.
[5] Página web: http://www.dummies.com/consumer-electronics/nfc-data-
exchange-format-ndef/ . Formato NDEF. Consulta realizada el 18-02-2017.
[6] Página web: https://es.wikipedia.org/wiki/Arduino#Historia .Información
sobre historia Arduino. Consulta realizada el 14-05-2017.
[7] Página web: https://www.xataka.com/especiales/guia-del-arduinomaniaco-
todo-lo-que-necesitas-saber-sobre-arduino .Información sobre hardware
Arduino. Consulta realizada el 14-05-2017.
[8] Página web: https://es.wikipedia.org/wiki/I%C2%B2C . Información sobre I2C. Consulta
realizada el 20-02-2017.
[9] Página web: http://www.comunidadelectronicos.com/articulos/i2c.htm . El bus
I2C. Consulta realizada el 20-02-2017.
[10] Página web: http://www.diarioelectronicohoy.com/blog/introduccion-al-i2c-
bus . Introducción al bus I2C. Consulta realizada el 20-02-2017.
[11] Página web: https://es.wikipedia.org/wiki/App_Inventor . App Inventor,
definición. Consulta realizada el 4-04-2017.
[12] Página web: http://www.st.com/en/nfc/m24lr04e-r.html .Información y
datasheet del chip NFC M24LR04E-R. Consulta realizada el 18-02-2017.
[13] Página web: http://www.ti.com/lit/ds/symlink/lm75a.pdf . Datasheet del sensor de temperatura
LM75A. Consulta realizada el 21-02-2017.
[14] Página web: https://lisergio.wordpress.com/2014/01/26/attiny-85-pequeno-
arduino-especificaciones-y-programacion/ . Attiny 85 (“Pequeño Arduino”),
especificaciones y programación. Consulta realizada el 24-02-2017.
[15] Página web: http://www.atmel.com/Images/Atmel-2586-AVR-8-bit-Microcontroller-
ATtiny25-ATtiny45-ATtiny85_Datasheet-Summary.pdf . Datasheet ATtiny85. Consulta
realizada el 24-02-2017.
[16] Página web: http://www.minitronica.com/blog/programar-un-attiny85-con-arduino-uno/ .
Programar un ATtiny85 con Arduino UNO. Consulta realizada el 1-03-2017.
[17] Página web: http://appinventor.mit.edu/explore/ . Página donde se ha llevado a cabo el
desarrollo de la aplicación. Consulta realizada el 4-04-2017.
Referencias
49
[18] Página web: https://www.canva.com/ . Página donde se ha llevado a cabo los diseños del
banner y el logo. Consulta realizada el 10-04-2017.