TRABAJO FIN DE GRADO Grado en Ingeniería Informática Escuela Politécnica Superior “Introducción a la plataforma Arduino y al Sensor ultrasónico HC-SR04” Experimentado en una aplicación para medición de distancias Autor: Virginia Martínez Fuentes Tutor: Antonio Berlanga de Jesús Miércoles, 24 de septiembre de 2014 TFG Grado en Ingeniería Informática: “Introducción a la 2014 plataforma Arduino y al sensor ultrasónico HC-SR04” A mis profesores, compañeros y amigos. Por su dedicación y por la confianza que han depositado en mí a lo largo de estos años. Y en especial, a mi hermana. Autor: Virginia Martínez Fuentes. Página - 1 - de 135 Tutor: Antonio Berlanga de Jesús. TFG Grado en Ingeniería Informática: “Introducción a la 2014 plataforma Arduino y al sensor ultrasónico HC-SR04” Índice de Contenidos Índice de ilustraciones ................................................................................................................ - 4 - Índice de gráficas ........................................................................................................................ - 5 - Introducción ................................................................................................................................... - 8 - Contexto actual .......................................................................................................................... - 8 - Estado del arte ....................................................................................................................... - 8 - Motivación ............................................................................................................................. - 8 - Objetivos del Proyecto ............................................................................................................. - 14 - Medición de distancias con Arduino. ................................................................................... - 14 - Análisis de prestaciones. ...................................................................................................... - 14 - Medios técnicos necesarios ..................................................................................................... - 15 - Arduino UNO ........................................................................................................................ - 15 - Sensor de ultrasonidos HC-SR04 .......................................................................................... - 15 - Placa de prototipos y cables ................................................................................................. - 16 - Ordenador ............................................................................................................................ - 16 - Cable USB ............................................................................................................................. - 16 - Planificación ............................................................................................................................. - 17 - Presupuesto ............................................................................................................................. - 18 - Marco Regulador ...................................................................................................................... - 20 - Ley General de las Telecomunicaciones............................................................................... - 20 - Ley Orgánica de Protección de Datos .................................................................................. - 20 - Ley de Responsabilidad Medioambiental ............................................................................ - 20 - Estructura del documento ....................................................................................................... - 21 - ARDUINO ...................................................................................................................................... - 23 - Hardware .............................................................................................................................. - 24 - Software ............................................................................................................................... - 26 - Placa de prototipos .............................................................................................................. - 29 - Arduino UNO ............................................................................................................................ - 30 - Hardware .............................................................................................................................. - 31 - Software ............................................................................................................................... - 57 - SENSOR ULTRASÓNICO ................................................................................................................ - 58 - Sensores ............................................................................................................................... - 58 - Sensores de ultrasonidos ..................................................................................................... - 60 - Sensor HC-SR04 .................................................................................................................... - 62 - DISEÑO DEL PROGRAMA .............................................................................................................. - 64 - Definición del Sistema .............................................................................................................. - 64 - Autor: Virginia Martínez Fuentes. Página - 2 - de 135 Tutor: Antonio Berlanga de Jesús. TFG Grado en Ingeniería Informática: “Introducción a la 2014 plataforma Arduino y al sensor ultrasónico HC-SR04” Alcance ................................................................................................................................. - 65 - Restricciones ........................................................................................................................ - 65 - Esquema del circuito ................................................................................................................ - 66 - IMPLEMENTACIÓN DEL PROGRAMA ............................................................................................ - 68 - Entorno de desarrollo .............................................................................................................. - 68 - Instalación del IDE Arduino .................................................................................................. - 68 - Ejecución del IDE Arduino .................................................................................................... - 69 - Apariencia del IDE Arduino .................................................................................................. - 70 - Estructura general de un sketch Arduino ............................................................................. - 73 - Código del programa ................................................................................................................ - 74 - Funcionamiento interno del sensor ..................................................................................... - 74 - Comunicación de Arduino UNO con el Sensor HC-SR04 ...................................................... - 75 - Comportamiento del Sensor HC-SR04 en el medio ............................................................. - 76 - Comunicación del Sensor HC-SR04 con Arduino UNO ......................................................... - 76 - Comportamiento de Arduino UNO en el medio .................................................................. - 77 - Código del sketch final ......................................................................................................... - 78 - Explicación de las funciones de Arduino utilizadas .............................................................. - 79 - Explicación de las bibliotecas (libraries) utilizadas ............................................................... - 81 - EVALUACIÓN Y RESULTADOS ....................................................................................................... - 83 - Pruebas ..................................................................................................................................... - 83 - Prueba 1. Distancia a una superficie vertical (90° respecto al suelo). ................................. - 84 - Prueba 2. Distancia a otra superficie vertical (90° respecto al suelo).................................. - 96 - Prueba 3. Distancia a una superficie inclinada respecto al suelo. ..................................... - 103 - Prueba 4. Distancia a una superficie vertical cilíndrica translúcida. .................................. - 107 - Prueba 5. Distancia a la cara de una persona de pie. ........................................................ - 111 - Prueba 6. Distancia a la mano de una persona. ................................................................. - 116 - Conclusiones .............................................................................................................................. - 122 - Reflexiones ............................................................................................................................. - 122 - Por qué utilizar Arduino y no otra tecnología similar ........................................................ - 122 - Líneas Futuras ........................................................................................................................ - 124 - Incremento de la precisión de la aplicación desarrollada .................................................. - 124 - Medición de distancias con Raspberry Pi B y HC-SR04 ...................................................... - 124 - Anexos ........................................................................................................................................ - 127 - Anexo I: El lenguaje de programación Arduino ...................................................................... - 127 - Estructuras ......................................................................................................................... - 127 - Valores: variables y constantes .......................................................................................... - 128 - Funciones ........................................................................................................................... - 128 - Anexo II: Los distintos tipos de sensores ............................................................................... - 130 - Anexo III: Los sistemas electrónicos y su producción ............................................................ - 132 - Bibliografía ................................................................................................................................. - 133 - Autor: Virginia Martínez Fuentes. Página - 3 - de 135 Tutor: Antonio Berlanga de Jesús. TFG Grado en Ingeniería Informática: “Introducción a la 2014 plataforma Arduino y al sensor ultrasónico HC-SR04” Índice de ilustraciones Hardware y software libre Imagen 1 - Logotipo de la licencia CC BY-SA, bajo la que se encuentra Arduino ......................... - 11 - Imagen 2 - Diseños esquemáticos y de referencia de la placa Arduino UNO R3 ......................... - 12 - Medios técnicos necesarios Medios técnicos necesarios, imagen 1 ......................................................................................... - 15 - Medios técnicos necesarios, imagen 2 ......................................................................................... - 15 - Medios técnicos necesarios, imagen 3 ......................................................................................... - 16 - Medios técnicos necesarios, imagen 4 ......................................................................................... - 16 - Medios técnicos necesarios, imagen 5 ......................................................................................... - 29 - Planificación Planificación 1. 1 ........................................................................................................................... - 17 - Presupuesto Presupuesto 1. 1 ........................................................................................................................... - 19 - Presupuesto 1. 2 ........................................................................................................................... - 19 - Arduino Arduino, imagen 1 ......................................................................................................................... - 25 - HW Arduino UNO HW Arduino UNO, imagen 1 ......................................................................................................... - 31 - HW Arduino UNO, imagen 2 ......................................................................................................... - 32 - HW Arduino UNO, imagen 3 ......................................................................................................... - 33 - HW Arduino UNO, imagen 4 ......................................................................................................... - 34 - HW Arduino UNO, imagen 5 ......................................................................................................... - 36 - HW Arduino UNO, imagen 6 ......................................................................................................... - 37 - HW Arduino UNO, imagen 7 ......................................................................................................... - 38 - HW Arduino UNO, imagen 8 ......................................................................................................... - 42 - HW Arduino UNO, imagen 9 ......................................................................................................... - 43 - HW Arduino UNO, imagen 10 ....................................................................................................... - 44 - HW Arduino UNO, imagen 11 ....................................................................................................... - 49 - HW Arduino UNO, imagen 12 ....................................................................................................... - 50 - HW Arduino UNO, imagen 13 ....................................................................................................... - 51 - HW Arduino UNO, imagen 14 ....................................................................................................... - 53 - HW Arduino UNO, imagen 15 ....................................................................................................... - 54 - HW Arduino UNO, imagen 16 ....................................................................................................... - 55 - HW Arduino UNO, imagen 17 ....................................................................................................... - 55 - Autor: Virginia Martínez Fuentes. Página - 4 - de 135 Tutor: Antonio Berlanga de Jesús. TFG Grado en Ingeniería Informática: “Introducción a la 2014 plataforma Arduino y al sensor ultrasónico HC-SR04” Sensores ultrasónicos Sensor ultrasónico, imagen 1 ........................................................................................................ - 60 - Sensor ultrasónico, imagen 2 ........................................................................................................ - 61 - Sensor ultrasónico, imagen 3 ........................................................................................................ - 62 - Sensor ultrasónico HC-SR04 Sensor HC-SR04, imagen 1 ............................................................................................................ - 62 - Sensor HC-SR04, imagen 2 ............................................................................................................ - 63 - Diseño del programa Diseño del programa, imagen 1 .................................................................................................... - 66 - Diseño del programa, imagen 2 .................................................................................................... - 67 - Implementación del sketch Implementación del sketch, imagen 1 .......................................................................................... - 69 - Implementación del sketch, imagen 2 .......................................................................................... - 73 - Implementación del sketch, imagen 3 .......................................................................................... - 74 - Implementación del sketch, imagen 4 .......................................................................................... - 78 - Pruebas Pruebas, imagen 1 ........................................................................................................................ - 83 - Índice de gráficas Prueba 1. Distancia a una superficie vertical (90° respecto al suelo) Prueba 1. 1 .................................................................................................................................... - 84 - Prueba 1. 2 .................................................................................................................................... - 85 - Prueba 1. 3 .................................................................................................................................... - 85 - Prueba 1. 4 .................................................................................................................................... - 85 - Prueba 1. 5 .................................................................................................................................... - 86 - Prueba 1. 6 .................................................................................................................................... - 86 - Prueba 1. 7 .................................................................................................................................... - 86 - Prueba 1. 8 .................................................................................................................................... - 87 - Prueba 1. 9 .................................................................................................................................... - 87 - Prueba 1. 10 .................................................................................................................................. - 87 - Prueba 1. 11 .................................................................................................................................. - 88 - Prueba 1. 12 .................................................................................................................................. - 88 - Prueba 1. 13 .................................................................................................................................. - 89 - Prueba 1. 14 .................................................................................................................................. - 90 - Prueba 1. 15 .................................................................................................................................. - 91 - Prueba 1. 16 .................................................................................................................................. - 92 - Autor: Virginia Martínez Fuentes. Página - 5 - de 135 Tutor: Antonio Berlanga de Jesús. TFG Grado en Ingeniería Informática: “Introducción a la 2014 plataforma Arduino y al sensor ultrasónico HC-SR04” Prueba 1. 17 .................................................................................................................................. - 93 - Prueba 1. 18 .................................................................................................................................. - 94 - Prueba 1. 19 .................................................................................................................................. - 95 - Prueba 2. Distancia a otra superficie vertical (90° respecto al suelo) Prueba 2. 1 .................................................................................................................................... - 96 - Prueba 2. 2 .................................................................................................................................... - 96 - Prueba 2. 3 .................................................................................................................................... - 97 - Prueba 2. 4 .................................................................................................................................... - 97 - Prueba 2. 5 .................................................................................................................................... - 98 - Prueba 2. 6 .................................................................................................................................... - 98 - Prueba 2. 7 .................................................................................................................................... - 99 - Prueba 2. 8 .................................................................................................................................... - 99 - Prueba 2. 9 .................................................................................................................................... - 99 - Prueba 2. 10 .................................................................................................................................. - 99 - Prueba 2. 11 ................................................................................................................................ - 102 - Prueba 3. Distancia a una superficie inclinada respecto al suelo Prueba 3. 1 .................................................................................................................................. - 103 - Prueba 3. 2 .................................................................................................................................. - 103 - Prueba 3. 3 .................................................................................................................................. - 104 - Prueba 3. 4 .................................................................................................................................. - 104 - Prueba 3. 5 .................................................................................................................................. - 105 - Prueba 3. 6 .................................................................................................................................. - 105 - Prueba 3. 7 .................................................................................................................................. - 106 - Prueba 4. Distancia a una superficie vertical cilíndrica translúcida Prueba 4. 1 .................................................................................................................................. - 107 - Prueba 4. 2 .................................................................................................................................. - 108 - Prueba 4. 3 .................................................................................................................................. - 108 - Prueba 4. 4 .................................................................................................................................. - 109 - Prueba 4. 5 .................................................................................................................................. - 109 - Prueba 4. 6 .................................................................................................................................. - 109 - Prueba 4. 8 .................................................................................................................................. - 110 - Prueba 4. 7 .................................................................................................................................. - 110 - Prueba 5. Distancia a la cara de una persona de pie Prueba 5. 1 .................................................................................................................................. - 111 - Prueba 5. 2 .................................................................................................................................. - 112 - Prueba 5. 3 .................................................................................................................................. - 112 - Prueba 5. 4 .................................................................................................................................. - 112 - Prueba 5. 5 .................................................................................................................................. - 113 - Prueba 5. 6 .................................................................................................................................. - 114 - Prueba 5. 7 .................................................................................................................................. - 115 - Autor: Virginia Martínez Fuentes. Página - 6 - de 135 Tutor: Antonio Berlanga de Jesús. TFG Grado en Ingeniería Informática: “Introducción a la 2014 plataforma Arduino y al sensor ultrasónico HC-SR04” Prueba 6. Distancia a la mano de una persona Prueba 6. 1 .................................................................................................................................. - 116 - Prueba 6. 2 .................................................................................................................................. - 117 - Prueba 6. 3 .................................................................................................................................. - 117 - Prueba 6. 4 .................................................................................................................................. - 118 - Prueba 6. 5 .................................................................................................................................. - 119 - Prueba 6. 6 .................................................................................................................................. - 120 - Prueba 6. 7 .................................................................................................................................. - 121 - Autor: Virginia Martínez Fuentes. Página - 7 - de 135 Tutor: Antonio Berlanga de Jesús. TFG Grado en Ingeniería Informática: “Introducción a la 2014 plataforma Arduino y al sensor ultrasónico HC-SR04” Introducción Contexto actual Estado del arte Con la creciente evolución de las TIC (Tecnologías de la Información y la Comunicación) en los últimos años, somos cada vez más, las personas que buscamos adaptar las diversas tecnologías y dispositivos que tenemos a nuestro alcance, a nuestras actividades y necesidades cotidianas. A diario, utilizamos ordenadores y dispositivos móviles: en casa, en el estudio, en el trabajo, en las relaciones personales y en la práctica de actividades lúdicas. Elegir la tecnología adecuada según las necesidades y propósitos que busquemos satisfacer, será una decisión importante que nos llevará o no, a conseguir nuestros objetivos. En Internet se puede encontrar gran cantidad de información, pero es necesario contrastarla. Para desarrollar cualquier trabajo de investigación es, por tanto, fundamental consultar diversas fuentes de información (y así ha sido en este caso, a través de multitud de manuales, sitios web y foros) antes de establecer las conclusiones que nos lleven a la elección de una tecnología u otra. En torno a la evolución de la tecnología surgen diferentes comunidades o grupos de usuarios que quieren conocer cómo funciona, para estudiarla, participar en su implementación o adecuarla a sus necesidades. Además, el incremento del desarrollo de software libre, código abierto y hardware libre, permite compartir inquietudes y conocimientos, sirviéndose de la red de redes, Internet, como principal vía de comunicación. Motivación Puesto que el uso de la informática viene de la mano de la aplicación de otras ciencias y hoy en día se aplica a todas ellas, con este trabajo se trata de mostrar cómo, eligiendo la tecnología apropiada y conociendo los límites de la misma, a través de un sencillo programa (al que llamaremos sketch, ya que es así como se conocen los programas en la plataforma Arduino), se puede conseguir, Autor: Virginia Martínez Fuentes. Página - 8 - de 135 Tutor: Antonio Berlanga de Jesús. TFG Grado en Ingeniería Informática: “Introducción a la 2014 plataforma Arduino y al sensor ultrasónico HC-SR04” sin necesidad de conocimientos electrónicos avanzados, una aplicación práctica como es la medición de distancias. Tras una primera tarea de investigación para encontrar la tecnología más apropiada para la medición de distancias de manera sencilla, práctica y económica, se concluyó que lo más adecuado a nuestras necesidades era basarnos en la tecnología de Arduino. En concreto se utilizará un Arduino UNO y un sensor de ultrasonidos HC-SR04 compatible con él. Arduino nació para enseñar Diseño de Interacción (Interaction Desing), es decir, el diseño de cualquier experiencia interactiva (entre humanos y objetos) mediante un proceso basado en la creación de prototipos de fidelidad en constante crecimiento, a través de la tecnología electrónica. Dentro del Diseño de interacción, el campo específico relacionado con Arduino es la Computación Física (Physical Computing) o Diseño de Interacción Física (Physical Interaction Desing), que se sirve de la electrónica para crear prototipos de materiales nuevos para que, diseñadores y artistas, puedan crear objetos interactivos, que se puedan comunicar con los humanos a través sensores y actuadores (o activadores) controlados por un software que se ejecute en un microcontrolador (un pequeño ordenador en un solo chip). Mediante Arduino, se pueden conocer los elementos básicos de la electrónica y los sensores rápidamente, creando prototipos sencillos, sin demasiada inversión. El software libre, el código abierto y el hardware libre de Arduino El software de Arduino es su conjunto lógico de instrucciones (programa), integrado en el entorno de desarrollo (IDE); el hardware es el conjunto de sus componentes físicos (la tarjeta en sí). La plataforma o sistema Arduino se basa en el software libre, en el código abierto y en el hardware libre (aunque el sensor HC-SR04, compatible con Arduino, no). Estos conceptos, que suelen estar relacionados, a veces dan lugar a confusión. A continuación se explican sus fundamentos básicos. El software libre (free software) proporciona a sus usuarios (tanto de forma individual, como colectiva) la libertad permanente, irrevocable y sin justificación, de ejecutarlo en cualquier sistema y para cualquier propósito; de estudiarlo y ver cómo funciona; de modificarlo y mejorarlo, accediendo a su código fuente sin tener por qué notificarlo; copiarlo, distribuirlo y publicarlo (preferiblemente en forma de ejecutables, que suelen ser más sencillos de instalar) con su correspondiente código fuente, con o sin modificaciones, sin tener que pedir permiso o pagar por ello, y cobrando, o no, una tasa (porque aunque sea libre, no tiene por qué ser gratuito), para que el resto de usuarios (lo que se conoce como “la comunidad”) continúen beneficiándose de sus revisiones y posteriores versiones y, de esta forma, se pueda controlar dicho software y lo que hace. Autor: Virginia Martínez Fuentes. Página - 9 - de 135 Tutor: Antonio Berlanga de Jesús.
Description: