Módulo 4. Programación con mBot.
- Comenzamos a programar con mBot
- Primeros pasos
- Jugando con la luz
- Evitar obstáculos I
- Evitar obstáculos II
- Sigue líneas I
- Sigue líneas II
- Control remoto
- Más actividades
Comenzamos a programar con mBot
Podemos instalar diréctamente mBot2, lo interpreta como un chasis de Cyberpi
- Vamos a extensión luego vamos a buscarlo en extensión
- Buscamos mBot2 descargar
- Añadir
Se instarán estos conjuntos de instrucciones :
Primeros pasos
Programa de bienvenida
El contenido a partir de aquí es de esta página es de Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Vamos a realizar este programa, primero una pantalla de bienvenida:
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Luego interactuamos con el joystick y el movimiento:
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Cargamos estos programas EN MODO CARGA
RESULTADO
El contenido de esta página es de Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Jugando con la luz
mBot2 se quiere ir de marcha nocturna
Podemos hacer que el mBot2 se vaya de marcha nocturna
Un programa muy muy sencillo es este hay que jugar con los valores de 20 y 50 según las condiciones de tu aula
Es muy espectacular hacerlo con los alumnos, se deja el aula a oscuras, se encienden todas las luces y todo baila !
No te quedes con sólo girar, hazle piruetas, juegos de luces etc...
Robot polilla
Podemos hacer este sencillo programa que avanza si hay luz, o va dando vueltas (lo busca) si no hay
Puedes alterar el programa de tal manera que si no hay luz, que haga giros más largos, retroceda...
Evitar obstáculos I
Mi primer "Evita obstáculos"
Sugerimos un programa sencillo
https://planet.mblock.cc/project/7548708
Como puedes ver, cuando hay un obstáculo a menos de 15cm (puedes modificar este número) retrocede un poco, gira y así evita el obstáculo. Si no hay objeto, pues avanza
El Evita obstáculos de programas de ejemplo
Acuérdate que para manejar el sensor de distancia, hay que instalar la extensión correspondiente. Ver https://libros.catedu.es/books/cyberpi-y-mbot2/page/como-usar-mbot2-en-mblock
El script que proponemos es el que se encuentra en "Programas de ejemplo ":
El contenido a partir de aquí es de Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
La distancia de 8cm es arbitraria y también la elección de hacerlo al azar o no.
Podemos añadir
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
RESULTADO
El contenido de esta página es de Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Evitar obstáculos II
El contenido de esta página es dePere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Acuérdate que para manejar el sensor de distancia, hay que instalar la extensión correspondiente. Ver https://libros.catedu.es/books/cyberpi-y-mbot2/page/como-usar-mbot2-en-mblock
Ahora, en vez de elegir al azar como Evitar obstáculos I qué dirección a girar, en este caso vamos a realizar un proyecto en el cual nuestro mBot2 tiene que detectar un objeto cuando esté a menos de 10 cm. En este momento se tiene que para y comprobar la distancia que hay a su derecha y la distancia que hay a su izquierda, siempre tendrá que ir por la dirección donde el obstáculo está más lejos.
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
RESULTADO
Sigue líneas I
Mi primer siguelíneas
El sigue líneas más sencillo es este, recomendamos empezar por aquí
- Si detecto 00 es decir "he perdido la línea" entonces ves hacia atrás para recuperarla
- Si detecto 11 es que estoy "en la línea" pues "pa'lante"
- Si detecto 01 es que la línea la tengo a mi derecha (0 en la izquierda 1 en la derecha) por lo tanto gira a la derecha para volver al redil
- lo mismo pero a la izquierda
Como se puede ver, hace movimientos hacia atrás sobre todo en las curvas cerradas pero ¡¡no se escapa!!
El sígue líneas de "Programas de ejemplo"
Acuérdate que para manejar el sensor de distancia, hay que instalar la extensión correspondiente. Ver https://libros.catedu.es/books/cyberpi-y-mbot2/page/como-usar-mbot2-en-mblock
El programa lo puedes encontrar en los "Programas de ejemplo":
El contenido a partir de aquí es esta página es de Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
El primer script es para parar el robot con el botón A
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
(optativo) Esta función para que nos muestre el color de la línea
RESULTADO
Sigue líneas II
El contenido de esta página es de Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Acuérdate que para manejar el sensor de distancia, hay que instalar la extensión correspondiente. Ver https://libros.catedu.es/books/cyberpi-y-mbot2/page/como-usar-mbot2-en-mblock
En este programa sigue líneas avanzado vamos a incorporar que nos vaya diciendo los colores que va detectando
El script que proponemos es el siguiente :
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Y el algoritmo principal
- Cuando se presiona el botón B
- Detener otros programas del objeto.
- A la variable base_power le asignamos el valor 55
- A la variable kp le asignamos el valor 0.8
- Para siempre (Bucle infinito)
- A la variable left_power le asignamos el valor -1 * ( base_power + (kp * desviación del sensor cuádruple RGB)
- A la variable right_power le asignamos el valor(base_power – (kp * desviación del sensor cuádruple RGB)
- moto EM1 gira a potencia right_power %, motor EM2 gira potencia left_power %
- sí detector R1 del sensor cuádruple RGB detecta blanco entonces
- muestra 5 leds color blanco
- sí detector R1 del sensor cuádruple RGB detecta rojo entonces
- muestra 5 leds color rojo
- sí detector R1 del sensor cuádruple RGB detecta amarillo entonces
- muestra 5 leds color amarillo
- sí detector R1 del sensor cuádruple RGB detecta verde entonces
- muestra 5 leds color verde
- sí detector R1 del sensor cuádruple RGB detecta cian entonces
- muestra 5 leds color cian
- sí detector R1 del sensor cuádruple RGB detecta azul entonces
- muestra 5 leds color azul
- sí detector R1 del sensor cuádruple RGB detecta morado entonces
- muestra 5 leds color morado
- sí detector R1 del sensor cuádruple RGB detecta negro entonces
- muestra 5 leds color negro
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
Y además (optativo) igual que el sigue líneas I :
Pere Manel Verdugo Zamora http://peremanelv.com/mblok.html contenidos e imágenes publicados con permiso del autor
RESULTADO
Control remoto
MANDO A DISTANCIA: EL TECLADO (cutre, pues estas atado por cable)
Vamos a realizar EN VIVO este programa
Como puedes ver es puedes controlar el robot pero esta "atado" al ordenador, esa es la desventaja de programar EN VIVO
MANDO A DISTANCIA OTRO MBOT (mola)
Vamos a controlar un mBot2 con otro mBot2 (realmente el que hace de mando a distancia con el Cyberpi sólo ya funciona) MODO CARGA
Solución
EN LOS DOS PONEMOS EL SIGUIENTE PROGRAMA :
Fuente Javier Quintana
El resultado es muy bueno :
MANDO A DISTANCIA: EL TECLADO (pero no cutre, sino MOLA por Internet)
En este caso el mBot2 puede estar en Kuala Lumpur 🤯🤯🤯
ATENCIÓN TIENES QUE ESTAR LOGUEADO EN https://ide.mblock.cc/ PUES VAS A UTILIZAR LA NUBE DE USUARIO
https://planet.mblock.cc/project/8632451
En el Cyberpi
Ponemos este programa, los verdes están en la sección IoT :
ESTO LO "CARGAMOS" AL CYBERPI o sea MODO CARGA
En el Sprite (oso panda)
Ponemos esta extensión :
Y ponemos este programa
PERO LO EJECUTAMOS MODO VIVO
🤯 🤯ES CURIOSO
ES UN PROGRAMA QUE EN EL CYBERPI LO HEMOS CARGADO Y EN EL SPRITE EN VIVO SE UTILIZAN LOS DOS MODOS 🤯🤯
https://planet.mblock.cc/project/8632451
MANDO A DISTANCIA: RECONOCIMIENTO DE IMAGENES POR INTELIGENCIA ARTIFICIAL PROPIA: MAS MOLÓN TODAVÍA
O sea, que la IA reconozca símbolos (por ejemplo una flecha pintada en un folio) y que el robot se mueva acorde a lo que le enseñas.
Y que tú le enseñes a la máquina ¡¡ no te lo pierdas en https://libros.catedu.es/books/cyberpi-y-mbot2/page/mando-a-distancia-con-machine-educable-ia !!
Más actividades
RETOS : HACER UN PROGRAMA QUE REALICE....
RETO1 APARCAR
SOLUCIÓN pag 18 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
RETO 2 HACER UN CUADRADO
Los cuadrados naranjas son obstáculos.
Solución en pag 53 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
RETO 3 BUSCANDO EL COLOR AZUL ...
Un grupo de mBot2 buscan el color azul pintado en el suelo. Si uno lo encuentra, informará a los demás y ganará el juego.
Solución en pag 90 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
RETO 4 BUSCANDO EL COLOR AZUL... PERO EN SOLITARIO
Hacer el juego anterior pero sólo teniendo un mbot2
Solución en pag 9 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Es parecido a la solución con Broadcast que vimos en LAN con cyberpi
RETO 5 EL NO VA MÁS ... UN CAMARERO
El robot camarero que vas a fabricar debe ser capaz de hacer una serie de cosas: • Desplazarse en línea recta • Detenerse en una zona roja (tu mesa), anotar un pedido y enviarlo a la cocina • Opción adicional: si se dispone de un segundo mBot2 o CyberPi, entonces mostrar los pedidos a la cocina (para que puedan empezar a preparar la comida) • Continuar desplazándose hasta que el mBot2 encuentre una superficie verde (la cocina) y se detenga para recoger la comida de la cocina • Opcional: si se dispone de un segundo mBot2 o CyberPi, entonces notificar se está entregando la comida
Pag 107 Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
¿QUE HACEN ESTOS PROGRAMAS? ....
Pag 25 Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 26 Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 27 Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 28 Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 29 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 33 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 41 deManual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 43 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 60 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 60 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 62 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 63 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 67-68 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Y utilizar esta instrucción en la función principal
Pag 69 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 82 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 89 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
Pag 106 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.
En el siguiente programa se usa la extensión TEACHABLE MACHINE, en ella se enseña al objeto que reconozca (INTELIGENCIA ARTIFICIAL) un mBot2, un block de notas, mira https://libros.catedu.es/books/cyberpi-y-mbot2/page/software-educable-maquina-educable-teachable-machine para saber cómo se utiliza esta extensión.
Una vez "aprendido" se pueden usar las instrucciones de "recognition result is... "
Tiene la pega que tienen que estar conectado por cable el mBot2 o usar un adaptador Bluetooth
Pag 124 de Manual mBot2 https://www.robotix.es/documentos/mbot2-actividades.pdf contenidos e imágenes publicados con permiso de la empresa Robotix.