alexandre solleiro saura sensor de temperatura integrado en etiqueta...

51
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

Upload: others

Post on 19-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 2: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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.

Page 3: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin 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

Page 4: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 5: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 6: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

4

Figura 44. Pantalla principal de la aplicación Feel it! .................................................... 45

Figura 45. Apartado blocks de App inventor ................................................................. 46

Page 7: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 8: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 9: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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.

Page 10: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 11: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 12: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 13: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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.

Page 14: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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]

Page 15: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 16: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 17: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 18: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 19: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 20: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 21: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 22: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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]

Page 23: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 24: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 25: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 26: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 27: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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)

Page 28: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 29: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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)

Page 30: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 31: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 32: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 33: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 34: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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.

Page 35: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 36: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 37: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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.

Page 38: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 39: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 40: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 41: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 42: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 43: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 44: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 45: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 46: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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!

Page 47: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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!

Page 48: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 49: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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

Page 50: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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.

Page 51: Alexandre Solleiro Saura Sensor de temperatura integrado en etiqueta …deeea.urv.cat/public/PROPOSTES/pub/pdf/2477pub.pdf · 2018. 1. 9. · El fin de este Trabajo de Fin de Grado

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.