131700unidad Didactica de Robotica Educativa LabsLand
131700unidad Didactica de Robotica Educativa LabsLand
Unidad didáctica
INICIACIÓN A LA PROGRAMACIÓN Y LA ROBÓTICA MEDIANTE EL LABORATORIO
REMOTO LABSLAND
-1-
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Índice de contenidos
2. Fundamentación y justificación 4
3. Marco legislativo 5
4. Intenciones educativas 5
4.1 Objetivos 5
4.2 Contenidos 6
4.2 Competencias 6
5. Temporalización 7
6. Metodología 8
6.7 Transversalidad 11
7. Actividades 12
-2-
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
7.7 Bucles 34
7.9 Condiciones 48
7.10 Variables 54
7.11 Funciones 59
8. Evaluación 75
9. Conclusión 79
-3-
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
2. Fundamentación y justificación
Esta Unidad Didáctica está dirigida al alumnado de las etapas de Educación Secundaria Obligatoria
(ESO) y Bachillerato, aunque podría ser susceptible de uso en otros cursos escolares teniendo en
cuenta la novedad de sus aprendizajes. Entre las asignaturas que más se relacionan con los
contenidos destacan Ciencia, Tecnología, Ingeniería y Matemáticas – disciplinas académicas
conocidas con el acrónimo CTIM o STEM en lengua anglosajona. A su vez, también tienen cabida el
resto de las asignaturas, como son la enseñanza de lenguas extranjeras, lengua castellana, educación
artística, por su gran componente transversal.
En esta Unidad se plantea fijar como objetivo principal el conocimiento de la robótica básica,
desarrollando actividades de control de robots que utilicen de forma acumulativa las distintas
herramientas que proporcionan los lenguajes de programación. La organización de las actividades
se basa en esta progresión.
Una vez impartidos unos fundamentos básicos de robótica y algoritmia, se familiariza al alumnado
con la interfaz de programación online usada para los experimentos prácticos y se proponen algunas
formas de interacción simple con los sistemas actuadores de los dispositivos disponibles. A
continuación, se explican los bucles de control, de forma que se pueda utilizar adecuadamente los
sistemas sensoriales, seguidos de las condiciones, variables y funciones, requeridas para producir
programas complejos de control.
La unidad termina con dos proyectos de programación de robots, para afianzar los conocimientos y
poner a prueba las habilidades adquiridas por los alumnos: en primera instancia se genera el sistema
de control de un robot que sigue un recorrido simple y, aumentando la complejidad del código
correspondiente, se permite encontrar la salida de un laberinto. Al finalizar este trabajo, se habrá
logrado que los alumnos no sólo hayan adquirido nociones de programación básica, sino que
además hayan podido observar su utilidad en un entorno práctico.
-4-
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
3. Marco legislativo
Es importante considerar que Cada Comunidad Autónoma deberá atender a la legislación vigente
en materia educativa que le corresponda para llevar a cabo su propia programación didáctica y
adaptarla de forma efectiva y eficiente.
4. Intenciones educativas
4.1 Objetivos
-5-
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
En cada una de las actividades que conforman esta unidad didáctica se detallarán los objetivos
específicos a los que cada una contribuye, con el propósito de lograr la adquisición del objetivo
general.
4.2 Contenidos
4.2 Competencias
Atendiendo a la Ley Orgánica 2/2006, de 3 de mayo, de Educación (LOE) esta Unidad Didáctica
contribuirá, por orden de prioridad, a la consecución de las siguientes competencias:
-6-
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Atendiendo a la Ley Orgánica 8/2013, de 9 de diciembre, de Educación (LOMCE) esta Unidad Didáctica
contribuirá, por orden de prioridad, al logro de las siguientes competencias básicas:
● Competencia digital
● Aprender a aprender
● Sentido de la iniciativa y espíritu emprendedor
● Competencia matemática y competencias básicas en ciencia y tecnología
● Comunicación lingüística
● Competencias sociales y cívicas
● Conciencia y expresiones culturales
5. Temporalización
El reparto de actividades se ha realizado de esta manera debido a que los conceptos se asimilan
mejor cuando se imparten en ese orden. Se pretende partir de los métodos más generales y sencillos
para finalmente llegar al objetivo final que es la programación de un robot que es capaz de salir de
un laberinto.
6. Metodología
-7-
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
El planteamiento metodológico que se llevará a cabo en esta Unidad Didáctica buscará la integración
de contenidos científicos, tecnológicos y organizativos, la capacidad de autoaprendizaje y la
capacidad para trabajar en equipo. Para alcanzar los objetivos educativos propuestos en el módulo,
la metodología que se plantea perseguirá, principalmente, fomentar la motivación y despertar el
interés de los alumnos y alumnas hacia los contenidos correspondientes y citados con anterioridad.
La existencia de unos principios metodológicos y unas estrategias se justifica porque debemos partir
de una forma de proceder didáctica, que facilite de manera activa, significativa, globalizadora,
constructiva y socializadora; la funcionalidad del proceso de enseñanza aprendizaje, bajo un clima
de afecto y confianza, y conforme a un entorno creativo, en el que se favorezca la igualdad de
oportunidades entre el alumnado.
● Ordenar las actividades didácticas de forma progresiva, de manera que los alumnos y las
alumnas tengan una guía sistemática y coherente que favorezca la consecución de los
aprendizajes
-8-
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Se recomienda al profesorado actuar como guía del proceso de aprendizaje, facilitando los recursos
necesarios a la vez que asesora y orienta la adquisición de conocimientos, habilidades, destrezas y
actitudes relacionadas con la programación y el ensamblaje de robots.
● Gran grupo
Podría ser interesante este modelo organizativo porque permite que todo el alumnado coopere para
realizar producciones que necesiten de implicación conjunta. A su vez, al presentar los proyectos de
robótica todos y todas podrían sugerir propuestas de mejora contribuyendo a la generación de
feedback satisfactorio.
● Pequeño grupo
Se podrían formar grupos de 3 y/o 4 personas para desarrollar actividades colectivas fomentando el
trabajo cooperativo y colaborativo. De este modo, surgirían mayor cantidad de opiniones e ideas a la
hora de realizar los diversos proyectos utilizando la técnica del Brainstorming o lluvia de ideas.
● Individuales
Este tipo de actividades se podrían realizar para una mayor introspección del alumnado. Además,
en los casos en los que no sea posible acceder al laboratorio remoto de forma conjunta, se recurrirá
a este estilo de agrupamiento.
Con el propósito de enriquecer e incentivar el desarrollo de las actividades, en esta Unidad Didáctica
nos serviremos de los siguientes recursos:
● Recursos humanos
-9-
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
○ Docente
○ Cuenta LabsLand
Atendiendo a la dificultad de cada una de las actividades y al tiempo estimado para la realización
de cada una de ellas, la organización temporal propuesta es la siguiente:
4 1 hora 1 hora
5 25 min 35 min
6 1 hora 1 hora
7 30 min 45 min
8 1 hora 1 hora
9 30 min 1 hora
- 10 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Los únicos espacios de trabajo requeridos para las actividades propuestas en esta Unidad Didáctica,
dentro del centro educativo, serán:
– Espacio Específico: El aula de informática, desde el que los alumnos puedan conectarse al
laboratorio remoto online de LabsLand
6.7 Transversalidad
Uno de los principios y fines de la educación según la Ley 2/2006, de 3 de mayo, de Educación (LOE)
y la Ley Orgánica 8/2013, de 9 de diciembre, para la mejora de la calidad educativa (LOMCE) que
se citan con anterioridad, es la educación en valores como la libertad personal, la responsabilidad,
la ciudadanía democrática, solidaridad, tolerancia, justicia, esfuerzo, cooperación, colaboración, etc.
Los temas transversales contribuyen de manera especial a la educación de valores morales y
cívicos, entendida ésta como una educación al servicio de la formación de personas capaces
de construir racional y autónomamente su propio sistema de valores y, a partir de ellos, capaces
también de enjuiciar críticamente la realidad que les ha tocado vivir, e intervenir para conseguir
su transformación y mejora (Temas transversales y desarrollo curricular, MEC, 1.993).
Los temas transversales que se trabajarán en esta Unidad Didáctica, a parte de los ya citados, son
educación para el consumidor y usuario, educación para la convivencia y paz, educación para los
derechos humanos, educación para la salud, educación ambiental y educación para la igualdad de
trato entre los sexos. Esto es así porque no se trata únicamente de que el alumnado aprenda a
programar, sino también de que adquiera valores para trabajar en equipo, lograr respetar a sus
iguales, crear proyectos que contribuyan a una mejora social y desarrollar sus habilidades creativas,
de forma que se aprovechen todos los contenidos para la creación de seres independientes y
autónomos en su proceso de aprendizaje.
- 11 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Sería interesante proponer al alumnado temáticas transversales, de forma que contextualice los
distintos proyectos relacionados con la robótica. De este modo, el alumnado se podría sentir más
motivado sabiendo que su producto podrá tener una utilidad y repercusión social.
7. Actividades
Las pautas específicas para organizar la distribución de las actividades se harán tomando como base
la secuencia de actividades de Merrill (activación, demostración, aplicación e integración) pero,
principalmente, atendiendo a las diferentes etapas del proceso de aprendizaje.
Cada una de las actividades se distribuye en actividades iniciales, donde se realizarán actividades
introductorias, de orientación y motivación, de detección y evaluación de conocimientos e ideas
previas con la finalidad de intentar modificar estereotipos y lograr un aprendizaje significativo.
También, en actividades de profundización, donde se expondrán los contenidos que se tratarán en cada
momento, empleando los medios disponibles y aplicando una metodología activa además de
proponer actividades individuales y/o grupales, orientadas a afianzar lo explicado. Por último, se
plasman actividades de consolidación, que tendrán que ver con actividades de investigación, diseño y
ejecución de proyectos.
Objetivos específicos:
Contenidos específicos:
● Definición de Robot
● Origen del término Robot
● Sistemas que componen un Robot (control, sensorial, actuación)
● Tipos principales del Robot (manipulativos, móviles)
Definición de Robot
Se conoce como "robot" a toda máquina programable capaz de realizar una o más actividades de
forma autónoma. Debe tener la capacidad de recoger información e interactuar hasta cierto punto
con su entorno, para modificar su conducta y así tomar decisiones sobre las funciones a realizar.
- 12 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
La palabra "robot" proviene del checo "robota", que significa "trabajo duro o forzado". Fue creada
por el escritor Karel Čapek en su obra de teatro "Robots Universales Rossum" (1920), aunque su uso
se extendió gracias a las obras de ciencia ficción del escritor estadounidense Isaac Asimov.
- El sistema sensorial, que engloba todos aquellos dispositivos anexos que le permitan recabar
información acerca de su entorno y su propio estado,
- El sistema de actuación, al que pertenecen todos aquellos elementos físicos del robot que le
permiten realizar acciones sobre su entorno o sobre sí mismo.
Por simplicidad, la estructura general y el comportamiento de un robot pueden compararse con los
de un ser humano. Así, el sistema de control de una persona correspondería a su cerebro, que
procesaría la información del sistema sensorial (los sentidos, receptores de dolor, niveles
hormonales, etc.) y controlaría la actividad del sistema actuador (movimiento de las articulaciones
y todas las funciones naturales de los órganos del cuerpo). En temas posteriores se observará que
los métodos de recogida de información y toma de decisiones de los robots son igualmente similares
a los de un ser humano.
- Los robots manipuladores se encuentran normalmente anclados a una superficie, pero están
formados por una cadena de articulaciones que les permite alcanzar y realizar acciones en puntos
concretos de sus proximidades. Estos son los robots que suelen encontrarse en las cadenas de
montaje de las fábricas. El elemento final de un robot manipulador, conocido como "efector final",
- 13 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
es con frecuencia intercambiable para poder realizar distintas acciones, tales como recoger objetos,
pintar o soldar.
- Los robots móviles no disponen de efectores finales, pero tienen la capacidad de desplazarse
por su entorno, generalmente mediante ruedas. Normalmente necesitan un sistema sensorial más
preciso y exhaustivo que los manipuladores, ya que su área de trabajo puede resultar menos
predecible que la correspondiente a una cadena de montaje.
Por supuesto, ambos tipos de robots podrían combinarse entre sí para producir una máquina más
compleja, pero desde el punto de vista de la programación, cada parte sería independiente.
PROPUESTA DE EJERCICIOS
Motivación: Se propone a los alumnos pensar en robots ficticios que hayan visto en el cine y la
televisión y analicen qué partes de ellos corresponderían a la robótica de manipulación y qué
partes a la robótica móvil, teniendo en cuenta que algunas partes podrían formar parte de ambas
modalidades o de ninguna de ellas.
Recursos: No se requieren
Tiempo: 20 minutos
- 14 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Solución: Por lo general, toda parte de un robot que tenga articulaciones y pueda desempeñar una
actividad concreta, aunque esta sea tan simple como la de una cámara de orientación variable, son
manipuladores, mientras que todo elemento que permita al robot cambiar su posición en el espacio
pertenece a la robótica móvil. Las piernas de los robots humanoides serían un ejemplo de ambas
modalidades, ya que tienen articulaciones que hay que programar pero producen un
desplazamiento.
Desarrollo: Se propone entonces a los alumnos usar la imaginación para diseñar sus propios
robots, combinando elementos de manipulación y móviles.
Agrupamiento: Individual
Tiempo: 30 minutos
Solución: Puesto que los alumnos probablemente se basarán sobre todo en elementos de ficción, no
se espera que el resultado sea realista, sólo que comprendan la diferencia entre la robótica de
manipulación y la móvil. De nuevo, es posible que incluyan partes que no correspondan a ninguna
de las dos, pero esto es admisible siempre que sepan darse cuenta de ello o argumentar
razonadamente si no están de acuerdo.
Consolidación: En grupos reducidos, los alumnos pondrán en común sus diseños y discutirán las
características de cada uno, proponiendo entre todos mejoras y combinándolos en un único
diseño, que al terminar mostrarán al resto de la clase.
Tiempo: 30 minutos
- 15 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Un laboratorio remoto de robótica es una plataforma que, mediante Internet, permite comprobar el
funcionamiento de los programas realizados sobre un robot real. A este entorno se accede de
diferentes maneras.
Como estudiante, necesitarás que tu profesor te especifique el link o la forma para acceder al
laboratorio.
Objetivos específicos:
● Conocer el interfaz del laboratorio remoto para acceder a sus diferentes secciones
Contenidos específicos:
● Definición de sitio web, mapa del sitio web.
- 16 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Cuando creas que el programa es correcto, clica en el botón “Verificar” y se habilitará el botón
“Enviar al robot”. Cuando envíes el programa al robot, tendrás la opción de elegir diferentes
circuitos.
El primer circuito se enviará el programa a cualquier robot, los otros dos, son específicos.
Después de elegir el tipo de circuito, visualizarás el robot. Para que el robot ejecute la lógica del
programa, tendrás que clicar en el botón “Programar en Arduino”.
- 17 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
En este punto, podrás interactuar con el robot y el programa que has creado. Para que el programa
se ejecute correctamente, antes de ejecutar el programa, es recomendable mover el robot al centro
del circuito con las flechas que se aprecian en la imagen.
Para volver al código visual y repetir indefinidamente el proceso, hay que darle al botón “Salir
ahora”.
Objetivos específicos:
● Desarrollar habilidades para la creación de diagramas de flujo
● Organizar actividades siguiendo el patrón de un algoritmo
Contenidos específicos:
● Definición de algoritmo
● Diagramas de flujo
- 18 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Aunque los algoritmos deben codificarse en algún lenguaje de programación para que pueda un
ordenador pueda ejecutarlos, existen formas alternativas de representarlos para facilitar su
comprensión por parte de las personas. Los diagramas de flujo sirven para tal fin y los elementos
más importantes que los componen son los siguientes:
Por ejemplo, supongamos que disponemos de las piezas necesarias para construir una silla o
taburete. Las instrucciones de montaje, junto a un posible código de programa y su correspondiente
diagrama de flujo, serían las siguientes:
- 19 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
PROPUESTA DE EJERCICIOS
Motivación: Se propone a los alumnos escoger una actividad que realicen de forma cotidiana y
describirla en forma de diagrama de flujo.
Agrupamiento: Individual
Tiempo: 20 minutos
Solución: Ha de tenerse en cuenta que cada alumno puede desempeñar la misma tarea siguiendo
diferentes pasos. Se ha de evaluar que se usen correctamente las distintas formas de los diagramas
de flujo (entrada y salida, acciones, datos y decisiones).
Desarrollo: Para contrastar los diferentes algoritmos que pueden describir una misma tarea, cada
alumno dirá en clase cuál ha escogido para el ejercicio anterior y se compararán aquellas que sean
similares.
Recursos: No se requieren
Tiempo: 20 minutos
Solución: El profesor debe permitir que los alumnos debatan acerca de la eficiencia de sus
algoritmos, asegurándose de que comprendan las restricciones temporales impuestas por los
mismos. Como norma, el orden propuesto para las acciones en un algoritmo tiene que respetarse.
- 20 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Consolidación: El profesor propondrá una tarea compleja que los alumnos deberán describir en
forma de algoritmo. Algunos ejemplos de ello podrían ser “ir a la Luna”, “llegar a presidente” o
“construir un robot”. La tarea no tiene por qué ser realista ni factible, puede permitirse que los
alumnos usen su imaginación y la fantasía.
Tiempo: 30 minutos
Solución: De nuevo, el profesor sólo debe comprobar que los elementos de los diagramas de flujo
se utilicen correctamente y que la secuencialidad de las acciones se respete.
Objetivos específicos:
● Identificar cómo se relaciona el movimiento de las ruedas del robot con el
movimiento del robot completo
● Aprender a programar el movimiento del Robot
Contenidos específicos:
● Definición de motor de corriente continua
● Programación del movimiento de un Robot
- 21 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Una característica básica de nuestro robot es su capacidad de moverse. Imaginemos que queremos
programar nuestro robot para que sea capaz de realizar cinco tipos de movimientos: avanzar,
retroceder, girar hacia la derecha, girar hacia la izquierda y girar sobre sí mismo. Debemos tener
en cuenta que estos movimientos deben darse utilizando únicamente dos motores y por lo tanto dos
ruedas. La configuración de velocidad para cada rueda en función del movimiento que queremos
realizar la podemos ver en la siguiente imagen:
Como vemos, los distintos movimientos que queremos generar dependen principalmente de la
diferencia de velocidad entre las dos ruedas. En el caso de que queramos que el robot se mueva
hacia la izquierda, tendríamos que dar una velocidad baja a la rueda izquierda y una velocidad alta
a la rueda derecha. Si quisiéramos que el robot avanzara o retrocediera, lo que tendríamos que hacer
es dar la misma velocidad a cada rueda. En la programación del robot, para la asignación de
distintas velocidades introduciremos valores entre 0 y 255; con ello conseguiremos generar las
distintas velocidades de rotación. En la siguiente imagen veremos dos ejemplos de programación,
una para el caso de avanzar y otra para la rotación hacia la izquierda:
- 22 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Vemos que en primer lugar avanzamos durante 2 segundos, para luego realizar un giro durante
otros dos segundos y vuelta al principio.
Vamos a ver ahora cómo construir este programa en el Laboratorio remoto. Lo primero es entrar en
la sección de “Ardublocks” y seleccionar la familia de bloques “Funciones”.
- 23 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Ahora vamos a añadir la velocidad de giro de los motores. Para ello, seleccionamos la familia de
bloques “Matemáticas” y arrastramos el primer tipo de bloques “Un número” a los huecos libres en
los bloques correspondientes al movimiento de los motores.
Un truco: cuando necesites el mismo tipo de bloque en diferentes lugares, puedes usar Ctrl+C y
Ctrl+V para copiar y pegar el mismo bloque y usarlo en otro lugar, con lo que ahorrarás el tiempo
de seleccionarlos de uno en uno.
De momento, este programa actuaría sobre los motores del robot pero no hemos definido cuánto
tiempo se tienen que mover los motores para que el robot haga lo que nosotros queremos. Para ello,
vamos a incluir bloques que controlen el tiempo a través de distintos retardos. Abrimos la familia
- 24 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Una vez que hemos construido nuestro programa tenemos que ejecutarlo en el robot para ver si
funciona como nosotros queremos. Al entrar en la sección “Zumoline” del laboratorio remoto
seleccionamos el programa que aparece en la sección “Tus programas” y lo cargamos en el robot
con el botón ”Programar”. Podemos ver en la parte central entorno como nuestro robot se mueve
siguiendo las órdenes que hemos programado. Este sencillo programa no nos permite controlar el
robot interactivamente, y lo más probable es que se acabe chocando con alguno de los límites del
entorno de operaciones del robot.
Para tener un mayor control sobre los movimientos del robot, el Laboratorio remoto incluye una
serie de botones programables con lo que podemos controlar el robot de forma interactiva. Vamos
a asignar a cada botón un movimiento del robot.
De vuelta a la sección “Ardublocks” vamos a construir un programa para que cuando pulsemos el
botón A, el robot avance, cuando se pulse el botón “B” el robot retroceda y que cuando se pulse el
botón “C” el robot gire.
Para ello, después de incluir un bloque de bucle infinito como en el ejemplo anterior, abriremos la
familia de bloques “Lógica” y añadiremos un bloque “si - hacer”, como vemos en la siguiente
imagen:
- 25 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Los bloques “si - hacer” ejecutan el bloque que conectemos en la parte “hacer” siempre que se
cumpla la condición expresada en el bloque que conectemos en la parte “si”. En nuestro ejemplo
queremos que cuando se pulsa un botón, el robot se mueva. Vamos a incluir el bloque que informa
de que un botón ha sido pulsado. Para ello, abrimos la familia de bloques “Botones” y arrastramos
a nuestro programa el bloque “Botón - como”. Este bloque nos permite asignar un nombre a los tres
botones disponibles en el interfaz del Laboratorio remoto. Asignamos los tres botones como vemos
en la siguiente imagen:
Ahora que hemos definido los nombres de los botones, podemos seleccionar el botón
correspondiente dentro del bloque “está pulsado”. Este bloque nos informa si un determinado botón
está pulsado y lo vamos a usar para conectarlo en el bloque condicional que hemos añadido
previamente como se ve en la siguiente imagen.
- 26 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
También hemos añadido los bloques que actúan sobre los motores como en el ejemplo anterior. En
este caso, como es el botón “adelante” la velocidad de los dos motores es la misma para que el robot
se mueva adelante. Se ha incluido también un bloque de espera para que los motores se muevan
durante ese tiempo, y un bloque “Cambiar velocidad de los motores” para mantener los motores
parados siempre que no se pulse un botón.
Ahora vamos a incluir los bloques correspondientes a los otros botones para que el robot gire o vaya
hacia atrás, como puede verse en la siguiente imagen:
- 27 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Igual que en el ejemplo anterior, vamos a la sección del Laboratorio remoto “Zumoline” y
programamos nuestro robot con el nuevo ejemplo. En este caso podremos controlar el movimiento
del robot de forma interactiva y remota usando los botones A (adelante), B (atrás) y C (girar). Este
programa es muy útil para usarlo en combinación con programas más complejos que requieran que
el robot comience en una posición inicial concreta. De esta forma podemos colocar manualmente
nuestro robot donde queramos.
Nota: en estos ejemplos hemos visto bloques condicionales, bucles, etc. De momento no es necesario
conocer cómo funcionan esos bloques en profundidad sino familiarizarse con el proceso de
construcción y ejecución de los programas en el Laboratorio remoto. En las siguientes actividades
se explicará en mayor profundidad cada familia de bloques.
PROPUESTA DE EJERCICIOS
Motivación: Escribir un programa en Blockly que permita al robot girar sobre sí mismo.
- 28 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Tiempo: 10 minutos
Solución: Basta fijar las velocidades de las ruedas al mismo valor, pero con distinto signo.
Desarrollo: Escribir un programa en Blockly que permita al robot realizar un recorrido compuesto
de todos los tipos de movimiento explicados.
Agrupamiento: Individual
Tiempo: 20 minutos
Solución: Se dejará libertad a cada alumno para crear la trayectoria que prefiera. Pueden utilizarse
todas las sentencias de programación de motores explicadas, pero siempre debe existir una
sentencia de espera después de cada modificación de las velocidades.
- 29 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Tiempo: 30 minutos
Solución: Se premiará que el recorrido seguido por el robot se asemeje lo más posible al planteado,
pero dando libertad a los alumnos para desarrollar su creatividad, aportando quizá elementos
nuevos al movimiento del robot, siempre que sepan explicar cómo los han programado.
Objetivos específicos:
Contenidos específicos:
- 30 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Como ya hemos comentado, el LED es un componente que emite luz, por lo tanto a la hora de
programar debemos tratarlo como un actuador. Como actuador, un diodo LED únicamente posee
dos estados, encendido (HIGH) o apagado (LOW) como cualquier actuador digital (es decir, uno o
cero).
Una vez sabemos la naturaleza de este tipo de componentes podemos pasar a programar el
encendido y apagado de uno de los LEDs del robot. Podemos ver un ejemplo en la siguiente imagen
donde encendemos uno de los LEDs integrados:
De esta forma podemos encender y apagar los LEDs integrados en el montaje del robot. Podemos
encontrar este bloque en el menú “Leds”, como se ve en la siguiente imagen:
- 31 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Para conseguir que un LED parpadee, lo primero que debemos hacer es encender el LED, como la
placa controladora del robot actúa muy rápido si programamos que apague el LED tras darle la
orden de encendido pasará de una orden a otra demasiado rápido y parecerá que el LED siempre
se mantiene encendido. Para evitar este efecto hay que esperar un tiempo mediante el bloque
Esperar. Este bloque hace esperar al programa el número de milisegundos que introducimos en su
interior; como queremos que el LED parpadee cada segundo, hemos puesto 1000 milisegundos
dentro del bloque. Tras esta espera podemos apagar el LED y, como el programa se ejecuta de forma
cíclica, debemos esperar otro segundo antes de volver al principio. En la siguiente imagen podemos
ver un ejemplo sobre la programación:
- 32 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
El bloque “Esperar” se encuentra en la sección “Tiempo”, como se puede ver en la siguiente captura:
Una vez hayamos construido nuestro programa, tendremos que ejecutarlo en el robot para ver si
funciona como nosotros queremos. Al entrar en la sección “Zumoline” del laboratorio remoto,
seleccionamos el programa que aparece en la sección “Tus programas” y lo cargamos en el robot
con el botón ”Programar”. Podemos ver en la parte inferior del entorno como el LED parpadea a la
velocidad que hemos establecido en nuestro código.
PROPUESTA DE EJERCICIOS
Motivación: Escribir un programa en Blockly que permita que dos LEDs parpadeen de forma
simultánea. El profesor guiará a los alumnos para permitirles llegar a la solución correcta.
Tiempo: 10 minutos
Solución: Puesto que los LEDs deben encenderse y apagarse al mismo tiempo, la solución es
sencilla:
- 33 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Desarrollo: Escribir un programa en Blockly que permita que dos LEDs parpadeen de forma
alterna.
Agrupamiento: Individual
Tiempo: 5 minutos
Solución: De nuevo, como los LEDs cambian a la vez, la solución es muy simple:
Consolidación: Escribir un programa en Blockly que permita que dos LEDs parpadeen a distintos
ritmos. Se propondrá a los alumnos que comiencen haciendo que uno de los LEDs parpadee el
doble de rápido que el otro, pero se permitirán otras combinaciones.
- 34 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Tiempo: 20 minutos
Solución: Como los LEDs ya no están sincronizados, los tiempos de espera y las acciones pueden
ser aleatorias, pero se debe respetar las siguientes restricciones
● Entre cada dos acciones asociadas a un mismo LED debe existir al menos un tiempo de
espera (pero estos tiempos no tienen por qué ser todos iguales)
● Las acciones de cada LED deben alternarse (apagar, encender, apagar, encender…)
● La primera y la última acción de cada LED deben ser opuestas (si se empieza encendiendo,
se debe acabar apagando y viceversa)
- 35 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
7.7 Bucles
Objetivos específicos:
Contenidos específicos:
Se denomina bucle de control a un segmento de programa cuya ejecución se repite de acuerdo a ciertas
condiciones. Cada repetición de un bloque de código se llama iteración. Existen varios tipos de bucle
de control, según las necesidades del código: el bucle while y el bucle for. Ambos pueden
encontrarse en el laboratorio remoto en el panel de “Bucles”.
- 36 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
El bucle while repite un bloque de código mientras que se cumpla una condición dada. Cuando esta
deja de ser cierta, el bucle termina y el programa continúa por donde iba. Volviendo al ejemplo del
tema 3 del montaje de una silla:
El programa comenzará por mirar si existen patas sin colocar. Como aún no se habrá colocado
ninguna, se entra en el bloque de código “fijar una pata al asiento” y, una vez ejecutado, se volverá
a evaluar la condición. Esto se repetirá hasta que la condición deje de ser cierta, cuando no queden
patas sueltas. Por ejemplo, para tres patas:
1. Comienzo
2. ¿Quedan patas sueltas? Sí, 3 → Fijar una pata al asiento
3. ¿Quedan patas sueltas? Sí, 2 → Fijar una pata al asiento
4. ¿Quedan patas sueltas? Sí, 1 → Fijar una pata al asiento
5. ¿Quedan patas sueltas? No → Fin
Algunos lenguajes de programación permiten usar una variante del bucle while conocida como do-
while (hacer-mientras). La única diferencia entre while y do-while es que en la primera opción
siempre se comprobará la condición del bucle antes de comenzar, mientras que en la segunda
siempre se realiza al menos una iteración antes de realizar la comprobación.
Esta diferencia puede parecer trivial, pero en ocasiones puede simplificar el trabajo del
programador. Por ejemplo, durante el montaje de la silla sabemos que empezamos sin ninguna pata
fija al asiento, así que al principio no haría falta hacer la comprobación:
- 37 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
hacer:
1. Comienzo
El bucle for repite un bloque de código para un número específico de iteraciones. Cuando se han
realizado todas las repeticiones, el bucle termina y el programa continúa por donde iba. Si se conoce
el número exacto de veces que se desea repetir un bloque, es mejor usar el bucle for que el bucle
while, ya que su ejecución es más sencilla para el ordenador.
Normalmente, un bucle for necesita una variable contador que permita al programa conocer en qué
iteración se encuentra. Esto se logra con un bloque “contar”.
- 38 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
En este caso, la variable pata comenzaría valiendo 1 e iría aumentando de 1 en 1 hasta llegar a 4
(incluído). Podemos usar el valor del contador de un bucle sacando un “elemento” de la pestaña
“Variables” del laboratorio remoto y asociándolo a la variable correspondiente.
Algunos lenguajes de programación permiten usar una variante del bucle for conocida como
foreach (para cada uno). Mientras que el bucle for va contando números para un rango dado,
foreach extrae elementos de un conjunto de datos y los va devolviendo de uno en uno, hasta
haberlos visitado todos.
Para nuestro ejemplo, suponiendo que tuviéramos un conjunto de datos que contuviese todas las
patas de la silla, foreach nos permitiría tomarlas de una en una en lugar de tener que recorrer dicho
conjunto manualmente. La principal ventaja de este método es que, si no conocemos el número de
elementos en nuestro conjunto de datos, podríamos recorrerlo dejando que el programa se ocupase
de averiguarlo por nosotros.
Digamos que llamamos “A”, “B” y “C” a las tres patas de un taburete, que tenemos guardadas en
una caja etiquetada como “patas”. Tendríamos dos formas de acceder a ellas:
- 39 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
1. Comienzo
2. N = 1
4. N = 2
6. N = 3
8. N = 4
fijar P al asiento
1. Comienzo
2. P es la pata A
- 40 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Es importante recordar que nada impide anidar un bucle de control dentro de otro. Por ejemplo, si
quisiéramos revisar que una baraja de cartas francesa estuviera completa buscando sus cartas una a
una, podríamos hacer:
Es posible salir de un bucle si a medio camino decidimos que no queremos esperar hasta el final.
Esto se logra con una sentencia break (romper), que simplemente envía la ejecución a la siguiente
línea justo después del bucle. Si no hay ninguna, el programa termina.
También es posible decidir durante una iteración que preferimos no terminarla y pasar a la
siguiente. Esto se logra con una sentencia continue (continuar con la siguiente iteración).
PROPUESTA DE EJERCICIOS
Motivación: ¿Cómo sería el programa que hiciese avanzar al robot hasta que si sensor central
detectase una línea negra? ¿Sería mejor usar un bucle while o un bucle for?
- 41 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Agrupamiento: Individual
Tiempo: 10 minutos
Solución: En este caso es mejor utilizar un bucle while porque no existe un número conocido de
elementos a recorrer. La velocidad inicial y el umbral de detección se pueden ajustar según
prefiera el alumno.
Desarrollo: ¿Cómo sería el programa hiciese acelerar progresivamente al robot en línea recta,
hasta que cada motor llegase a 50, y entonces se detuviese? ¿Sería mejor usar un bucle while o
un bucle for?
Tiempo: 20 minutos
- 42 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Solución: En este caso es mejor utilizar un bucle for porque sí se sabe de antemano qué elementos
hay que utilizar: serán todos los números naturales de 0 a 50. Es posible, si los alumnos lo desean,
fijar un valor de aceleración distinto a 1.
Hay que recordar que el contador del bucle se crea automáticamente como una variable, así que
para utilizar su valor deberemos irlo a buscar a dicha pestaña en el laboratorio remoto.
Consolidación: Queremos que el robot gire en el sentido de las agujas del reloj y frene su rotación
gradualmente hasta detenerse, para entonces comenzar a acelerar girando sobre sí mismo en
sentido opuesto. Si queremos utilizar un único bucle para todo el proceso, ¿cómo debería
programarse?
Tiempo: 30 minutos
Solución: Basta utilizar un bucle for que vaya de un valor de velocidad negativo a uno positivo (o
viceversa) y lo aplique con distinto signo en ambos motores. De esta forma se obtiene una
transición suave de un sentido de rotación a su contrario.
- 43 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Objetivos específicos:
Se trata de un componente digital, es decir, que únicamente devuelve dos valores: cero y uno.
Cuando detecta negro devuelve el valor cero (el negro absorbe la luz, por tanto la luz reflejada, que
es lo que mide el sensor, es cero) y cuando detecta blanco el valor es uno.
- 44 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Por otra parte, también existen otro tipo de sensores de infrarrojos que son capaces de devolver la
distancia a la que se encuentran de un determinado objeto; estos sensores se conocen como sensores
IR analógicos. El robot disponible en Zumoline tiene instalados sensores IR analógicos.
Para ver las medidas tomadas por este sensor podemos usar distintos dispositivos, aunque para este
ejemplo usaremos el puerto serie disponible en el Zumoline. El puerto serie no es más que una
herramienta que nos ayuda a tener información por pantalla de lo que ocurre en nuestro robot. En
la siguiente imagen podemos ver dónde se localiza el monitor serial en el entorno Zumoline (parte
inferior derecha del entorno).
La configuración del sensor hará que devuelva la distancia que este ha recogido. La programación
del sensor sería la siguiente:
- 45 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Una vez sabemos cómo funciona, podemos pasar a montar un sensor de proximidad como el que
usan los coches para ayudarnos a aparcar mientras damos marcha atrás. Para este montaje, además
de nuestro sensor y una placa Arduino, necesitaremos utilizar el LED incorporado en Zumoline.
Haremos un pequeño programa que, cuando la distancia sea menor de 50 cm, haga parpadear el
LED a modo de señal. La frecuencia de la misma irá aumentando a medida que el objeto se aproxima
al sensor. De esta manera, podremos simular un sensor de aparcamiento para nuestro robot. La
programación para el sensor de proximidad es la siguiente:
Para que este ejercicio funcione de forma correcta, hay que combinarlo con el movimiento del robot.
De otro modo, el valor mostrado por el sensor siempre es el mismo, debido a que el robot no está en
movimiento.
- 46 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
PROPUESTA DE EJERCICIOS
Motivación: Escribir un programa en Blockly que permita que un LED parpadee cuando
detectamos un objeto cerca por medio del sensor de infrarrojos. El LED debe parpadear cada vez
más rápido en función de la cercanía del objeto y, si el objeto está lo suficientemente lejos, el LED
debe mantenerse encendido.
Agrupamiento: Individual
Tiempo: 15 minutos
Solución: La solución a este problema es muy parecida a la implementación del ejemplo del LED
inicial. Al igual que para aquel caso, para que este ejemplo sea mucho más visual hay que añadir
algo de movimiento al robot, para así ver cómo evolucionan las medidas. Aunque no se incorpore
el movimiento del robot, lo que interesa en este caso es comprender cómo funciona el sensor de
infrarrojos y no las medidas que pueda devolver, de modo que una solución válida para este
problema es la siguiente:
- 47 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Desarrollo: Escribir un programa en Blockly que permita enviar por comunicación serial la
distancia que miden cada uno de los sensores del robot.
Agrupamiento: Individual
Tiempo: 15 minutos
- 48 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Agrupamiento: Individual
Tiempo: 15 minutos
Solución: La solución para esquivar los obstáculos que se encuentran en la derecha es girar hacia
la izquierda, así que el código es el siguiente:
7.9 Condiciones
Objetivos específicos:
- 49 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Contenidos específicos:
Se denomina sentencia condicional a aquella que determina si se cumple una determinada condición
y toma la decisión de ejecutar o no un determinado bloque de código.
El elemento principal de un bloque condicional es la sentencia if (si), que engloba a aquellas líneas
del programa que deban ejecutarse en función de su condición. Por ejemplo, supongamos que
quisiéramos decidir algo lanzando una moneda: si sale "cara", lo hacemos; si sale "cruz", no.
Recordemos que los bloques condicionales se encuentran en la pestaña “Lógica” del laboratorio
remoto.
Se podría decidir tomar una acción alternativa en el caso de que la condición inicial no se cumpliese.
Esto se consigue mediante la sentencia else (si no), que siempre debe ir asociada a una sentencia if:
if puede aparecer sin else, pero else no puede aparecer sin if.
Se pueden tomar decisiones más complejas anidando sentencias condicionales. Por ejemplo,
supongamos que tenemos tres acciones a realizar, A, B y C, y queremos decidir cuál llevar a cabo
lanzando un dado. Si el resultado es 1 ó 2, realizamos la acción A; si es 3 ó 4, la acción B; y en el resto
de casos (5 ó 6), la acción C.
- 50 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
De forma intuitiva esto podría codificarse incluyendo un bloque if/else dentro de otro, pero la
mayoría de lenguajes de programación permiten simplificar esta organización mediante la sentencia
else if (si no, si), que funciona de la siguiente manera:
equivale a:
Siempre pueden añadirse tantos else if como se desee. Algunos lenguajes de programación
permiten resumir un poco más este código mediante los bloques switch (selección), que permiten
comparar un valor dado con varias posibilidades de forma secuencial. Su funcionamiento habitual
es el siguiente:
- 51 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
selección (dado) {
caso 1:
caso 2:
si (dado = 1) ó (dado = 2):
hacer A
hacer A
salir
si no, si (dado = 3) ó (dado = 4):
equivale a: caso 3:
hacer B
caso 4:
si no:
hacer B
hacer C
salir
resto:
hacer C
Cuando en un bloque de selección se encuentra el caso deseado (case en C++), se comienza a ejecutar
código, entrando incluso en el correspondiente a otros casos, hasta encontrar la orden de salida
(break en C++). Esto permite asociar una misma acción a varios casos. Opcionalmente se puede
indicar qué hacer si no se satisface ninguno de los casos, mediante la etiqueta “resto” (default en
C++); esta etiqueta siempre debe ir al final del bloque de selección, así que su bloque de código no
necesita terminar en una orden de salida.
Por ejemplo, supongamos que “dado” vale 3. En el segmento de código propuesto, la ejecución
descartaría los casos 1 y 2, pero aceptaría el 3. El caso 3 no tiene código asociado, pero se continuaría
ejecutando dentro del caso 4 y se haría “B”. Sólo cuando se encuentra la orden de salida a
continuación, el bloque de selección termina y se continúa con la ejecución normal del programa.
Bloque de selección
Existe un operando que permite escoger rápidamente entre dos valores sin necesidad de recurrir a
un bloque if. En C++, la línea “condición ? a : b” devolverá a si la condición es cierta y b si no lo es.
En el laboratorio remoto, esto se consigue con el bloque “prueba”:
- 52 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
PROPUESTA DE EJERCICIOS
Motivación: Se propone a los alumnos recordar decisiones complejas que hayan debido tomar
recientemente y, entre todos, escribirlas en forma de programa mediante bloques condicionales.
Recursos: Pizarra
Tiempo: 20 minutos
Solución: La estructura de los bloques condicionales es sencilla, basta evaluar cada posible
condición de una en una o por grupos. Por ejemplo, digamos que, si hace frío en la calle,
deberemos coger una chaqueta y fijarnos si llueve o no para coger un paraguas, mientras que en
caso contrario, si hace mucho sol, deberemos coger una gorra. El código correspondiente sería:
si (llueve):
cojo un paraguas
- 53 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Desarrollo: Los bloques condicionales se pueden combinar con los bucles. Queremos que nuestro
robot acelere progresivamente hasta 50, pero que si detecta una línea negra ante él rompa el bucle
y se detenga. ¿Cómo debería ser su programa?
Agrupamiento: Individual
Tiempo: 20 minutos
Solución: Ambos casos se vieron en la actividad 7.6, pero una debía manejarse mediante un bucle
for y la otra mediante un bucle while. De momento los alumnos no pueden combinar ambas
opciones porque sería necesario usar variables, que se verán en la actividad 7.9. Sin embargo,
usando el bucle for como base para la aceleración, se puede utilizar el bloque “romper el bucle”
para salir de él al detectar la línea.
Consolidación: Queremos que nuestro robot realice ciertas acciones según los valores que le
proporcione un bucle for que va desde 1 hasta 10:
- 54 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
● De otro modo, si el resto de dividir el número entre 5 es menor que 2, el robot se detendrá
durante un segundo.
Tiempo: 20 minutos
- 55 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
7.10 Variables
Objetivos específicos:
Contenidos específicos:
Llamamos variable a un fragmento de memoria que un programa reserva para guardar un dato. A
efectos prácticos, una variable es un contenedor en el que se guarda un valor, para poderlo usar más
adelante. En temas anteriores hemos visto usar datos varias veces, como por ejemplo los contadores
de los bucles. De forma interna, un programa necesita crear una variable siempre que haya un
elemento que pueda cambiar de valor.
Recordemos que, en el laboratorio remoto, podemos crear y acceder a nuestras variables dentro de
la pestaña “Variables”. Haciendo click en el nombre de una variable (por defecto, “elemento”)
podemos cambiar su nombre o crear una nueva. En el menú desplegable aparecerán todas las
variables que se hayan creado hasta el momento.
- 56 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Se llama ámbito de una variable al trozo de programa en la que esta puede usarse. El ámbito de una
variable siempre comienza con su declaración, pero si esta ocurre en un bloque de código
delimitado, como por ejemplo dentro de un bucle o una sentencia condicional, la variable dejará de
existir cuando la ejecución salga de su bloque.
Una variable que se declara dentro de un bloque limitado de código se llama variable local, mientras
que una variable que se crea al comienzo del programa y puede verse durante toda la ejecución se
llama variable global.
para (i desde 1 hasta 4): ….. declaración de la v. local i que se usa como contador
suma = 0
suma = suma + n
- 57 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
PROPUESTA DE EJERCICIOS
Tiempo: 20 minutos
Al final de cada iteración del bucle, la variable b contendrá el siguiente valor de la secuencia,
mientras que a recordará el valor anterior de b.
Desarrollo: Una operación que suele necesitarse en programación pero muy pocos lenguajes
incluyen es la de intercambio de valores. Si tuviéramos dos variables, A y B, y quisiéramos
intercambiar sus valores, necesitaríamos una variable auxiliar C. ¿Cómo debería realizarse esta
operación?
Agrupamiento: Individual
- 58 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Tiempo: 20 minutos
o bien
Consolidación: Queremos que, cuando presionemos uno de los botones, nuestro robot comience
a avanzar y continúe moviéndose incluso si hemos soltado el botón. Cuando lo pulsemos de
nuevo, deberá detenerse hasta que lo volvamos a pulsar. ¿Cómo podemos programar esto?
Tiempo: 20 minutos
Solución: Necesitaremos crear una variable que recuerde si el botón ha sido pulsado o no, para
saber si se debe avanzar. Ante todo, necesitaremos crear esta variable y darle un valor inicial. ¡Pero
no debe ir dentro del bucle principal! Si la pusiéramos ahí, su valor se reiniciaría en cada paso y el
robot nunca podría moverse. Esta vez tendremos que ponerla en el bloque “Arduino
configuración” para asegurarnos de que sólo se le dé el valor inicial una vez.
- 59 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Cada vez que se pulse el botón, esta variable cambiará de valor para informar al programa de qué
debe hacer. Aunque podríamos manejar estos valores como quisiéramos, como sólo existen dos
opciones (avanzar o no avanzar), lo más eficiente es crear una variable de tipo booleano, es decir,
que sólo pueda ser verdadera o falsa. Invertir el valor de una variable de este tipo es muy sencillo:
basta decirle que su valor es el contrario al que tuviera antes, usando el bloque de lógica “no”.
7.11 Funciones
Objetivos específicos:
- 60 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
retorno
Contenidos específicos:
● Definición de función
● Llamadas a funciones
● Funciones con retorno
Definición de función
Una función es un conjunto de sentencias que realizan una o varias tareas y que está pensado para
ser reutilizado a lo largo de un programa. Cuando una función termina puede devolver un valor
(funciones con retorno) o no devolver nada (funciones sin retorno).
Imaginemos que queremos que nuestro robot haga un baile que consista en una secuencia de giros.
Supongamos también que queremos que nuestro robot haga este baile en diferentes partes de
nuestro programa. Con lo que hemos visto hasta ahora, tendríamos que repetir el código del baile
en las partes que quisiéramos usarlo. Esto hace que nuestro programa crezca en tamaño y se haga
complicado mantenerlo, ya que cuando queramos modificar el baile tendremos que cambiar el
código en diferentes partes del programa. ¿No sería más fácil usar siempre los mismos bloques?
Definiendo la función
Llamando a la función
- 61 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Los bloques de una función no se ejecutan a no ser que llames a la función. En las partes de nuestro
programa en las que queramos hacer bailar a nuestro robot, llamaremos a la función. Para ello hay
que usar el bloque con el nombre de la función que hemos creado previamente.
En esta sección del programa encendemos un LED y llamamos a nuestra función “bailar” si el botón
A está pulsado y apagamos el LED y hacemos bailar a nuestro robot si el botón A no está pulsado.
Como vemos, al usar funciones no hemos tenido que repetir el código que hace bailar al robot dos
veces.
Las funciones con retorno son iguales que las funciones normales, pero cuando terminan de
ejecutarse devuelven un valor. A veces, cuando llamamos a una función no estamos sólo interesados
en que se realicen una serie de tareas, sino en obtener el valor resultado de una serie de operaciones.
Es en estos casos en los que son útiles las funciones con retorno.
Supongamos, por ejemplo, que queremos calcular el módulo de un vector. El módulo es la distancia
del segmento orientado que define al vector. Si tenemos las componentes x e y del vector, su módulo
es √𝑥 2 + 𝑦 2 . Vamos a definir una función que calcule el módulo de un vector asumiendo que
hemos definidos dos variables globales x e y.
- 62 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
PROPUESTA DE EJERCICIOS
Tiempo: 20 minutos
Solución: Necesitaremos dos funciones, una para f y otra para g, y deberemos cambiar el valor de
las variables globales x y z con cuidado para que cada función pueda acceder al valor correcto. Se
debe tener cuidado con la prioridad de los operadores.
- 63 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Desarrollo: ¿Cómo se programaría la función f(x) = g(h(2x)) + h(x+1), donde g(a) = 1/(1+a) y h(b) =
b2 + b?
Tiempo: 30 minutos
- 64 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Consolidación: ¿Cómo se escribiría una función de x que calcule la suma de todos los números
impares desde 1 hasta x, si x es impar, y de todos los números pares desde 2 hasta x, si x es par?
Habrá que combinar funciones, variables, condiciones y bucles.
Agrupamiento: Individual
Tiempo: 30 minutos
- 65 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Objetivos específicos:
Contenidos específicos:
- 66 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Un robot sigue-líneas utiliza los sensores de infrarrojos para detectar si el suelo es blanco o negro;
de esta forma puede saber si está encima de una línea o no. El robot que se propone en esta actividad
utiliza dos sensores de infrarrojos para saber no sólo si está encima de una línea, sino también para
saber en qué dirección debemos corregir el movimiento del robot si éste va a abandonar la línea.
A continuación, se explican los posibles estados en los que puede estar nuestro robot en función de
las lecturas de los sensores.
Sensores Motores
Acción deseada
izquierdo derecho izquierdo derecho
Para saber si el robot está encima de una línea negra, debemos leer el estado de los dos sensores de
infrarrojos. Utilizaremos los bloques “leer sensores de línea” seguido de “Lectura en sensor situado
en...” para obtener las lecturas de los distintos sensores de infrarrojos. Los sensores de infrarrojos
dan un valor comprendido entre 2000 (negro) y 0 (blanco).
Para actuar sobre los motores usaremos unos bloques preparados para ello. Estos son los bloques
“Establecer velocidad del motor” o “Cambiar velocidad de los motores”. En la siguiente imagen
podemos ver un ejemplo con esos bloques.
- 67 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Ahora tenemos que programar el movimiento del robot para que haga su función, que es seguir una
línea negra sobre un fondo blanco. Pensemos un poco en ello…
- 68 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
- 69 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
De los cuatro estados vistos se pueden extraer cuatro sencillas reglas que relacionan los sensores con
las ruedas y que nos serán muy útiles para hacer nuestro programa en Blockly:
Definimos la variable “negro” para establecerla como umbral de claridad a partir del cual se
considera que el robot está viendo una línea. Definimos también la variable “vel_giro” para
establecer la velocidad con la que giran los motores.
PROPUESTA DE EJERCICIOS
- 70 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Recursos: No se requieren
Tiempo: 10 minutos
Solución: No de forma eficiente. Con un solo sensor, el robot sólo puede detectar si ve una línea o
no, así que sólo podría avanzar hasta la primera curva y se perdería. Sin embargo, con un sensor
que detectase colores podría pintarse una línea que le permitiese saber hacia dónde se está
desviando, de forma que pudiese corregir su trayectoria.
Desarrollo: Copiar el código mostrado a la interfaz gráfica del laboratorio remoto y ejecutarlo. Si
no funciona correctamente, ¿qué debe hacerse?
Tiempo: 30 minutos
Solución: Las variables globales negro y vel_giro controlan el funcionamiento del robot. Cuando
se ejecute por primera vez, habrá que ajustarlas según las características de la máquina: si el
- 71 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
movimiento es inestable, hay que reducir vel_giro y si no se ve correctamente la línea, hay que
modificar negro.
Consolidación: ¿Cómo podemos modificar el código para que el robot intente evitar la línea en
lugar de seguirla?
Agrupamiento: Individual
Tiempo: 30 minutos
Solución: Basta invertir las reglas del programa. Si un sensor ve negro, debe detener la rueda del
lado opuesto para girar en dirección opuesta. Dicho de otro modo, en el código del programa basta
modificar la dirección de la desigualdad: si la lectura de los sensores es menor que negro (es decir,
ve la línea), se realizan las acciones que se habrían llevado a cabo si no se viese la línea:
Objetivos específicos:
Contenidos específicos:
- 72 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
En esta actividad vamos a desarrollar un robot que pueda encontrar la salida de un laberinto. ¿Qué
harías tú si te pierdes en un laberinto?
Una forma sencilla de encontrar la salida es usando la “regla de la mano izquierda” o la “regla de la
mano derecha”. Esta forma de resolver el laberinto consiste en tocar la pared izquierda y, sin
despegar la mano, ir avanzando (también funciona con la pared derecha).
Para realizar esta actividad vamos a usar lo que hemos aprendido en la actividad anterior del sigue-
líneas. Para ello, vamos a pintar un laberinto formado por líneas como el que vemos en la figura.
Nuestro robot tendrá dos sensores de infrarrojos para seguir las líneas del laberinto, igual que en la
actividad anterior. Pero también tendrá tres sensores de infrarrojos más en forma de triángulo para
detectar las intersecciones. En la figura vemos un esquema con la posición de los sensores.
- 73 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
La regla de la mano izquierda se puede traducir en estas sencillas reglas con las que programaremos
nuestro robot:
En el movimiento normal del robot por el laberinto, se usa el mismo código de la actividad anterior
para seguir las líneas pero, además, a través de los bloques “Leer sensores de línea” y “Lectura del
sensor situado en...” el robot debe consultar constantemente sus sensores para saber si está en una
intersección.
Vamos ahora a definir una serie de funciones que permitirán girar al robot en las intersecciones.
Usaremos los sensores sigue-líneas para girar hasta que el robot se coloque en su nuevo camino,
tanto si gira a la izquierda como si gira a la derecha. En la siguiente imagen se muestra la función
para girar a la derecha. La función para girar a la izquierda sería igual, pero deteniendo el motor
izquierdo y haciendo girar el motor derecho.
- 74 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
La función para girar primero hace avanzar al robot durante un tiempo, para que al girar pueda
encontrar la línea correspondiente a la intersección. Posteriormente, empieza a girar y distingue dos
estados diferentes. Primero, mantiene el giro hasta que los sensores sigue-líneas detecten que han
abandonado la línea. Luego, en el siguiente bucle mantiene el robot girando hasta que alguno de los
sensores sigue-líneas detecta la nueva línea. Una vez detectada la línea, se detiene.
Ahora que hemos definido las funciones para girar, vamos a ver cómo se traducen las reglas
anteriores al código en Blockly.
PROPUESTA DE EJERCICIOS
Recursos: No se requieren
Tiempo: 10 minutos
Solución: Estaríamos en el caso del robot sigue-líneas. Este podría avanzar por el laberinto en línea
recta hasta encontrar una esquina o un callejón sin salida, pero no podría girar en las bifurcaciones,
así que sólo podría alcanzar el final de laberintos muy sencillos.
- 75 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Desarrollo: Copiar el código mostrado a la interfaz gráfica del laboratorio remoto y ejecutarlo. Si
no funciona correctamente, ¿qué debe hacerse?
Tiempo: 30 minutos
Solución: De nuevo, las variables globales negro y vel_avance controlan el funcionamiento del
robot. Cuando se ejecute por primera vez, habrá que ajustarlas según las características de la
máquina: si el movimiento es inestable, hay que reducir vel_avance y si no se ve correctamente la
línea, hay que modificar negro.
Consolidación: ¿Cómo podemos modificar el código para que el robot intente siempre ir en línea
recta y, si debe girar, intente hacerlo primero hacia la derecha?
Agrupamiento: Individual
Tiempo: 20 minutos
Solución: Basta modificar las reglas del programa. Primero se deberá comprobar si el sensor central
ve línea, luego el derecho y luego el izquierdo. Las acciones correspondientes a cada uno se
mantienen:
- 76 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
8. Evaluación
Para proceder a la evaluación de las distintas actividades que conforman esta Unidad Didáctica se
tendrán en cuenta los siguientes criterios de evaluación:
Actividad 2
Conoce y sabe acceder a las diferentes secciones del sitio web del
Conociendo la interfaz
Laboratorio Remoto
del Laboratorio Remoto
Actividad 4 Identifica cómo se relaciona el movimiento de las ruedas del robot con
Nuestro primer el movimiento del robot completo
programa en el
Laboratorio remoto: Programa el movimiento del robot
moviendo el robot
- 77 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Haciendo referencia a los procedimientos de evaluación, en un aula escolar se recomienda realizar una
evaluación continua y sumativa de todas las actividades y procesos realizados en cada unidad
didáctica, entendiéndose como tal el seguimiento individualizado del alumnado y la valoración de
los logros en su proceso de aprendizaje.
Sería interesante llevar a cabo, de modo continuo y sistemático, una observación directa de las
aportaciones de los alumnos y alumnas realizadas durante las clases, de su participación en la
dinámica del aula y de la constancia en sus tareas. También, analizar las producciones del alumnado,
- 78 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
los intercambios orales con ellos y ellas, participación activa, actitudes e intereses por ampliar
conocimientos; usando las técnicas de autoevaluación, hetero-evaluación y co-evaluación.
● Diario del profesor/a: donde anotará día a día cómo se van desarrollando las actividades,
incidencias, observaciones, etc.
● Hoja de seguimiento del alumnado: aquí quedarán reflejadas las faltas de asistencia,
entrega de trabajos, etc.
● Trabajos individuales y grupales: Hay que tener en cuenta que el trabajo de la informática
tiene un gran componente cooperativo que puede aprovecharse para el desarrollo de la
competencia social y cívica.
● Rúbricas: Se utilizarán estas guías de puntuación para evaluar el trabajo del alumnado que
describirán las características específicas de un producto, proyecto o tarea en varios niveles
de rendimiento, con el fin de clarificar lo que se espera del aprendizaje de ellos y ellas, de
valorar su ejecución y de facilitar la retroalimentación o feedback, permitiendo a su vez
facilitar la autoevaluación y la co-evaluación.
A continuación, se incluye una rúbrica que podría ayudar a la evaluación del trabajo en equipo realizado
en actividades de programación de un Robot en esta unidad didáctica:
Categoría de 4 3 2 1
Evaluación (Excelente) (Bueno) (Deficiente) (Insuficiente)
Siempre escucha,
Usualmente
comparte y apoya
escucha,
el esfuerzo de sus A veces escucha, Nunca escucha,
comparte y apoya
compañe- ros/as. comparte y apoya comparte y/o apoya el
Trabajo en el esfuerzo de sus
Trata de el esfuerzo de sus esfuerzo de sus
equipo compañeros y
mantener la compañeros y compañeros y
compañeras. No
unión de los compañeras. compañeras
causa problemas
miembros del
en el grupo
grupo
- 79 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Se mantiene
La mayor parte Nunca suele enfocarse
enfocado en el Algunas veces se
del tiempo se al trabajo que se
Atención al trabajo que se enfoca en el
enfoca en el necesita hacer. Deja
trabajo necesita hacer. trabajo que se
trabajo que se que otros y otras
Muy auto- necesita hacer
necesita hacer hagan su trabajo
dirigido
No sugiere o
refina soluciones, No trata de resolver
pero está problemas o ayudar a
Busca y sugiere Refina soluciones
Resolución de dispuesto/a a sus compañeros y
soluciones a los sugeridas por
problemas tratar soluciones compañeras a
problemas otros/as
propuestas por resolverlos. Deja que
sus hagan su trabajo
compañeros/as
- 80 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
9. Conclusión
Con esta Unidad Didáctica se pretende enseñar los fundamentos básicos de la programación a través
de la robótica educativa. Tomándose como base la legislación vigente en materia educativa
española, se han planteado una serie de objetivos y contenidos de aprendizaje, para llegar de forma
coherente hasta los criterios de evaluación siguiendo una metodología y un conjunto de actividades
prácticas y funcionales con el propósito de acercar los contenidos a los alumnos y alumnas a
distintas asignaturas del currículo escolar como pueden ser: Ciencia, Tecnología, Ingeniería y
Matemáticas (CTIM) por tener mayor relación con el temario. También es susceptible su trabajo en
el resto de áreas educativas por su componente transversal, correspondientes a la Educación
Secundaria Obligatoria y Bachillerato.
La programación es, hoy en día, una herramienta multidisciplinar que puede ayudar a los alumnos
en una amplia variedad de situaciones, permitiendo abordar de forma estructurada la resolución de
problemas que no sólo tienen que ver con la Informática, sino con otro tipo de ámbitos. Por su parte,
la robótica es una materia transversal que engloba temas propios de la electrónica, la mecánica o la
informática, entre otros y que puede ser susceptible de ser trabajada en otras áreas educativas donde
reporta beneficios.
Un autor/a:
Antúnez, S. Del proyecto educativo a la programación de aula. Madrid, 2010 Editorial Graó
Craig, J. J. Introduction to robotics: mechanics and control. Upper Saddle River, 2005, Pearson
LIBROS Prentice Hall, Vol. 3, pp. 48-70.
Antonio, C. P. et al. Remote experiments and 3D virtual world in education. Ponta Delgada,
2015, 3rd Experiment Int. Conf., pp. 65-70.
REVISTAS Carro, G. et al. The color of the light: A remote laboratory that uses a smart device that connects
teachers and students. Istanbul, 2014, IEEE Global Engineering Education Conference
(EDUCON), pp. 854-860.
- 81 -
Esta actividad ha sido diseñada para su uso con el laboratorio LabsLand Robot Arduino -
Visual. Puedes encontrar más laboratorios y actividades en: https://labsland.com/es
Peng, J., Tan, W. y Liu, G. Virtual Experiment in Distance Education: Based on 3D Virtual
Learning Environment, Wuhan, 2015, Int. Conf. Educational Innovation through Technology
(EITT), pp. 81-84.
Roscoe, J. F., Fearn, S., y Posey, E. Teaching Computational Thinking by Playing Games and
Building Robots, Nottingham, 2014, Int. Conf. Interactive Technologies and Games (iTAG), pp.
9-12.
- 82 -