2. Programación con Tablet
Codey Rocky
• Conceptos básicos sobre
programación.
• Conocer diferentes elementos del
robot, sensores, actuadores.
• Bloques de movimiento
• Bloques de Sonido y Apariencia
• Estructuras de control de flujo y
creación de eventos.
Este pequeño robot de makeblock es una excelente combinación
de hardware y software para introducirnos en el mundo de la
robótica. Su gran número de sensores y actuadores ofrece muchas
posibilidades de programación con diferentes grados de
dificultad, además dispone de diversas partes compatibles con los
ladrillos de lego lo que lo hace mucho más versátil para trabar
aspectos de construcción y mecánica. Por otro lado también se
puede combinar con Neuron que es otro producto de la marca
para trabajar experimentos relacionados con la electrónica,
contando a este conjunto de una gama completa de sensores y
actuadores nuevos.
El Robot consta de dos partes, Codey que es la cabeza, que se
puede programar tanto con un dispositivo móvil como con un
ordenador y su complemento Rockey que dota al conjunto de
movimiento e incorpora un sensor de infrarrojo de proximidad.
3. Conectividad
Para trabajar con este manual de ejercicios usamos la app
Mblock 5, disponible tanto para Android como para iOS.
Una vez que abres la aplicación busca el robot Codey
Rocky y selecciona la opción código de entre las tres
disponibles.
Una vez seleccionada buscara el robot para vincularlo por
bluethoot.
Antes de explicar nada invitar a los alumnos a
experimentar y que traten de crear un programa para que
el robot se mueva, cambie de aspecto o emita algún
sonido.
Se recomienda ir encendiendo y conectado los
dispositivos de uno en uno con el fin de no causar
interferencias entre unos y otros.
4. Selecciona la opción Coding y después crea un proyecto nuevo.
1º
2º
3
º
Selecciona a Codey como dispositivo a programar.
Enciende a Codey y presiona el botón de conectar. Si tienes muchos robots cerca
es recomendable que los vayas encendiendo y conectando de uno en uno.
Ya tienes conectado a Codey. Si el programa detecta que tiene que actualizarlo,
tardará unos minutos en estar disponible, sino todo está listo.
4º
5º
5. En el modo Cargar, el programa no funcionará en el robot
hasta que se lo enviemos, no funciona en tiempo real.
Cuando descargamos el programa en el robot se quedará
guardado en su memoria y se activará cada vez que
encendamos el robot, aunque la tablet ya no este. Por
contra las modificaciones que hagamos en el programa no
se verán hasta que vuelvas a descargarlo.
En el modo en vivo, el robot actuará de forma inmediata a
todos los bloques que estes usando, y hará en tiempo real
las modificaciones que hagas. El programa no se guarda
en el robot por lo que cuando lo desconectes, no
recordará nada de lo programado. En este modo también
puede interactuar con otros elementos del programa
como otros personajes.
Fíjate que el robot sea el elemento que tenemos activo y que esté conectado. También debes seleccionar el modo Cargar o En vivo.
6. Acción. Avances y Retroceso
Importante antes de comenzar a realizar ejercicios desde
un dispositivo móvil hay que asegurarnos que se ha
cargado el freeware original desde el ordenador y no hay
otros programas ejecutándose en Codey.
- Realiza un programa para que avance de 10 cm.
Se trata de comprobar que el robot en 1s avanza
aproximadamente 20cm por tanto deben programar
decimales para que obtengan la distancia deseada.
- Realiza un avance de 30 cm
- Programa que el robot avance hasta un punto A situado
a 20 cm, retroceda hasta un punto B situado a 10 y
vuelva a avanzar hasta el mimo punto A. ¿ Cuantos
centímetros a recorrido el robot?
- Si variamos la potencia en el programa anterior
obtenemos algún cambio en la distancia recorrida.
- Sabrías calcular cuantos segundos tendría que avanzar
Codey para recorrer 75 cm. ¿Cómo lo harías? ¿Intenta
hacer el calculo y comprueba tu respuesta.
Imagen 1. Programa para avanzar 10 cm
Imagen 2. Programa para avanzar 20 cm retrocede 10 cm y vuelve al punto
de partida.
7. Sugerencias metodológicas:
Una vez realizados los ejercicios anteriores se pueden
sugerir diversos retos para realizar pequeñas
competiciones.
- Carrera para llegar hasta un punto fijo todos los
corredores el mismo.
- Carrera de ir hasta un punto y volver hasta la meta.
- Carrera en llegar hasta un punto sin pasarse, gana el
que se queda más cerca.
- Recuerda que desde el menú principal, puedes seguir
unos tutoriales gamificados que recorren los principales
bloques de mblock.
- También puedes registrarte en
mblock para poder acceder a tus
p ro y e c t o s d e s d e c u a l q u i e r
dispositivo.
Imagen 3. Recuerda nombrar tus programas para que sean fáciles de encontrar.
Imagen 4. Desde la Opción learn tienes un recorrido gamificado por las
funciones más sencillas
8. Acción. Giros
Además de los movimientos que vimos en el apartado
anterior, vamos a practicar con los giros.
Desde el programa se dispone de varias formas de girar,
un giro por tiempo, y otro por grados. Usaremos este
último para comprobar la presión de Codey Rocky.
- Programa a Codey para que realice un avance de 20
cm y gira completamente, dándose la vuelta y vuelve al
mismo punto desde donde salió el robot.
- Programa a Codey para que describa con su recorrido
un cuadrado.
- Usa el bloque de control de repetir para hacer el
cuadrado.
- Programa a Codey para que dibuje un triangulo
- Haz que Codey dibuje un circulo.
- Prueba a realizar un programa con potencias diferentes
en cada uno de los motores.
- Añade a tu programa una opción para que el robot se
pare al pulsar el boto A.
Imagen 5. Programa para que avance, se da la vuelta y vuelve al punto inicial.
Imagen 6. Programa que hace que el robot describa la trayectoria de un
cuadrado.
9. Sugerencias metodológicas:
Una vez realizados los ejercicios anteriores se pueden
sugerir diversos retos para realizar pequeñas
competiciones.
- Crea un laberinto que combine avances con giros en
una sala dirección para poder resolverlo con un bucle.
- Crea un laberinto con giros a ambos lados para resolver
por los participantes
- Crea un laberinto con un patrón que pueda resolverse
con un bucle.
Imagen 7. Programa que hace que el robot describa la trayectoria de un
cuadrado usando un bucle de cuatro repeticiones.
Imagen 8. Observa estos dos programas y explica que diferencias hay entre ellas.
10. Apariencia. Imágenes y Texto.
La herramienta show-Apariencia va destinada a usar la
pantalla de leds de Codey, sirve para mostrar imágenes
predefinidas, dibujar y mostrar texto. En este apartado es
importante trabajar los tiempos y la posición de los leds.
- Programa a Codey para que guiñe un ojo. Recuerda utilizar
bloques de control para las repeticiones y para el tiempo
de espera entre las imágenes.
- Programa una expresión para cada uno de los botones de
Codey e incluye un sonido en cada una de ellas.
- Acompaña al programa anterior de movimiento, para que
exprese algo, con los ojos, emita un sonido y haga un
movimiento impulsivo.
- Haz que codey mire hacia los lados con movimiento ocular,
derecha, arriba, abajo e izquierda. Controla imágenes y
tiempo para que se observe bien en pantalla el efecto que
buscamos.
- Programa a Codey para que diga tu nombre en pantalla
- Programa a Codey para que cada vez que presione un
botón diga un mensaje diferente.
Imagen 9. Programa para que Codey guiñe un ojo, puedes jugar con los
tiempo y dibujos para crear diferentes efectos.
Imagen 10. Programa para simula movimiento ocular
11. Sugerencias metodológicas:
Una vez realizados los ejercicios anteriores se pueden
sugerir actividades de creación libre con expresiones de
pantalla que combinen movimientos, expresiones, sonido
y texto.
- Crea una expresión para estar enfadado.
- Crea una expresión para estar muy contento.
- Crea una expresión para estar triste.
Guarda estos programas para poder reutilizarlos.
Imagen 12. Al presionar la A da un mensaje y al presionar B otro diferente.
Imagen 11. Programa muestra un nombre en la pantalla de Codey
Imagen 13. Recuerda la diferencia entre las opciones de Cargar o En vivo.
12. Eventos
Estás son las ordenes de mayor jerarquía dentro del
programa, por lo que tienen un borde redondeado por
encima, todo lo que quieras programar iría por abajo de
estos bloques.
Podemos elegir que un programa o varios programas
empiecen con diferentes acciones de estos bloques.
- Haz un programas que comience moviéndose hacia
adelante y al presionar el botón A se de la vuelta.
- Codey se puede programar sólo sin necesidad de las
parte de abajo (Rockey) por ejemplo programa una cara y
cuando sacudas la codey ponga una cara de mareado y
emita algún sonido.
- También podemos comenzar un programa, según la
inclinación que tenga codey, “Tilted” Programa diferentes
flechas que aparezcan en pantalla según la posición de
inclinación de Codey.
- Programa Cody Rocky para que avance recto y suba una
pequeña cuesta, cuando este subiendo debe acelerar y
cuando este bajando de ir más despacio.
Imagen 14. Bloques de Eventos que hacen que empiecen algoritmos.
Imagen 15. Programa comienza con una cara y cambia al agitarse.
13. - Programa que el robot comience a moverse cuando
detecte un ruido y se detenga al apagar la luz.
Enviar y recibir mensajes entre partes del programa es
una de las funciones más interesantes de programación
de esta forma puedes saltar y comunicar varias partes de
un programa de forma autónoma.
- Haz un programa que aparezca una cara en pantalla y
que al sacudir a Codey cambie de cara, emita un sonido
pero tras unos segundos vuelva a poner la cara inicial.
Sugerencias metodológicas:
Crea situaciones en las que haya que enviar mensajes
entre distintas partes del programa y utilice al menos tres
mensajes diferentes.
Fíjate que puedes combinar bloques entre todos los
elementos del programa, por ejemplo codey podría
enviar un mensaje al panda para que realice alguna
acción. ¿Sabrías usar a codey como mando para que el
panda se desplace por la pantalla?
Imagen 16. El robot comienza a moverse al escuchar un ruido y se detiene
cuando baja la intensidad de la luz. Debes ajustar los valores de ruido y luz a
las condiciones de la estancia en la que te encuentras.
Imagen 17. Programa que envia mensajes según el sonido ambiente que haya
para que el robot se comporte de diferentes formas.
14. Sensores: Infrarrojo, giroscopio, micro, sensor de luz
Actuadores: Botones, altavoz, leds, luces, infrarrojos.
Puerto de conexión con Rockey y otros elementos
electrónicos de neuron.
Rocky cuenta con un sensor de infrarrojo de proximidad
que también es capaz de diferenciar colores.
Diferentes sensores de los que dispone Codey y Rocky
15. Control. Sensing. Operations
Estas son las herramientas propias de programación y son
los bloques de control de flujo del programa, por tanto
serán de los bloques más usados cuando se propongan
retos más complejos que combinen muchos tipos de
bloques diferentes.
- Programa que el robot avanza durante 2 segundos gire
por completo y espere un segundo para volver a
avanzar. Debe repetir estos pasos 4 veces.
Los bloques que tienen un hexágono son para introducir
una condición que debe cumplirse para que se ejecute el
programa que hay dentro.
Fíjate que elementos tienen esta forma y se pueden
encajar dentro: Sensores, Operations.
- Crea un programa utilizando varios bloques de if__then
dentro de un bucle para que el robot se mueva en
distintas direcciones cada vez que presionas un botón.
- Usando el sensor de infrarrojo de distancia, que tiene
Rockey mirando al frente, programa el robot para que
se mueva hacia adelante siempre que tenga un objeto a
delante, de lo contrario permanecerá quieto.
Imagen 18. Programa que avanza 2 segundos, se da la vuelta y espera un
segundo. Repite todo durante 4 veces.
Imagen 19. Programa para hacer que el robot avance cuando tiene un
obstáculo delante, de lo contrario estaría parado. Advertencia: El sensor de
infrarrojos debe estar mirando hacia adelante, no hacia abajo.
16. - ¿Qué diferencia hay entre estos dos programas?
- Haz un programa para que se detenga al encontrar una
línea roja en el suelo.
- Programa diferentes acciones según el color que
encuentre el sensor que combine movimientos, giros y
expresiones. Además la luz frontal debe encenderse del
mismo color que el color que encuentre.
- Programa a Codey para que indique en pantalla
diferentes valores de los sensores: Cuando presione A
intensidad de luz reflejada, al presionar B el ángulo de
giro.
- Programa una melodía con diferentes cartulinas de
colores en el suelo para que el robot la toque al pasar
por encima.
Imagen 20. El robot avanza hasta detectar el color rojo en el suelo, si quitamos
el rojo el robot continuará moviéndose y se detendrá de nuevo si vuelve a
detectarlo.
Imagen 21. Al pulsar el botón A Codey dirá en pantalla el valor de la luz
ambiente y al pulsar B el ángulo de giro con el que lo hayas movido. Pulsa la
bandera verde para poner el ángulo a 0.
17. ¡Enhorabuena!
Ya dominas gran parte del
potencial de CodeyRocky.
Ya has usado gran parte de las categorías de bloques que
mblock ofrece para CodeyRockey, pero aun puedes hacer
muchos programas más, recuerda que puedes combinar
los programas de varios elementos, como personajes de
un juego.
Sabrías hacer un juego de acción en el que Codey fuera el
mando.
Al pulsar el botón A, el personaje gire a la izquierda. Al
pulsar B gire a la derecha y al presionar C que dispare
algún objeto. En la pantalla podrías mostrar el cargador o
las vidas. Crea cuantos elementos quieras…
Ejemplo:
18. ¡Te atreves con
Inteligencia Artificial!
El programa mblock nos ofrece muchas posibilidades
para adentrarnos en el mundo de la inteligencia artificial
usando servicios en línea de Google o Microsoft. ¿Sabías
que Codey se puede conectar a Internet a través de wifi?
Selecciona las extensiones y descubrirás nuevos bloques
que darán aun más posibilidades a tus programas.
Descarga los bloques de loT y añádelos a tu paleta de
bloques.
Observa que aparecerán nuevos bloques aunque sólo
podrás usarlos en el modo cargar y tienes que entrar con
tu nombre de usuario en la aplicación.
Una vez programado tienes que enviarlo al robot para que
funcione.
Recuerda que tienes que configurar en el programa que se
conecte a una red wifi y su contraseña para que pueda
funcionar.
19. Por ultimo también puedes acceder a los servicios
cognitivos que el programa mblock ofrece para el resto
de elementos del programa y enviar los resultados para
que se muestren en la pantalla de Codey.
Aqui tendrás que programar en dos fases, primero el
elemento como el Panda al que le dirás que envíe un
mensaje.
Y después en codey que tendrás que programar que hace
cuando recibe ese mensaje.
Por ejemplo sabrías hacer un programa para que codey
traduzca en su pantalla al inglés, el mensaje que tu digas
en español.
Imagen 22. El programa se conecta a una red ( este nombre tiene que cambiar
a la tuya y su clave) y cuando consiga conectarse se pondrá en verde el led y
dirá la temperatura de tu ubicación en pantalla.