Logo Studenta

TFG_Fernando_Yuste_Rodriguez-Escalona_2019

¡Este material tiene más páginas!

Vista previa del material en texto

Grado Universitario en Ingeniería de Tecnologías 
Industriales 
2018-2019 
 
Trabajo Fin de Grado 
“Curso de robótica educativa” 
 
Fernando Yuste Rodríguez-Escalona 
Tutor 
Arturo de la Escalera Hueso 
 
Leganés, 18 octubre 2019 
 
 
 
 
 
 
 
 
Esta obra se encuentra sujeta a la licencia Creative Commons 
Reconocimiento – No Comercial – Sin Obra Derivada 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
III 
 
RESUMEN 
El futuro del mundo, y del mercado laboral en particular, está marcado por la gran 
revolución que viene, la revolución de la automatización. La interacción con robots será 
muy importante y será necesario un mayor conocimiento acerca del funcionamiento y 
control de estas máquinas. 
Con el objetivo de formar a jóvenes alumnos en competencias como la electrónica y la 
programación, surge este curso de robótica educativa, con el deseo de ofrecer un 
complemento a lo aprendido en las escuelas e institutos. 
A lo largo de este curso se han desarrollado diferentes niveles de un proyecto global, en 
el que se montarán vehículos robots controlados por una Raspberry, la cual tendrá 
distintos sensores conectados que permitirán el desarrollo de diferentes tareas. Para 
programar se utilizará Scratch, una herramienta muy útil para principiantes. 
Finalmente, se realizará una prueba en alumnos, con el objetivo de comprobar la 
eficacia del curso planificado y obtener unas valoraciones de los principales 
destinatarios del curso. 
 
Palabras clave 
Robótica educativa; Raspberry; Scratch. 
ABSTRACT 
The future of the world is determined by the automation revolution that is coming. The 
interaction with robots will be very important, so more knowledge about the operation 
and control of these machines will be required. 
With the aim of teaching young students skills such as electronics and programming, is 
created this robotic course. The desire is to offer a complement to the courses that 
schools teach. 
In this course, different levels has been developed as a part of a global project. Robots 
controlled by a Raspberry will be mounted, which will have different sensors connected 
that will allow the development of different tasks. Scratch, a tool very useful for 
begginers, will be used to program. 
Finally, sutdents will make a test of the robotics course, with the aim of verifying the 
effectiveness of the planned course. 
Key words 
Educational robotics; Raspberry; Scratch. 
 
V 
 
DEDICATORIA 
En primer lugar, quiero agradecer a D. Arturo, mi tutor en este proyecto, su 
acompañamiento todos estos meses, por haber ejercido de guía, por la atención prestada 
y por la disponibilidad, tanto personal como de recursos, ofrecida. 
En segundo lugar, me quiero acordar de mi familia, que me ha acompañado durante 
todos estos años, apoyándome en los momentos difíciles, y por haberme inculcado 
desde pequeño los valores del trabajo, esfuerzo y sacrificio. 
También quiero agradecer de manera especial a Daniel, Juan y Manuel, por ofreceros a 
realizar este curso de robótica, con lo que he podido evaluar el resultado de mi trabajo, 
por vuestra paciencia durante las sesiones y vuestras ganas de aprender. 
Para terminar, no me puedo olvidar de mis compañeros y profesores, sin los cuales no 
habría llegado a donde estoy, de la gente de la biblioteca, por la ayuda ofrecida en todo 
momento, y de los encargados del Maker Space, una gran iniciativa que permite el 
desarrollo de nuevos proyectos y la puesta en común de ideas, poniendo las 
herramientas necesarias al servicio de los estudiantes. 
 
 
VII 
 
ÍNDICE DE CONTENIDOS 
Contenido 
1. INTRODUCCIÓN .................................................................................................... 1 
1.1. Motivación ......................................................................................................... 1 
1.2. Objetivos ............................................................................................................ 2 
1.3. Marco regulador ................................................................................................. 3 
1.4. Estructura de la memoria ................................................................................... 4 
2. ESTADO DE LA TÉCNICA .................................................................................... 5 
2.1. Situación actual .................................................................................................. 5 
2.2. Marco actual ...................................................................................................... 6 
2.3. Diseño de soluciones ......................................................................................... 7 
3. DESARROLLO DEL PROYECTO........................................................................ 10 
3.1. Configuración inicial ...................................................................................... 10 
3.1.1. Descarga e instalación del sistema operativo ............................................... 10 
3.1.2. Configuración VNC ..................................................................................... 11 
3.1.3. Otras configuraciones ................................................................................... 11 
3.2. Vehículo con sensor de distancia ..................................................................... 12 
3.2. Robot seguidor de líneas .................................................................................. 20 
3.3. Vehículo Ackermann ....................................................................................... 26 
4. RESULTADOS DEL CURSO ................................................................................ 31 
5. PLANIFICACIÓN Y ENTORNO SOCIO-ECONÓMICO .................................... 34 
5.1. Planificación ................................................................................................... 34 
5.2. Entorno socioeconómico .................................................................................. 35 
5.2.1. Presupuesto.................................................................................................. 35 
5.2.2. Impacto socio - económico ........................................................................ 37 
6. CONCLUSIONES .................................................................................................. 39 
6.1. Análisis de resultados ........................................................................................ 39 
6.2. Valoración personal ........................................................................................... 40 
6.3. Futuras líneas de desarrollo ............................................................................... 40 
7. BIBLIOGRAFÍA ..................................................................................................... 42 
 
IX 
 
ÍNDICE DE FIGURAS 
Figura 1. Robot Zowi [5] .................................................................................................. 5 
Figura 2. Placa Arduino Uno [8] ...................................................................................... 7 
Figura 3. Raspberry Pi modelo 3B ................................................................................... 7 
Figura 4. Captura del programa VNC Viewer ................................................................ 11 
Figura 5. Chasis 2WD para coche inteligente ................................................................ 12 
Figura 6. Batería POWERADD 10000mAh................................................................... 13 
Figura 7. Pines GPIO Raspberry Pi [11] ........................................................................ 14 
Figura 8. Controlador Pololu DRV8835 [12] ................................................................. 14 
Figura 9. Diagrama esquemático del DRV8835 [9] .......................................................15 
Figura 10. Esquema de la conexión del HC-SRO4 y el zumbador a la Raspberry ........ 16 
Figura 11. Programa de los motores en Scratch ............................................................. 18 
Figura 12.Captura del programa del sensor ultrasónico en Scratch ............................... 19 
Figura 13. Programa del zumbador y la cámara ............................................................. 20 
Figura 14. Pololu QTR-8RC [14] ................................................................................... 21 
Figura 15. Diseño 3D del soporte QTR-8RC [15] ......................................................... 22 
Figura 16. Diagrama esquemático del Pololu QTR-8RC [14] ....................................... 23 
Figura 17. Parte principal del programa del seguidor de líneas ..................................... 25 
Figura 18. Esquema principio de Ackermann [16]......................................................... 26 
Figura 19. Chasis del vehículo con servomotor. ............................................................ 27 
Figura 20. Código del servomotor en Scratch ................................................................ 28 
Figura 21. Montaje del chasis 3D por parte de un alumno ............................................. 29 
Figura 22. Planificación del proyecto hecha con Tom's Planner .................................... 34 
 
 
XI 
 
ÍNDICE DE TABLAS 
TABLA 1. COMPARATIVA ENTRE ARDUINO UNO Y RASPBERRY PI 3 B ....... 8 
TABLA 2. RELACIÓN PWM-VOLTAJE EN LOS PINES GPIO ............................... 13 
TABLA 3. RESULTADOS DE LA ENCUESTA PREVIA AL CURSO ..................... 31 
TABLA 4. ENCUESTA FINAL CURSO ROBÓTICA ................................................ 33 
TABLA 5. PRESUPUESTO .......................................................................................... 36 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
XIII 
 
LISTA DE ABREVIATURAS 
DC Direct current (ingl.: “corriente continua”) 
etc. etcétera 
GND Ground (ing.: tierra) 
GPIO General purpose input/ output (ingl.: “entrada/salida de propósito general”) 
PWM Pulse width modulation (ingl.: “modulación de ancho de pulso”) 
TIC Tecnologías de información y la comunicación 
VNC Virtual network computing (ingl.: “computación virtual en red”) 
1 
 
1. INTRODUCCIÓN 
En esta primera sección se desarrollará la justificación del trabajo, así como los 
objetivos que se desean alcanzar con este proyecto. Finalmente, se expondrá la 
estructura con la que se ha desarrollado la memoria. 
1.1. Motivación 
En la actualidad, la robótica y automatización han incrementado notablemente su 
relevancia y uso en multitud de aplicaciones. Y en los años futuros esto será una 
constante, y sus aplicaciones y repercusión irán en aumento. 
Se estima que para 2030 cientos de millones de trabajadores en todo el mundo serán 
desplazados por la automatización. Este cambio será especialmente notorio para 
aquellas personas con una escasa formación, ya que los trabajos más físicos y simples 
serán los primeros en ser realizados por robots [1]. 
Debido a esto, cobrarán mayor relevancia los puestos de trabajos orientados al 
desarrollo, manejo y mantenimiento de la tecnología, que requerirán cada vez una 
mayor formación debido al aumento de la complejidad de los sistemas de 
automatización y los robots. Además, muchos de los niños en edad escolar trabajarán en 
profesiones que aún no existen, muchas de ellas ligadas a la automatización y la 
programación. 
Por eso, es fundamental que surjan numerosas vocaciones ingenieriles, y la formación 
de las nuevas generaciones en materias como la robótica y la programación. Es 
especialmente interesante iniciar el desarrollo en estas habilidades en edades tempranas, 
ya que los niños tienen una gran capacidad de aprendizaje. 
Precisamente para acercar la tecnología a los más jóvenes, surgen los cursos de robótica 
educativa. En estos cursos se fomenta el aprendizaje gradual y dinámico, por medio de 
proyectos, para adquirir conocimientos básicos en electrónica y programación, 
permitiendo conseguir objetivos relativamente complejos con unos conocimientos 
previos mínimos. 
Estos cursos, además, resultan de gran atractivo para los estudiantes, lo que incentiva su 
motivación de seguir aprendiendo sobre tecnología; y les permiten desarrollar su 
2 
 
creatividad al tener un alto grado de flexibilidad, abiertos a las preferencias de cada 
persona. 
Dentro de este contexto se encuentra el proyecto realizado, que trata de aunar varias 
ramas de la tecnología en un solo curso, con un objetivo global y un atractivo 
característico de los proyectos de cierta complejidad. Todo ello utilizando las 
herramientas disponibles en la actualidad para hacerlo accesible a personas sin un alto 
conocimiento en materias como electrónica o programación. 
1.2. Objetivos 
Para la realización de este proyecto, se han marcado una serie de objetivos. Estos se 
pueden clasificar en objetivos personales, aquellos que mejoran la formación previa 
para la realización del trabajo; y objetivos del proyecto, aquellos que se pretenden 
alcanzar con la realización del curso de robótica. 
Objetivos personales: 
• Conocer la importancia de los cursos de robótica educativa en la actualidad, así 
como sus características y metodología. 
• Investigar acerca de las herramientas de hardware disponibles para estos cursos, 
especialmente aquellas más extendidas como Raspberry Pi y Arduino. Analizar 
también sus periféricos, que delimitan la extensión de nuestro proyecto. 
• Aprender a manejar Scratch, un software de programación por bloques, muy 
intuitivo, con el que los alumnos sin conocimientos en lenguajes de 
programación puedan incluir código en sus proyectos. 
Objetivos del proyecto: 
• Desarrollo de un curso educativo en varios niveles, con un fin único e integrador 
de todos los niveles. 
• Introducir nociones básicas en varias materias como la electrónica, la 
informática o la programación, explicando correctamente cada una de ellas. 
• Crear un curso que sea accesible para los alumnos, cuyo presupuesto en 
materiales no sea muy elevado, y los conocimientos previos sean adecuados al 
nivel en el que se va a implantar el proyecto. 
3 
 
• Llevar a cabo una prueba de curso con alumnos de Secundaria, y analizar los 
resultados para posibles mejoras futuras. 
1.3. Marco regulador 
Para poder situar correctamente este proyecto, es necesario conocer qué legislaciones 
rigen sobre la robótica educativa en España, así como las políticas reguladoras de las 
herramientas utilizadas en el desarrollo de este proyecto. 
El Ministerio de Educación recoge la importancia del uso de las TIC como herramienta 
educativa en educación Primaria, tanto en asignaturas troncales como específicas, si 
bien es cierto que no hace referencia a la programación y la robótica, estando más 
orientada al manejo de información y creación de contenido. 
En cuanto a la educación Secundaria y Bachillerato, sí que aparecen contenidos 
relacionados con las TIC en las asignaturas de Tecnología en el 4º curso de educación 
Secundaria, y en Tecnología Industrial y TIC en Bachillerato. Estás asignaturas, aunque 
son optativas, permiten a aquellos alumnos con gusto por la tecnología el aprendizaje de 
nuevos conceptos y el desarrollo de una vocación ingenieril. 
En los últimos años, las diferentes Comunidades Autónomas han introducido 
asignaturas sobre robótica y programación en Primaria y Secundaria, con diferente 
aplicación según la Comunidad [2]. 
En cuanto al software utilizado, Scratch es un programa gratuito que no requiere de 
ninguna licencia especial, RealVNC requiere la creación de una cuenta y la aceptación 
de términos de uso. 
También hay que tener en cuenta que se hace uso de una cámara en el proyecto, cuya 
normativa hay que tener en cuenta. La agencia españolade protección de datos, en su 
área de videovigilancia, indica que no se permitirá el tratamiento de las imágenes 
recogidas, al considerarse éstas datos personales [3]. Por lo tanto, se borrarán las 
fotografías tomadas por la cámara al finalizar cada prueba de la programación, en las 
que puedan salir personas, especialmente si los alumnos son menores. 
 
4 
 
1.4. Estructura de la memoria 
En esta memoria se desarrollarán los siguientes puntos: 
• Estado de la técnica: en esta sección se expondrá la situación actual de los cursos 
de robótica educativa, así como los condicionantes que tienen, las posibilidades 
de hardware y software disponibles, y la elección de componentes para el 
proyecto. 
• Desarrollo del proyecto: se explicarán las diferentes etapas del curso de robótica 
educativa, detallando los materiales utilizados, así como las instrucciones 
necesarias para llevar a cabo las distintas tareas propuestas. 
• En la sección de resultados se realizará una prueba del curso diseñado, en la cual 
alumnos de Secundaria tendrán que realizar las diferentes partes del curso, y se 
analizarán los resultados obtenidos. 
• Planificación y marco socio-económico se mostrará a cabo la organización 
temporal seguida para el desarrollo del proyecto, así como las cantidades 
económicas gastadas en cada etapa. También se analizará el impacto social y 
económico del proyecto. 
• Finalmente, se expondrán las conclusiones obtenidas del proyecto global, se 
evaluarán los resultados del curso de robótica, se analizará el cumplimiento de 
los objetivos generales y personales y se expondrán futuras vías de expansión 
del proyecto. 
 
5 
 
2. ESTADO DE LA TÉCNICA 
2.1. Situación actual 
En la actualidad, cada vez es más común encontrar cursos de robótica educativa, tanto 
en las aulas de secundaria o de la universidad, como en la oferta de actividades 
extraescolares. El aumento de oferta y demanda de estos cursos ha provocado que 
existan una gran variedad de ellos. La robótica educativa se puede aplicar desde los más 
pequeños hasta jóvenes en los primeros años de la formación universitaria. 
Con el objetivo de tener una referencia sólida para la realización de este proyecto, a lo 
largo de este apartado de estudiarán las diferentes posibilidades que tienen actualmente 
los cursos de robótica educativa, tanto a nivel pedagógico como de hardware y software. 
En el ámbito pedagógico, se ha descubierto que la robótica educativa aporta numerosos 
beneficios a los estudiantes en las diferentes etapas escolares. Entre los alumnos de 
educación infantil, entre otros, la robótica refuerza la creatividad de los niños, favorece 
el trabajo en grupo y el pensamiento crítico, y además mejora la autoestima Todo esto 
añadido a las nociones que se adquieren en electrónica o programación [4]. Un claro 
ejemplo es el robot Zowi, mostrado en la figura 1, elegido mejor juguete conectado del 
año 2016 por la Asociación Española de Fabricantes de Juguetes. Ofrece un gran 
abanico de posibilidades, desde juegos de memoria para los más pequeños, o controlar 
su movimiento desde un móvil o tablet, hasta programarlo con Bitbloq, una herramienta 
de programación por bloques [5]. 
Figura 1. Robot Zowi [5] 
6 
 
También entre los alumnos de secundaria se cuentan numerosos beneficios de los cursos 
de robótica, como la motivación por aprender, y también los estimula en el desarrollo 
del pensamiento abstracto [6]. Por ejemplo, la escuela de robótica Logix5 ofrece para 
los jóvenes de secundaria una serie de cursos, en los cuales se abarca completamente el 
proceso de hacer un robot, desde el montaje de los chasis o estructuras robóticas 
llamativas para los estudiantes, hasta el uso de distintos sensores y su programación [7]. 
Respecto al hardware, en los últimos años han proliferado diferentes plataformas de 
código abierto, que permiten al usuario adaptarlo a las necesidades de su proyecto. Esto, 
además, acompañado por una gran comunidad de estudiantes y desarrolladores que 
comparten sus creaciones para que puedan ser de ayuda al resto de la comunidad. Entre 
las más destacadas están Arduino, Raspberry Pi y Adafruit. También empresas líderes 
como LEGO desarrollan sus propios componentes destinados a la robótica educativa. 
Estos componentes pueden requerir o no un determinado software. Por ejemplo, 
Arduino Uno tiene su propio entorno de desarrollo, el Arduino IDE. Por el otro lado, 
Raspberry Pi tienen mayores posibilidades al poder soportar diferentes sistemas 
operativos, como Raspbian, en los que a su vez se puede programar en lenguajes como 
Phyton. Cada software tiene unas características distintas y ofrece ciertas ventajas, que 
tendrán que ser analizadas para elegir el más adecuado a las necesidades del curso. 
2.2. Marco actual 
Los cursos de robótica educativa, ya sean llevados a cabo en las aulas o como 
actividades adicionales, están destinados a estudiantes, por lo que tienen una serie de 
condicionantes. 
El primero de ellos es el económico. El objetivo de optimizar el presupuesto es vital 
para que no haya un impedimento económico para que los alumnos puedan realizar un 
curso de robótica educativa. Cuanto más barato, más accesible para todos. Eso sí, sin 
perder los estándares de calidad. 
El segundo lugar, es necesario adaptar estos cursos al nivel de los alumnos, eligiendo el 
software más adecuado, así como los componentes que incluirá el robot. En este 
sentido, placas como Arduino son las más utilizadas por su sencillez y manejo. Además, 
muchas marcas ofrecen kits completos con guías y cursos adaptados a todos los niveles. 
7 
 
2.3. Diseño de soluciones 
Lo primero para poder desarrollar el proyecto es la elección del hardware, que 
determinará el entorno de desarrollo del proyecto y sus posibles aplicaciones. Teniendo 
en cuenta lo expuesto en los apartados anteriores la elección final estaba entre utilizar 
Arduino o Raspberry Pi. Para poder decidir correctamente, hemos hecho una 
comparativa entre ambas placas. 
Por un lado, está Arduino (figura 2), que es una de las placas más conocidas, y de las 
más utilizadas para los cursos de robótica, contiene un microcontrolador, además de un 
entorno de desarrollo, lo que la hace especialmente útil para una gran variedad de 
proyectos, acercando la electrónica de manera muy sencilla [8]. 
Por otro lado, Raspberry Pi es un ordenador en miniatura. Como se observa en la figura 
3, está compuesto por una placa base, a la que se añaden un procesador y un chip 
gráfico. La función de disco duro la hace una tarjeta SD, y además cuenta con memoria 
RAM [9]. 
Figura 2. Placa Arduino Uno [8] 
Figura 3. Raspberry Pi modelo 3B 
8 
 
Para realizar una comparativa en mayor profundidad, se recogió la información 
relevante para el interés de nuestro proyecto, la cual queda recogida en la tabla 1. 
 
TABLA 1. COMPARATIVA ENTRE ARDUINO UNO Y RASPBERRY PI 3 B 
 Arduino UNO Raspberry Pi 3 B 
Coste placa 20€ 35€ 
Puesta en marcha La configuración del 
software y hardware es 
inmediata. 
Requiere descarga y 
configuración del software 
Periféricos Para utilizar muchos de 
ellos es necesario comprar 
shields, y esto aumenta el 
coste. 
Incluye puertos USB, 
Ethernet y HDMI, además 
de ser compatible con Wifi 
y poder conectar pantallas 
y cámaras. 
Complejidad de 
proyectos 
Para proyectos simples y 
repetitivos. Sólo puede 
correr un código al mismo 
tiempo. 
Permite proyectos más 
complejos, con ejecución 
de varias tareas 
simultáneamente. 
 
Teniendo en cuenta que la diferencia de precios entre las placas no es muy grande, se ha 
optado por elegir la Raspberry Pi 3, ya que no supondrá una limitación en la 
complejidad del proyecto y ofrece mayores posibilidades, como el uso de la cámara. 
Respecto al software, el elegido es Scratch, ya que permite programar por bloques de 
manera intuitiva, sin necesidad de escribir elcódigo como tal. Este programa no 
requiere conocimientos avanzados en programación y ofrece un rápido aprendizaje. 
Además, está preinstalado en el Raspbian de la Raspberry Pi, por lo que no supone 
ninguna complicación añadida. 
9 
 
También ha sido clave para determinar la elección el enfoque del proyecto. El curso de 
robótica estará destinado a alumnos de Secundaria o Bachillerato, o incluso 
universitarios de primer año, y consistirá en construir un prototipo de coche inteligente 
en el que se utilicen diferentes sensores, actuadores y configuraciones. 
Otra de las características elegidas para el curso han sido los chasis para los robots. Se 
utilizarán estructuras con forma de vehículo para que sean más llamativas a los 
estudiantes. También los sensores a utilizar, como los ultrasónicos, la cámara o el 
sensor infrarrojo han sido elegidos para poder llevar a cabo proyectos atractivos en los 
que todas las etapas tengan una relevancia similar. 
10 
 
3. DESARROLLO DEL PROYECTO 
El proyecto se ha desarrollado en diferentes etapas, en cada una de las cuales se han ido 
cumpliendo distintos objetivos y cubriendo diferentes niveles del proyecto. 
3.1. Configuración inicial 
Para poder desarrollar el proyecto satisfactoriamente, es necesario configurar la 
Raspberry Pi de manera correcta. En este apartado se explicarán los diferentes procesos 
de ajuste, desde la puesta a punto inicial a la configuración de los detalles. 
Serán necesarios una fuente de alimentación de 5V y al menos 2.5A, un teclado, un 
ratón, una pantalla a la que conectar la Raspberry y una tarjeta SD de al menos 8GB. 
Si bien esta configuración inicial no entra dentro del curso de robótica como tal, puede 
aportar a los alumnos conocimientos en el propio sistema operativo de la Raspberry, en 
los periféricos y en el software a utilizar durante el curso de robótica educativa. 
3.1.1. Descarga e instalación del sistema operativo 
El sistema operativo usado mayoritariamente en la Raspberry es Raspbian. Para 
instalarlo, la página oficial de Raspberry Pi proporciona el software NOOBS, el cual es 
necesario descargar en un ordenador. 
Estos archivos descargados se copian en la tarjeta SD, que tendrá que haber sido 
previamente formateada para evitar fallos. Una vez copiados, se introduce la tarjeta SD 
en la Raspberry Pi y se conecta esta a una pantalla mediante el HDMI. También se 
conectan un teclado y un ratón. Una vez está todo conectado, se conecta la fuente de 
alimentación [10]. 
Después de unos segundos, sale la primera pantalla para elegir el sistema operativo a 
instalar, que será el Raspbian Full. Esta primera pantalla también deja la opción de 
cambiar el idioma, por lo que se elige el español. Es recomendable conectar un cable de 
red o bien configurar la conexión Wi-Fi para proceder correctamente con la instalación. 
 Una vez terminado el proceso de instalación, la Raspberry se reinicia automáticamente. 
Aparece el escritorio de la Raspberry, y un asistente para facilitar algunos ajustes como 
la fecha y hora o la contraseña de usuario. Una vez finalizada esa configuración, la 
Raspberry ya está lista para su uso. 
11 
 
3.1.2. Configuración VNC 
Una herramienta que proporciona muchas facilidades para el desarrollo del proyecto es 
el software VNC (Virtual Network Computing). El programa VNC Viewer permite 
conectarse al escritorio de la Raspberry desde otro ordenador, y controlarlo a distancia 
gracias a la conexión Wi-Fi. Esto es muy útil para manejar la Raspberry cuando ésta se 
encuentra sobre una plataforma móvil, o sin pantalla, como es el caso de nuestro 
proyecto. 
Para configurar el VNC, es necesario descargar el software para el ordenador, en este 
caso VNC Server Y VNC Viewer. El primero permite crear una subred de equipos 
conectados y registrarse como usuario, mientras que el segundo permite ver y controlar 
los diferentes dispositivos de forma remota. 
Para poder acceder a la Raspberry es necesario activar el VNC en ella. La forma de 
hacerlo es abriendo el terminal, introducir sudo raspi-config, seleccionar Interfacing 
Options y, finalmente VNC, el cual queda activado permitiendo el acceso remoto. Tras 
esto solo queda iniciar sesión en con la cuenta VNC en la Raspberry. De esta manera 
queda configurado un equipo que incluye los diferentes ordenadores y Raspberry que 
queramos asociar, pudiendo acceder desde uno de ellos a varios de los otros al mismo 
tiempo, como se refleja en la figura 4. 
 
Figura 4. Captura del programa VNC Viewer 
3.1.3. Otras configuraciones 
Otras de las configuraciones que se ha de hacer en la Raspberry es la activación de la 
cámara. Para ello, se abre el terminal de la Raspberry y se escribe sudo raspi-config. En 
12 
 
el menú de configuración se selecciona Interfacing Options y, a continuación, Camera. 
Finalmente, se acepta a la activación de la cámara. 
Aunque no es imprescindible, es de gran utilidad, especialmente para los alumnos, 
poder usar el software de Scratch en castellano. Para configurarlo, se hace clic en el 
icono y se selecciona el español. 
Tras estas modificaciones, ya está todo configurado para poder comenzar a desarrollar 
nuestro curso de robótica educativa. 
3.2. Vehículo con sensor de distancia 
La primera etapa del curso consiste en montar un vehículo capaz de medir la distancia 
de un objeto que se encuentre delante de él y de indicarlo mediante pitidos, y hacer 
posible el control de su movimiento tanto a distancia como de manera autónoma. 
El chasis seleccionado es el correspondiente a la figura 5, chasis 2WD para coche 
inteligente, producto de The perseids, disponible para comprarlo. Está formado por una 
placa con diversas ranuras sobre la que se soportan el resto de componentes. El kit 
incluye dos motores DC con reductora, dos ruedas, una rueda loca, un soporte para 4 
baterías AA y un interruptor. 
Sobre este chasis se han montado la Raspberry Pi, el sensor ultrasónico y una batería de 
5V para alimentar la Raspberry. Esta batería es necesaria, ya que la Raspberry Pi 
necesita 5V para funcionar, y las 4 pilas de 1,5V serán encargadas de alimentar a los 
motores. 
Figura 5. Chasis 2WD para coche inteligente 
13 
 
La batería portátil utilizada para alimentar la Raspberry ha sido la de la figura 6, de 
POWERADD, que suministra 5V y 2,4A, requeridos para un correcto funcionamiento 
de la Raspberry. La capacidad de 10000mAh proporciona más de 5 horas de autonomía, 
y el tamaño reducido la hace apta para colocarla sobre el chasis. 
Para realizar las conexiones necesarias se han utilizado cables dupont macho-macho, 
hembra-hembra o macho-hembra según ha sido necesario. También se ha utilizado una 
pequeña protoboard para facilitar las conexiones. 
 
TABLA 2. RELACIÓN PWM-VOLTAJE EN LOS PINES GPIO 
PWM 0 100 200 300 400 500 600 700 800 900 1000 1024 
Voltaje 
(V) 
0 0,32 0,64 0,97 1,29 1,62 1,95 2,27 2,6 2,92 3,25 3,33 
 
La conexión entre la Raspberry y el resto de los componentes tiene lugar sobre los pines 
GPIO (General Purpose Input/Output). Estos pines pueden ser configurados como 
entradas o salidas digitales [11]. Tienen un estado HIGH (3,3V) y uno LOW (0V), y 
además pueden ser configurados como salidas PWM (pulse-width modulation), una 
configuración que permite regular el valor medio del voltaje de salida para variar la 
velocidad de giro de un motor de corriente continua o el tono de un zumbador, entre 
otras muchas aplicaciones. El valor PWM puede ajustarse entre 0 (0V) y 1024 (3,3V), 
como se muestra en la tabla 2, debido a la resolución del GPIO. Los pines de la 
Raspberry Pi 3B+ están distribuidos de la manera reflejada en la figura 7. 
Figura 6. Batería POWERADD 10000mAh 
14 
 
 
Para poder controlar la velocidad y dirección del vehículo, es necesario manejar tanto la 
potencia como el sentido de giro de los motores. Para ello se ha utilizado el controlador 
de motores Pololu DRV8835para dos motores adaptado a Raspberry Pi, mostrado en la 
figura 8. 
 
En este controlador se han soldado un cabecero hembra y 3 bloques terminales de 2 
pines, para facilitar las conexiones. Se ha montado sobre los pines GPIO 1-34, 
quedando libres los pines 35-40. El controlador está basado en un puente H dual y sigue 
el esquema de la figura 9. 
Figura 7. Pines GPIO Raspberry Pi [11] 
Figura 8. Controlador Pololu DRV8835 [12] 
15 
 
El funcionamiento de los motores está determinado por 4 pines del GPIO, dos para cada 
motor. Los pines GPIO 5 y 6 se han configurado como salidas (outputs), y determinan 
el sentido de giro para los motores 1 y 2, respectivamente. Si están en el valor alto, el 
motor gira hacia delante, mientras que, si es bajo, lo hace hacia detrás. Los pines GPIO 
12 y 13 son salidas PWM y controlan la velocidad de los motores 1 y 2, 
respectivamente. 
VIN es el voltaje de entrada suministrado por el conjunto de las 4 baterías de 1,5V. 
Entre la batería y el controlador se ha colocado un interruptor para permitir desactivar 
los motores cuando sea necesario. Los voltajes de salida a los motores M1 y M2 son 
acordes a un correcto funcionamiento de los mismos, adquieren valor positivo o 
negativo según el sentido de giro del motor. 
De manera adicional, se ha instalado un detector de distancia ultrasónico HC-SR04 y un 
zumbador. El sensor envía el valor del tiempo que va entre que envía la señal 
ultrasónica y cuando la recibe. Con el valor de este tiempo, conociendo la velocidad del 
sonido y teniendo en cuenta que el recorrido es de ida y vuelta, es fácil calcular la 
distancia a la que se encuentra el objeto. 
El zumbador se ha conectado a la salida de un pin, conectando en medio una pequeña 
resistencia de protección, y el tono del mismo variará en función al voltaje 
suministrado, que será regulado gracias a PWM. 
Figura 9. Diagrama esquemático del DRV8835 [9] 
16 
 
El sensor ultrasónico tiene una tensión nominal de 5V, por lo que se puede alimentar 
con liberando uno de los pines de 5V de la Raspberry, para lo que habría que liberar 
espacio en los pines ocupados por el controlador de motores, o con el pin de 5V que 
sale del propio controlado. Otra opción que simplifica el circuito es alimentarlo con los 
3,3V que proporciona un GPIO en estado alto, ya que esté valor ha sido probado y ha 
funcionado correctamente. 
El Trigger (disparador) es el pin que inicializa el sensor, indicando cuando empieza a 
mandar información, y se ha conectado directamente sobre el GPIO 16. El Echo es el 
encargado de enviar la información a la placa, y requiere de un divisor de voltaje para 
no superar los 3,3V que admiten los pines GPIO. El circuito ha quedado configurado de 
acuerdo al esquema de la figura 10. Se ha decido el uso de diagramas y esquemas más 
visuales, en lugar de los diagramas electrónicos clásicos, para facilitar su interpretación 
a los alumnos que tomen parte de este curso. También el uso de cables de diferentes 
colores facilita la identificación de las diferentes partes del montaje. 
Figura 10. Esquema de la conexión del HC-SRO4 y el zumbador a la Raspberry 
17 
 
Algunas mejoras posibles en la configuración serían añadir otro sensor ultrasónico en la 
parte trasera del chasis, para que también se tuviera en cuenta la distancia cuando el 
vehículo fuese marcha atrás. Para esto sería necesario liberar pines del controlador de 
motores, usando cables jumper en lugar de encajar directamente el controlador sobre el 
GPIO. 
Un complemento que se ha instalado ha sido la Cámara V2 para Raspberry Pi, que se 
coloca en la ranura indicada para ello. Esta cámara tomará fotos de los obstáculos 
detectados a una distancia de 5cm o menos y los mostrará en el escenario de Scratch. 
Como alternativa a la batería que alimenta la Raspberry, estaría el uso del regulador de 
voltaje Pololu S7V7F5, el cual iría situado sobre el controlador de motores. Este 
componente alimentaría la Raspberry gracias a las 4 pilas, ya que convierte voltajes de 
hasta 11,8V en 5V. Sin embargo, está alternativa es limitada, ya que la corriente 
proporcionada por el regulador es demasiado baja para algunas aplicaciones de la 
Raspberry Pi. 
Para que todo esto funcione correctamente es necesario crear un programa en la 
Raspberry. Para ello se crea un proyecto nuevo en Scratch, el software seleccionado, y 
se actúa de la siguiente manera. 
Scratch es un software que permite la creación de programas sobre personajes y 
escenarios, programas que son reflejados sobre la pantalla del ordenador, con bloques 
de movimiento, apariencia y sonido. En el caso de nuestro proyecto, estos bloques no 
serán necesarios, si bien otros como los bloques de control o las variables cobrarán 
especial relevancia. 
En Scratch, el programa se escribe sobre el personaje o escenario sobre el que se quiere 
actuar. En este caso, al actuar únicamente sobre el GPIO y la cámara, se programará 
sobre el escenario. Eliminando todos los personajes para tener mayor visibilidad en la 
pantalla. 
En primer lugar, se debe inicializar el servidor GPIO. Para ello se utiliza el bloque 
enviar a todos, dentro de los bloques de control. Este bloque, broadcast en inglés, 
manda un mensaje a todo el programa de Scratch. Para activar el GPIO se escribe 
gpioserveron, y después se inicializan el resto de pines a utilizar, indicando si son 
entradas (“in”), salidas (“out”) o salidas PWM (“outputpwm”) [13]. Una vez 
18 
 
configurados los pines, se pueden ajustar los valores de salida al valor alto (“on”), bajo 
(off) o ajustado a cierto valor de PWM entre 0 y 1024. 
Para que el programa se ejecute es necesario poner un bloque de inicio, que será el de la 
bandera verde de Scratch. También se pueden añadir otras condiciones de control, como 
que un bloque se ejecute al pulsar determinada tecla. En este caso, se han utilizado las 
flechas de dirección para controlar el movimiento del vehículo. 
El programa de la inicialización de los pines y control de los motores del vehículo ha 
quedado de la manera reflejada en la figura 10. Como se puede observar, el giro del 
vehículo se lleva acabo moviendo una rueda hacia delante y otra hacia detrás, al 
disponer únicamente de dos ruedas, y sin eje dirección. El tiempo que se mantienen los 
movimientos de avance y retroceso es 0,5 segundos, mientras que los de los giros es de 
0,2 para poder realizar los giros con una mayor precisión. 
Figura 11. Programa de los motores en Scratch 
19 
 
Figura 12.Captura del programa del sensor ultrasónico en Scratch 
En cuanto al sensor ultrasónico y la cámara, Scratch dispone de un comando para el 
sensor de distancia ultrasónico. Dentro del bloque enviar a todos se escribe: 
“ultrasonic” + “trigger” + trigger pin + “echo” + echo pin [13]. Luego seleccionamos 
valor del sensor ultrasonic distance dentro de los bloques de sensores, y ya podemos 
visualizar el valor de la distancia, como se observa en la figura 12. 
Además, es necesario inicializar los pines de trigger y echo como salida y entrada, 
respectivamente, además de inicializar el GPIO (como las figuras 11 y 12 pertenecen al 
mismo programa, solo es necesario inicializarlo una vez). 
Por último, se ha configurado el código del zumbador y la cámara. El GPIO 20 se ha 
definido como salida PWM, para ajustar el tono a un valor de 700. El comando para 
hacer una foto y mostrarla en el escenario de Scratch consiste en escribir photo dentro 
del bloque enviar a todos. 
El funcionamiento del programa mostrado en la figura 13 sería de la siguiente manera. 
Si la distancia detecta es mayor a 10cm, el zumbador no actuaría. Si la distancia 
detectada está entre 5 y 10cm, sonaría un pitido de 0,1 segundos de duración espaciados 
por 0,5 segundos. Si la distancia es menor que 5cm, se tomaría una foto que sería 
20 
 
mostrada en el escenario (como en la figura 12), y además el pitido de 0,1s se 
escucharíaahora con mayor frecuencia. 
Con todo esto, instalando la Raspberry en el chasis anteriormente descrito, ha sido 
posible el control del vehículo de forma remota gracias a la conexión VNC. Para hacer 
el vehículo autónomo, bastaría con cambiar las condiciones de actuación de los motores. 
Al inicializar, siempre que la distancia sea mayor que 10, el coche avanza. Cuando 
detecta un objeto a una distancia menor, gira hasta que ya no tenga objeto delante y 
vuelva a avanzar. 
Al final esta primera etapa el alumno debería haber adquirido unos conocimientos 
básicos en las aplicaciones del sensor ultrasónico, del controlador de motores y la 
cámara, así como la capacidad de leer esquemas electrónicos y montarlos. También 
habrá aprendido a crear unos sencillos programas en Scratch utilizando los comandos 
más básicos y controlar la Raspberry de manera remota. 
3.2. Robot seguidor de líneas 
La siguiente parte del curso de robótica consiste en el montaje y programación de un 
robot sigue-líneas. Este robot será capaz de seguir un circuito formado por una línea 
Figura 13. Programa del zumbador y la cámara 
21 
 
negra sobre un fondo blanco (también se podría programar con una línea blanca sobre 
fondo negro). 
El chasis utilizado inicialmente para esta parte ha sido el mismo que el utilizado para el 
vehículo con sensor de distancia. La batería también será la misma, ya mencionada 
anteriormente. 
También en este proyecto se ha utilizado el control de motores DRV 8835, pero ha sido 
necesario liberar más pines GPIO para el sensor encargado de seguir líneas. Por ello, en 
está ocasión, en vez de encajarlo directamente sobre los pines 1-34, se han utilizado 
cables jumper macho-hembra en los pines 4 (5V), 17 (3,3V), 29 (GPIO 5), 31 (GPIO 6), 
32 (GPIO 12), 33 (GPIO 13) y 34 (tierra). 
Para poder seguir las líneas se ha utilizado el array de sensores infrarrojos Pololu QTR-
8RC [14]. Está formado por 8 sensores de reflectancia a base de fototransistores que, en 
función a la reflectancia de la superficie, permiten diferenciar si ésta es negra o blanca. 
Se puede dividir, dejando un array de 6 sensores y otro de 2 que funcionan de manera 
independiente, aunque en este caso se han utilizado los 8 sensores. También dispone de 
un bypass por si la fuente de alimentación es de 3,3V, como se aprecia en la figura 14. 
El componente también incluye pines macho que se han soldado para facilitar futuras 
conexiones con los cables jumper. 
Para una correcta sujeción del QTR-8RC se ha utilizado un soporte específicamente 
diseñado para ello, el cual se ha obtenido de Thingiverse [15] (figura 15), una 
comunidad en la que los miembros comparten sus diseños para que estos sean 
accesibles al resto del mundo. 
Figura 14. Pololu QTR-8RC [14] 
22 
 
 
Figura 15. Diseño 3D del soporte QTR-8RC [15] 
Gracias a la impresión 3D se ha conseguido añadir una parte específica y personalizada 
a nuestro chasis, lo que es una clara ventaja de la fabricación aditiva y de la 
digitalización de la fabricación. 
El esquema que sigue el QTR-8RC se muestra en la figura 16. Además de los 
fototransistores, el array tiene un LED infrarrojo para cada sensor. Cada par LED-
fototransistor tiene su propia entrada/salida digital, gracias a los circuitos con 
condensadores [14]. Esto mejora la sensibilidad del sensor y nos evita utilizar un 
conversor de analógico a digital. 
El pin LEDON es el encargado de encender o apagar los LEDs. Si está en valor alto o 
desconectado (se fuerza alto internamente), los LEDs están encendidos, mientras que, si 
tiene valor bajo, los LEDs están en valor bajo y el sensor no tiene lectura de la 
reflectancia de la superficie. Este pin se puede utilizar para ahorrar energía cuando no se 
23 
 
está analizando la superficie, así como regular el consumo configurando el pin como 
salida PWM [11]. 
 
La conexión entre la Raspberry Pi y el Pololu QTR-8RC ha sido de la siguiente manera. 
El pin 39 se ha utilizado como tierra (GND), y el pin 2 ha suministrado los 5V de Vcc. 
Para los sensores 1-8 se han utilizado, respectivamente, los pines GPIO 20, 16, 26, 19, 
7, 8, 11 y 25. El pin GPIO 21 se ha conectado a LEDON. Estas conexiones se han 
realizado con cables jumper hembra-hembra, situando el array a unos 4mm de la 
superficie, para que puedan trabar de manera óptima. 
Para que estos sensores funcionen correctamente, es necesario inicializarlos. Para ello, 
la primera vez se han configurado los pines de los sensores como salidas digitales, y se 
les ha asignado el valor alto. Después de un breve tiempo se han cambiado los pines a 
entradas digitales (alta impedancia), funcionando ya de manera correcta todos los 
sensores, devolviendo valor 1 si la superficie bajo ese sensor es negra, y un 0 si la 
superficie es blanca. 
También se ha construido un circuito, utilizando para ello un trozo de mantel blanco de 
aproximadamente 1m² de tamaño, sobre el que se ha marcado un circuito cerrado 
utilizando cinta adhesiva negra, dispuesta en rectas y curvas. 
Figura 16. Diagrama esquemático del Pololu QTR-8RC [14] 
24 
 
Respecto a la programación, se ha creado un nuevo programa de Scratch. Lo primero 
que se ha hecho ha sido copiar en el escenario los bloques de movimientos de los 
motores (con su respectiva inicialización) utilizados en el robot con sensor de distancia, 
cambiando las condiciones de inicio de los respectivos bloques. En lugar de utilizar las 
flechas, se ha utilizado el comando al recibir, creando los identificadores avanza, atrás, 
giro_izquierda y giro_derecha para los respectivos movimientos. Este comando 
funciona como complemento del enviar a todos, ya que cuando envías uno de los 
mensajes (avanza, atrás, etc.) el bloque se ejecuta. 
Sobre el Sprite se ha llevado a cabo el resto del programa. En primer lugar, se han 
inicializado el servidor GPIO y los correspondientes pines, indicando si eran entradas o 
salidas y, si eran salidas, si tenían valor alto y bajo. 
A continuación, se han creado unas variables denominadas sensor1, sensor2, … una 
para cada sensor, y se le ha asignado con el bloque fijar su correspondiente pin GPIO 
usando un bucle infinito para mantener actualizados los valores. Además, el valor de 
estas variables siempre se mostrará en la pantalla de Scratch. De esta manera ha sido 
más sencillo identificar en cada momento el valor de cada sensor y desarrollar la 
programación. 
Finalmente, se ha creado la parte principal del programa, la encargada de controlar el 
funcionamiento del robot seguidor de líneas, reflejada en la figura 17. En función del 
sensor o sensores que se encontrasen sobre la superficie oscura en cada momento, el 
vehículo actúa de una manera u otra. Si detecta la línea con los sensores centrales, el 
programa manda la orden de avanzar utilizando el comando enviar a todos “avanzar” y 
esperar para que el programa continúe una vez la acción se haya desarrollado 
completamente. Si la detecta con los sensores intermedios, manda la señal de giro para 
el lado adecuado para orientar el vehículo hacia la línea y luego avanza. Mientras que, si 
la detecta con uno de los sensores de los extremos, solamente gira. Esta programación 
se ha probado con diferentes variantes para observar los cambios en el comportamiento 
del robot. 
25 
 
 
Figura 17. Parte principal del programa del seguidor de líneas 
Adicionalmente se han añadido a esta parte del programa las posibilidades de que el 
vehículo esté en el aire o sobre una superficie negra entera (más de 4 sensores con valor 
1) en cuyo caso el vehículo no se mueve; o el caso de que el vehículo se haya salido de 
la línea del circuito (en una curva cerrada, por ejemplo), cuando todos los sensores 
detectan superficie blanca (valor 0), teniendo que girar hasta encontrar de nuevo la 
línea. Para evitar que el vehículo cambie de sentido al buscar la línea, se ha creado una 
variable llamada lado_array, que indicaen qué lado se encuentra el último sensor que 
ha detectado la línea, determinando así el sentido de giro del vehículo. 
26 
 
Esta segunda etapa del proyecto aporta al alumno una mayor destreza en el manejo de 
Scratch, pudiendo crear programas más complejos con nuevos comandos. Además, el 
alumno aprende el funcionamiento y configuración de los sensores infrarrojos y es 
capaz de diseñar soluciones variadas para los problemas que enfrenta. 
3.3. Vehículo Ackermann 
La última etapa del curso de robótica ha consistido en el montaje de otro chasis de 
vehículo robot, pero en este caso un vehículo con dirección (Ackermann). Esto ha 
permitido enseñar el funcionamiento de los servomotores en la robótica, pudiendo 
además utilizar este chasis para cualquiera de los dos anteriores diseños. 
El principio de Ackermann determina que la rueda exterior debe formar un ángulo 
menor con la extensión del eje trasero que la rueda interior (figura 18). Si esto no fuera 
así y el vehículo no cumpliera el principio de Ackermann, se produciría inestabilidad y 
un desgaste excesivo de los neumáticos, ya que las dos ruedas delanteras girarían el 
mismo ángulo, pero estarían girando respecto a puntos distintos [16]. 
 
Para conseguir este funcionamiento, se han buscado chasis que ofrezcan esta 
característica a un coste reducido y que permitan acoplar la Raspberry y los demás 
sensores necesarios. Se han planteado dos opciones: comprar un chasis o imprimir uno. 
Figura 18. Esquema principio de Ackermann [16] 
27 
 
En primer lugar, está el kit de chasis compuesto por la base, dos motores DC para las 
ruedas traseras, 4 ruedas, y un servomotor para controlar las ruedas delanteras. Este kit 
incluye, como se muestra en la figura 19, un soporte para 4 baterías AA, que serán 
necesarias para alimentar a los motores. 
Sobre este chasis se pueden montar tanto el sensor ultrasónico como el infrarrojo del 
sigue-líneas. Además, se colocarán la Raspberry Pi, el controlador de motores DRV 
8835 y la batería que alimenta a la Raspberry. 
La dificultad añadida radica en que ahora el movimiento de giro es más complejo, al 
tener un servomotor que hace la función de volante, y puede girar diferentes ángulos. 
Las ruedas traseras funcionarán de manera similar a como lo hicieron en los primeros 
niveles de este curso de robótica, dirigidas por el controlador de motores, y moviéndose 
siempre en este caso simultáneamente, bien hacia delante o hacia detrás. 
El servomotor utilizado es el Futaba S300. Tiene 3 cables de salida: el amarillo o 
blanco, correspondiente a la señal, irá conectado a un pin GPIO configurado como 
salida PWM, que será el encargado de indicar el ángulo a girar; el rojo que va a 
conectado a 5V, y el negro o marrón que se corresponde con la tierra (GND). 
Figura 19. Chasis del vehículo con servomotor. 
28 
 
Para su programación en Scratch, se dispone de un comando para el control de 
servomotores: servo + pin del servo + % + [-100…100] en función de la posición del 
servo que se considera alcanzar. Por ejemplo, servo15%0, indica que el servo, cuyo pin 
PWM es el 15, está en la posición 0, siendo 0 la posición neutra del servo [13]. Este 
comando se utiliza, como la gran mayoría en este proyecto, dentro del bloque enviar a 
todos. 
Para poder controlar el ángulo se ha desarrollado un pequeño programa, reflejado en la 
figura 20. En primer lugar, se ha creado una variable ángulo, la cual se inicializa 
siempre en el valor 0. Esta variable se va incrementando o reduciendo en valores de 10 
con las teclas derecha e izquierda, respectivamente. Finalmente, para cada caso del 
ángulo deseado entre las posiciones -30 y 30 (las que permite el montaje del chasis), se 
manda la señal al servomotor de colocarse en esa posición. 
Figura 20. Código del servomotor en Scratch 
29 
 
Para el avance y retroceso del vehículo se han utilizado los mismos bloques que en la 
primera parte de este curso de robótica educativa, controlados con las flechas arriba y 
abajo, respectivamente. Con esto ya somos capaces de controlar el movimiento del 
vehículo de forma remota. 
Finalmente, se pueden añadir el sensor ultrasónico o el del seguidor de líneas, junto con 
su correspondiente código del programa de Scratch. En el caso de este proyecto, se han 
utilizado el sensor ultrasónico y el zumbador, indicando mediante pitidos la proximidad 
de objetos respecto a la parte delantera del vehículo. 
Como opción alternativa se ha llevado a cabo la impresión de un chasis en 3D. La 
impresión 3D, además de las facilidades y posibilidades que proporciona este proceso 
de fabricación, ofrece numerosas ventajas en el campo de la educación: fomentan la 
creatividad, así como la capacidad de resolución de problemas, ya que pueden 
transformar en objetos reales las ideas de los alumnos; capta el interés de los 
estudiantes, ya que estos pueden aprender de una manera más práctica y ver el resultado 
de sus diseños; y facilita la labor del profesor, entre otras cosas [17]. 
 
Figura 21. Montaje del chasis 3D por parte de un alumno 
30 
 
El chasis elegido es un diseño disponible en Thingiverse [18], que se muestra en la 
figura 21. A pesar de que este chasis se ha diseñado para llevar una placa de Arduino, 
también se puede montar una Raspberry Pi sobre él. Si bien es cierto que, al disponer de 
la posibilidad de usar impresoras 3D, la impresión 3D ha sido más barata que comprar 
un kit de chasis completo, al precio de esta opción habría que añadir la compra del resto 
de componentes, los cuales no se pueden imprimir, además de la incertidumbre de si se 
podrán conseguir en el plazo de tiempo marcado. Debido a esto, se decidió comprar el 
kit de chasis citado en primer lugar, y de manera paralela, comenzar la impresión y 
montaje de este chasis 3D. 
El programa para este chasis sería similar al utilizado para el chasis comprado, ya que el 
funcionamiento tanto de los motores traseros como del servomotor es similar en ambos 
chasis. 
31 
 
4. RESULTADOS DEL CURSO 
Para comprobar la adecuación de este curso de robótica educativa, se ha realizado una 
prueba en 3 alumnos de Secundaria, de 2º, 3º y 4º curso. Esta prueba ha consistido en 4 
sesiones de unas 2 horas de duración, en las que se han explicado en primer lugar las 
nociones básicas de cada etapa del proyecto, y en la que finalmente los alumnos han 
realizado el montaje de los componentes y la programación en Scratch, siendo 
corregidos sus errores y comentando las diferentes posibilidades elegidas. 
Al principio de la primera sesión se ha llevado a cabo una breve en cuesta de 
conocimientos previos anónima, en la que se pedía a los alumnos que valoraran del 1 al 
5 distintos aspectos de su formación en destrezas tecnológicas, siendo uno muy poco y 5 
mucho, además de otras preguntas sobre sus expectativas sobre el curso, quedando 
reflejadas en la tabla 3. 
TABLA 3. RESULTADOS DE LA ENCUESTA PREVIA AL CURSO 
Encuesta 1 2 3 
Conocimientos en electrónica 2 2 2 
Tiempo dedicado en clase a la 
electrónica 
4 4 3 
Conocimientos en programación 1 3 1 
Tiempo dedicado en clase a la 
programación 
2 4 2 
¿Te gustaría estudiar algo 
relacionado con la ingeniería o las 
tecnologías? 
Sí Sí Sí 
¿Qué esperas de este curso? Aprender las 
bases de 
programación 
Aprender sobre 
programación y 
electrónica 
Aprender 
a 
programar 
32 
 
¿Sabes de la existencia del algún 
curso similar a este? 
No No No 
 
A continuación, se han explicado los comandos básicos de Scratch, haciendo especial 
hincapié en la función enviar a todos, y el funcionamiento de los pines GPIO como 
entradas o salidas digitales y el PWM, con breves ejemplos ilustrativos. Finalmente, se 
ha creado el circuito del sensor ultrasónico y el zumbador y se ha añadido la cámara, 
creando la parte del programa correspondiente a estos componentes y comprobando su 
correcto funcionamiento. 
En la segundasesión, se ha explicado el funcionamiento de los controles DC, así como 
estos se manejan gracias al controlador de motores; y se ha llevado a cabo el montaje y 
programación de los mismos. Finalmente, se ha hecho el montaje completo con lo 
desarrollado en la primera sesión, terminando así la primera parte del proyecto, creando 
tanto el programa del vehículo dirigido como el del autónomo. 
En la tercera sesión se ha llevado a cabo el montaje y programación del robot sigue-
líneas. Para motivarlos a esforzarse al máximo, se ha enfocado como una competición 
entre todos, en la que el ganador será aquel cuyo programa haga que el robot tarde 
menos en dar una vuelta al circuito. En primer lugar, se ha explicado el funcionamiento 
del sensor infrarrojo y se han dado nociones básicas sobre el código a desarrollar, dando 
libertad a cada uno de desarrollar su programa de la manera que se haya considerado 
más adecuada. 
En la cuarta y última sesión, se ha explicado el funcionamiento del servomotor, así 
como los comandos necesarios para su programación en Scratch. Finalmente, se ha 
pedido a los alumnos que montaran en sensor ultrasónico y el zumbador en el chasis con 
el servo, y que lo programaran para un funcionamiento a control remoto desde el 
ordenador, en el que fuera posible controlar el ángulo de giro del vehículo. 
Tras terminar todas las sesiones, se ha realizado una segunda encuesta de evaluación, 
anónima también, en la que se han recogido las valoraciones y opiniones respecto a los 
conocimientos adquiridos y al propio curso de robótica educativa realizado. Estas 
respuestas quedan recogidas en la tabla 4. 
33 
 
 
TABLA 4. ENCUESTA FINAL CURSO ROBÓTICA 
Encuesta 1 2 3 
Valora lo que has aprendido en 
electrónica 
4 3 4 
Valora lo aprendido en programación 4 4 4 
Valora la adecuación del curso de 
robótica a tu nivel académico (1 muy 
fácil, 3 perfecto, 5 muy difícil) 
3 4 4 
¿Te apuntarías a otro curso similar? Sí Sí Sí 
¿Han aumentado tus ganas de estudiar 
algo relacionado con tecnologías? 
Sí Sí Sí 
¿Qué es lo que más te ha gustado del 
curso? 
Aprender a usar 
el detector 
infrarrojo 
Hacer el 
seguidor 
de líneas 
Programar 
en Scratch 
 
34 
 
5. PLANIFICACIÓN Y ENTORNO SOCIO-ECONÓMICO 
5.1. Planificación 
La planificación de este proyecto a sido determinante para poder realizarlo de manera 
satisfactoria y eficiente. Aunque en un primer momento se consideró la posibilidad de 
presentar el proyecto en la convocatoria de julio, siempre se consideró la convocatoria 
de septiembre como la más adecuada para poder compaginar las asignaturas pendientes 
con el proyecto, eligiendo finalmente esta opción. De esta manera, se realizó una 
planificación la cual seguir, mostrada en la figura 22, siendo esta flexible con los 
imprevistos que pudieran surgir y con el resto de actividades del curso. 
Durante el desarrollo del proyecto se han encontrado dificultades que han puesto en 
peligro el cumplimiento del calendario marcado. Entre ellas destacan los largos periodos 
de espera de algunos componentes, de hasta 4 semanas, los parones por exámenes y 
otros problemas relacionados con problemas con el hardware y el software que 
paralizaron durante un tiempo el desarrollo del proyecto. 
Estos problemas se han solucionado gracias a una correcta distribución de tareas, 
identificando qué se podía empezar en cada momento y dando prioridad a las tareas que 
Figura 22. Planificación del proyecto hecha con Tom's Planner 
35 
 
más tarde podían requerir un parón (necesidad de un nuevo componente, dudas en el 
programa, …), evitando así retrasos innecesarios. 
5.2. Entorno socioeconómico 
Dentro de esta sección se analizarán los gastos de cada fase y el presupuesto total, así 
como impacto que el proyecto o su explotación puedan tener económicamente, en la 
sociedad y en el medioambiente. 
5.2.1. Presupuesto 
En cada fase del proyecto se han producido una serie de gastos que quedan reflejados en 
la siguiente lista. 
• Fase inicial: en esta etapa solo hemos tenido el gasto en luz del ordenador. Las 
horas empleadas estimadas han sido 50h. 
• Partes del proyecto con el chasis de 2 ruedas. En este caso, hay que contabilizar 
el chasis, la Raspberry Pi, la cámara, la batería, las pilas, los cables, tornillos, el 
sensor de distancia, el sensor de infrarrojos, el zumbador, la protoboard, y la 
energía consumida tanto por la Raspberry Pi como por el ordenador durante las 
100 horas estimadas para esta fase. También hay que añadir el coste de las 
piezas impresas en 3D para el soporte. 
• Partes del proyecto con el chasis con el servomotor. En este caso hay que añadir 
el coste del kit del chasis con servomotor, por un lado, y el coste de impresión 
en 3D del otro chasis, más sus tornillos y rodamientos, por otro. Si bien es cierto 
que de estas dos opciones se podía haber elegido solo una para abaratar costes, 
para el presupuesto se tendrán en cuenta las 2. Para el consumo de energía del 
ordenador y la Raspberry se estipularán 75 horas. 
• Para el curso de robótica educativa simplemente se contabilizan 25 horas de 
consumo de ordenador y Raspberry, incluyendo las horas con alumnos como la 
preparación de las sesiones. 
• Finalmente, para el desarrollo de la memoria y la presentación se han empleado 
100 horas, utilizando para ello solo el ordenador. 
36 
 
Dentro de estos gastos, hay muchos materiales que son reutilizables en las distintas 
etapas, como la Raspberry Pi, la batería, o los cables. Además, hay que añadir los 
costes de mano de obra, considerada en 20€/h, y los correspondientes a la 
amortización del ordenador utilizado, que se ha considerado en 0,1. Todos los gastos 
quedan recogidos en la tabla 5. En cuanto a la impresora 3D, se han valorado tanto 
el material, amortización de máquinas y tiempo de trabajo empleado en imprimir las 
piezas en 50€. El consumo del ordenador se aproxima a 90W, y el de la Raspberry a 
1,8W, dando 31,5kWh y 0,36kWh respectivamente, en total 31,86kWh. 
 
TABLA 5. PRESUPUESTO 
 Cantidad Coste Total 
Horas de trabajo 350 20€/h 7000€ 
Amortización del ordenador 0,1 700€ 70€ 
Raspberry Pi 1 35€ 35€ 
Chasis robot 2 motores 1 9,68 9,68 
Chasis robot con servo 1 15,36€ 15,36€ 
Impresión 3D 50€ 50€ 
Cámara para Raspberry Pi 1 27,90€ 27,90€ 
Batería POWERADD 1 19,99€ 19,99€ 
Pilas AA 4 1,50€/4uds 1,50€ 
Controlador de motores 2 9,90€ 19,80€ 
Rodamientos 2 lotes 7,11€ + 8,80€ 15,91€ 
Cables 3 lotes 1,9 + 11,5 + 11,5 24,90€ 
37 
 
Tornillos 1 kit de surtido 27,50€ 27,50€ 
Sensor ultrasónico 1 2,40€ 2,40€ 
Sensor infrarrojo 1 8,95€ 8,95€ 
Zumbador 1 0,25€ 0,25€ 
Protoboard 1 6,99€/6uds 1,17€ 
Resistencias 3 0,20€ 0,60€ 
Electricidad 31,86kWh 0,139€/kWh 4,43€ 
SUBTOTAL 7335,34€ 
IVA 21% 1540,42€ 
TOTAL 8,875,76€ 
 
5.2.2. Impacto socio - económico 
El impacto que este proyecto puede tener ha sido analizado desde distintos puntos de 
vista: económico, social y ético. 
Por un lado, el impacto económico sería bastante negativo. El coste total de 8,875€, 
hace complicado recuperar la inversión, al menos a corto plazo. El el curso, a modo de 
actividad extracurricular, se podría cobrar a unos 50€/alumno. Considerando que la 
inversión en material se podría amortizar con el tiempo, a largo plazo se podría 
recuperar la inversión con un número elevado de alumnos. 
Por otro lado, en el entorno social, este curso ofrecería la posibilidad de una mayor 
formación de los más jóvenes en programación y robótica, lo que les ayudaría en un 
futuro profesional ligado a las tecnologías. Este aspecto es especialmente destacable en 
las zonas más rurales, donde el acceso a la formación en estas destrezas es más 
complicado, reduciendo así las desigualdades que esto genera. 
38 
 
En cuanto al entorno ético, en este curso se fomentarían valores como el esfuerzo, la 
inclusión o el trabajo en equipo, lo que contribuiría a laeducación en valores de los 
alumnos. 
39 
 
6. CONCLUSIONES 
6.1. Análisis de resultados 
Para una completa valoración de los resultados del curso de robótica educativa y del 
proyecto en general, se han llevado a cabo diferentes formas de evaluación. 
En cuanto al curso de robótica educativa, los resultados se pueden valorar en el 
desempeño de los alumnos, los conocimientos que han adquirido en el curso, y su 
desempeño durante el mismo. Estos indicadores se han intentado conseguir, entre otras 
maneras, con las encuestas de evaluación. Estas breves preguntas pretenden recoger el 
sentir de los alumnos respecto al curso, con el objetivo de utilizar estas opiniones para 
mejorar el curso de robótica de cara al futuro, adaptarlo a los diferentes niveles e incluso 
poder decidir futuras expansiones. Analizando los resultados de estas encuestas, el curso 
ha resultado satisfactorio para todos los alumnos, por lo que se considera un éxito la 
prueba realizada en esa pequeña muestra de tres alumnos. 
En la parte respectiva al proyecto, la mejor manera de conocer si los resultados son los 
esperados es mirar el cumplimiento de los objetivos marcados al principio del proyecto: 
• Se ha conseguido crear un curso de robótica educativa, en el que a lo largo de 
diferentes etapas se han explicado los conceptos de electrónica y programación 
necesarios para la realización del curso, teniendo estas etapas un trasfondo 
global y de unidad, guardando una estrecha relación entre todas ellas, y siendo 
complementarias unas de otras. 
• Si bien el presupuesto es muy elevado, el coste de la materia prima es 
relativamente barato. El uso de técnicas como la impresión 3D, así como la 
reutilización de componentes en diferentes proyectos, lo hace más accesible 
económicamente. 
• El nivel del curso se ha adaptado a los alumnos, teniendo en cuenta sus 
diferencias en cuanto a conocimientos previos y capacidades, dando una 
atención personalizada a cada uno con el objetivo de un máximo 
aprovechamiento del curso. También se ha valorado su opinión con las 
encuestas de evaluación anteriormente mencionadas. 
40 
 
Teniendo en cuenta todo esto, se puede decir que se han cumplido de una manera 
aceptable los objetivos marcados para este proyecto. 
6.2. Valoración personal 
En el aspecto personal, este proyecto ha servido para completar mi formación 
académica en habilidades como la búsqueda de información y la expresión escrita, entre 
otras. 
Por otro lado, ha aumentado mis conocimientos en el campo de los microprocesadores, 
especialmente sobre la Raspberry Pi, así como en la variedad de periféricos que hay, y 
los softwares disponibles, entre los que he descubierto las numerosas posibilidades que 
ofrece Scratch, especialmente en aquellas personas que se están iniciando en la 
programación. 
Finalmente, he aprendido mucho de la experiencia del curso de robótica, poniéndome 
del lado del profesor en esta ocasión, y descubriendo el trabajo que esto requiere y la 
recompensa que se obtiene al ver el resultado en los alumnos. 
Poniendo todo en conjunto, estoy satisfecho con el TFG realizado, tanto con la temática 
elegida como con el desempeño durante el proyecto. 
6.3. Futuras líneas de desarrollo 
Este curso de robótica educativa se podría ampliar por diferentes vías, las cuales 
permitirían un mayor aprovechamiento de los recursos utilizados y llevarían a los 
alumnos a profundizar más en los conceptos aprendidos. Entre estas posibles líneas de 
desarrollo futuro, se encuentran: 
• Trabajar con la interacción entre varios vehículos inteligentes, y no sólo de un 
vehículo con su entorno. Esto provocaría un entorno más cambiante e 
impredecible, a la vez que una situación más parecida a la realidad. 
• Avanzar en el uso de la cámara de la Raspberry Pi, como en aplicaciones de 
visión artificial capaces de identificar los objetos del entorno. Esta vía de 
desarrollo sería complicada de llevar a cabo en Scratch, por lo que 
correspondería a un nivel de programación superior al del curso de robótica 
realizado. 
41 
 
• Añadir diferentes sensores y periféricos, así como utilizar otros chasis que 
permitan expandir los horizontes de posibles aplicaciones y movimientos del 
robot, reduciendo sus limitaciones. 
 
42 
 
7. BIBLIOGRAFÍA 
[1] McKinsey Global Institute, "Jobs lost, jobs gained: workforce transitions in a time of 
automation", 2017. 
[2] Ministerio de Educación y Formación Profesional, "Programación, robótica y 
pensamiento computacional en el aula", 2018. 
[3] Informe jurídico cámaras on board. Agencia española de protección de datos, 2016. 
Disponible en: https://www.aepd.es/media/informes/informe-juridico-rgpd-camaras-on-
board.pdf. 
[4] C. González Hernando, "Qué beneficios que aporta la robótica a los niños", 
Guiainfantil.com, 2019. [En línea]. Disponible en: 
https://www.guiainfantil.com/articulos/educacion/aprendizaje/que-beneficios-que-
aporta-la-robotica-a-los-ninos/. [Acceso: 11 de mayo de 2019]. 
[5]"Zowi, el robot de Clan", Zowi.bq.com, 2019. [En línea]. Disponible en: 
http://zowi.bq.com/es/. [Acceso: 11 de mayo de 2019]. 
[6] "Ideas para aplicar la robótica en Secundaria", Innovando en Educación, 2017. [En 
línea]. Disponible en: http://www.innovandoeneducacion.es/ideas-aplicar-la-robotica-
secundaria/. [Acceso: 11 de mayo de 2019]. 
[7]"Cursos de Robótica para Secundaria | Robótica Educativa Logix5", Logix5.com, 
2019. [En línea]. Disponible en: https://www.logix5.com/roboticaeducativa/services-
item/cursos-de-robotica-para-secundaria/. [Acceso: 11 de mayo de 2019]. 
[8] Y. FM, "Qué es Arduino, cómo funciona y qué puedes hacer con uno", Xataka.com, 
2018. [En línea]. Disponible en: https://www.xataka.com/basics/que-arduino-como-
funciona-que-puedes-hacer-uno. [Acceso: 18 de mayo de 2019]. 
[9] A. Pascual, "Dos millones de razones para saber exactamente qué es Raspberry Pi", 
El Confidencial, 2013. 
[10] "Setting up your Raspberry Pi", 2019. [En línea]. Disponible en: 
https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up. [Acceso: 15 de junio 
de 2019]. 
https://www.aepd.es/media/informes/informe-juridico-rgpd-camaras-on-board.pdf
https://www.aepd.es/media/informes/informe-juridico-rgpd-camaras-on-board.pdf
https://www.guiainfantil.com/articulos/educacion/aprendizaje/que-beneficios-que-aporta-la-robotica-a-los-ninos/
https://www.guiainfantil.com/articulos/educacion/aprendizaje/que-beneficios-que-aporta-la-robotica-a-los-ninos/
http://zowi.bq.com/es/
http://www.innovandoeneducacion.es/ideas-aplicar-la-robotica-secundaria/
http://www.innovandoeneducacion.es/ideas-aplicar-la-robotica-secundaria/
https://www.logix5.com/roboticaeducativa/services-item/cursos-de-robotica-para-secundaria/
https://www.logix5.com/roboticaeducativa/services-item/cursos-de-robotica-para-secundaria/
https://www.xataka.com/basics/que-arduino-como-funciona-que-puedes-hacer-uno
https://www.xataka.com/basics/que-arduino-como-funciona-que-puedes-hacer-uno
https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up
43 
 
[11] M. Abellán, "¿Qué es GPIO? - Control de GPIO con Python en Raspberry Pi", 
Pogramo Ergo Sum, 2019. [En línea]. Disponible en: 
https://www.programoergosum.com/cursos-online/raspberry-pi/238-control-de-gpio-
con-python-en-raspberry-pi/que-es-gpio. [Acceso: 20 de junio de 2019]. 
[12] "Pololu DRV8835 Dual Motor Driver Kit for Raspberry Pi", Pololu.com, 2019. [En 
línea]. Disponible en: https://www.pololu.com/product/2753. [Acceso: 20 de junio de 
2019]. 
[13] "GPIO in Scratch 1.4 - Raspberry Pi Documentation", Raspberrypi.org, 2019. [En 
línea]. Disponible en: 
https://www.raspberrypi.org/documentation/usage/gpio/scratch1/README.md. 
[Acceso: 21 de junio de 2019]. 
[14] QTR-8A and QTR-8RC Reflectance Sensor Array User's Guide. 2014, p. Pololu 
Corporation. [En línea]. Disponible en: https://www.pololu.com/docs/pdf/0J12/QTR-
8x.pdf. 
[15]"QTR-8A (RC) line sensorbracket for robots", Thingiverse.com, 2019. [En línea]. 
Disponible en: https://www.thingiverse.com/thing:30516. [Acceso: 1 de julio de 2019]. 
[16] lestrat, "Técnica: Dirección – Principio de Ackermann", Decarreteres.com, 2015. 
[En línea]. Disponible en: https://decarreteres.com/2015/12/20/condicion-ackermann/. 
[Acceso: 3 de julio 2019]. 
[17] "Los beneficios de las impresoras 3D en la enseñanza", Mundo Digital. [En línea]. 
Disponible en: http://www.mundodigital.net/los-beneficios-de-las-impresoras-3d-en-la-
ensenan. 
[18] "4WD RC Smart Car Chassis for Arduino (or ESP)", Thingiverse.com, 2019. [En 
línea]. Disponible en: https://www.thingiverse.com/thing:2575467. [Acceso: 27 de julio 
de 2019]. 
 
https://www.programoergosum.com/cursos-online/raspberry-pi/238-control-de-gpio-con-python-en-raspberry-pi/que-es-gpio
https://www.programoergosum.com/cursos-online/raspberry-pi/238-control-de-gpio-con-python-en-raspberry-pi/que-es-gpio
https://www.programoergosum.com/cursos-online/raspberry-pi/238-control-de-gpio-con-python-en-raspberry-pi/que-es-gpio
https://www.pololu.com/product/2753
https://www.pololu.com/product/2753
https://www.raspberrypi.org/documentation/usage/gpio/scratch1/README.md
https://www.raspberrypi.org/documentation/usage/gpio/scratch1/README.md
https://www.pololu.com/docs/pdf/0J12/QTR-8x.pdf
https://www.pololu.com/docs/pdf/0J12/QTR-8x.pdf
https://www.pololu.com/docs/pdf/0J12/QTR-8x.pdf
https://www.pololu.com/docs/pdf/0J12/QTR-8x.pdf
https://www.thingiverse.com/thing:30516
https://www.thingiverse.com/thing:30516
https://decarreteres.com/2015/12/20/condicion-ackermann/
https://decarreteres.com/2015/12/20/condicion-ackermann/
http://www.mundodigital.net/los-beneficios-de-las-impresoras-3d-en-la-ensenan
http://www.mundodigital.net/los-beneficios-de-las-impresoras-3d-en-la-ensenan
http://www.mundodigital.net/los-beneficios-de-las-impresoras-3d-en-la-ensenan
http://www.mundodigital.net/los-beneficios-de-las-impresoras-3d-en-la-ensenan
https://www.thingiverse.com/thing:2575467
https://www.thingiverse.com/thing:2575467

Continuar navegando