menuda-feria-16-03-2019
- Introducción
- 1. Preparados
- 1 M1 Preparados...
- 1.1 Pensamiento computacional
- 1.2 ¿Qué es mBot?
- 1.3 mBot y mBlock
- 1.4 mBlock
- 1.5 Arduino: El corazón de mBot
- 1.6 Componentes exteriores
- 1.7 Preparando mBlock
- 1.8 Dejar mBot como nuevo
- 1.9 Dependiendo del ordenador - Qué es?
- 1.10 Dependiendo del ordenador-Conexión
- 1.11 Resetear mBot
- 1.12 A jugaaarrr ...
- 2. Listos
- 3. Ya!!!
Introducción
Este material ha sido adaptado por el equipo de CATEDU, Centro Aragonés de Tecnologías para la Educación, en exclusiva para el evento Menuda Feria 2019 que tiene lugar en Zaragoza el 16 de Marzo. CATEDU es un Centro Específico de Profesorado del Departamento de Educación, Cultura y Deporte del Gobierno de Aragón.
En CATEDU ofrecemos multitud de cursos on-line sobre robótica para el profesorado, aunque el contenido de los cursos está disponible para todo el mundo. Podéis encontrarlos todos a través de nuestro Moodle, o en Gitbook.
Para esta sesión hemos elegido trabajar mBot por su sencillez de uso y por estar ya montado. Es ésta pues una guía resumida extraída de nuestro curso completo sobre mBot (en Moodle y en Gitbook).
Un poco de contexto
1. Preparados
1 M1 Preparados...
Objetivos de este módulo:
- Conocer el robot mBot de Makeblock, sus características y posibilidades
- Empezar a programar el robot dentro del entorno de software típico de programación educativa de Scracth
1.1 Pensamiento computacional
Hay muchas herramientas para trabajar en los niños el lenguaje de las máquinas, pero ¿cual elegir? ¿cual es el apropiado a qué edad?¿este robot donde se sitúa? para aclarar un poco hemos elaborado esta hoja de ruta, es orientativa de las herramientas y robots elegidos por Catedu para los cursos, evidentemente hay otros robots y otras herramientas muy válidas, pero no podemos ponerlas todas y complicar el esquema, así que preferimos ser claros que abarcarlo todo:
Puedes ver que este robot tiene un un margen de edad y dificultad apropiado y mucha capacidad de desarrollo.
Guía orientativa
Tenemos un grupo Telegram Robótica Educativa en Aragón, si estás interesado en unirte, envía un mensaje por Telegram (obligatorio) a CATEDU 623197587 https://t.me/catedu_es y te añadimos en el grupo
1.2 ¿Qué es mBot?
mBot es un robot educativo de la empresa Makeblock, que persigue los siguientes objetivos:
- El objetivo principal es desarrollar el pensamiento computacional en el alumnado motivado por la ejecución de órdenes en algo físico como es el robot.
- El robot está diseñado para su uso escolar: resistente y económico
- Basado en hardware libre y software libre
El objetivo 1 da como resultado que el kit de mBot sólo permite una configuración posible más los complementos que tiene el kit que proporciona el kit de CATEDU, no hay tiempos en construcción, sólo en programación, esto es otra filosofía diferente frente a otras alternativas como los robots de LEGO Mindstorm o LEGO WEDO (LEGO WEDO es compatible con Scracth) que el tiempo en construcción y creatividad es importante. No queremos defender qué alternativa es buena y cual mala, sino que el docente tiene que decidir qué objetivos quiere perseguir, según lo que quiere tiene que decidir qué producto es el adecuado.
El objetivo 2 los precios y las características de este robot hace que sea un producto dirigido a los centros de enseñanza. Los distribuidores en España son actualmente 3, y en este curso tomaremos de referencia comercial makeblock.es pero perfectamente es válido los otros . Las características y precios de mBot 2.4G se puede ver en este enlace.
El objetivo 3 el hardware libre está materializado en que se basa en la placa ARDUINO, que lo han personalizado con más sensores y conexiones rápidas RJ11 (la clavija de teléfono fijo). El software libre en este robot está en el programa mBlock que está basado en el software de programación Scracth, diseñado para desarrollar el pensamiento computacional en los niños, ámpliamente usado en todo el mundo, el cual le añaden unas librerías propias del robot, dando como resultado mBlock.
El software mBlock es el resultado de instalar el firmware de la placa Arduino, instalar las librerías del robot en el Scracth, actualizar, etc... recomendamos lo práctico: Descargar el mBlock diréctamente que lo tiene todo ya preparado.
Dentro de esta filosofía de libertad, los agujeros son compatibles con LEGO ampliando las posibilidades.
Otras empresas que también apuestan con robótica educativa y hardware libre es la empresa española BQ con MundoMaker y Zowi, con otro software de programación: BitBloq y App de Zowi, y con hardware libre igual que mBot con ARDUINO. En BQ queremos destacar el apoyo al profesorado Diwo.
Fuente: http://makeblock.es/
¿Se puede uno fabricar un "mBot?
SI, pues prácticamente es un Arduino con motores y sensores bastante estándares, y encima el programa mBlock es gratis, lo único es que no te saldrá tan perfecto. ¿cómo se hace? para esto ya hay un grupo en Twitter: @mClonRobot
1.3 mBot y mBlock
Requisitos de conceptos previos
Es necesario haber realizado una FORMACIÓN BÁSICA EN SCRATCH la formación exclusiva de Scratch en Aularagón es suficiente.
Requisitos de material
Necesitas el kit de robótica mBot de MakeBlock que presta CATEDU o que lo puedes conseguir comprándolo en las tiendas ver ¿qué es mBot?
Este curso utilizará dos productos:
-
mBot con mochila de comunicación 2.4G. (La versión Bluetooth no es recomendable en el aula, pues provoca interferencias, es mejor que tenga la mochila 2.4G)
NOTA: Si no lo tienes montado, usa las Instrucciones del Kit mBot
-
Matriz de LEDS 8x16 donde aumentaremos la capacidad de interacción de nuestro simpático mBot.
Requisitos de software y Hardware
Instalar el mBlock en la página oficial de descarga mBlock http://www.mblock.cc/.
Disponible en diversos sistemas operativos y su instalación no presenta ningún problema.
- mBlock for PC: aconsejado para el aula, y recomendamos conexión 2.4G: Windows, Mac, Linus, ChromeOS,.
- mBlock for Mobile, que no aconsejamos para el aula porque necesita Bluetooth y se produce interferencias: Android, iPad .
Hemos probado mBlock en ordenadores viejos Windows XP (pero hay que descargarse la versión que recomienda para XP en http://www.mblock.cc/ y ha funcionado perfectamente. Es un programa que NO NECESITA INTERNET en su funcionamiento, por lo que se adapta a la realidad de todos los centros escolares.
Hay que destacar que en Windows, la primera vez que se quiere comunicar con el robot salta el Firewall de Windows bloqueándolo, pero mostrando un diálogo si se permite o no esta comunicación externa, clickar en PERMITIR.
Se actualiza muy a menudo, mejorando cada vez más sus prestaciones, lo que implica que su descarga es cada vez más pesada, más de cien megas, pero después prescinde de Internet.
El programa es muy sencillo si estás acostumbrado al SCRATCH :
Fuente: http://makeblock.es/
Qué curioso !
mBlock está basado en Scratch y simplemente ha añadido extensiones para trabajar mBot, pero también ha añadido extensiones para trabajar Arduino, no es capricho, es porque mBot es un Arduino con dos motores y sensores.
En CATEDU hemos experimentado distintas formas de programar el Arduino de forma sencilla para alumnos de primaria y encontramos mBlock como el mejor programa para hacerlo. Nuestros cursos de -Arduino utilizamos mBlock.
1.4 mBlock
En ese curso nos centraremos en el programa mBlock, hay buenos tutoriales por ejemplo este breve tutorial de Makeblock, pero tranquilo, no hace falta que lo leas, en este curso iremos viendo cada parte.
1.5 Arduino: El corazón de mBot
El kit es fácil de montar (instrucciones), pero si nos fijamos el corazon es la placa de Arduino:
Fuente: http://makeblock.es/
Nos tenemos que fijar en estos componentes de la placa:
Fuente: http://makeblock.es/
- Los R25 donde montaremos los diferentes componentes externos, tienen colores para indicar qué componentes son compatibles.
- Transmisor de Infra Rojos para interactuar con el mando a distancia, un elemento de interacción, pero ojo: común a todos los robots que estén en el aula
- Botón que permitirá interactuar
- Puertos de motor, donde conectaremos los motores de las ruedas.
- Buzzer o pequeño altavoz, no puede hacer maravillas, sólo tonos simples
- RGB Led o luces de los tres colores básicos.
- Light Sensor o sensor de luz, que nos servirá como otra vía de interacción.
- También tiene una conexión USB para conectarse con el ordenador con un cable.
-
- Esta conexión USB a la vez proporciona energía. Es una opción a considerar si se nos ha agotado las pilas y queremos seguir programando.
- La conexión USB funciona también como cargador si en vez de pilas usamos [la batería Litio](http://www.makeblock.es/productos/bateria_3.7_mbot/)
La ventaja de esta placa es que permite conectar **directamente** los motores y diferentes componentes exteriores sin necesidad de placas controladoras intermedias y con la conexión rápida RJ25, sin necesidad de placas Protoboard, mirar la diferencia entre trabajar con una placa Arduino convencional y esta:

**Fuente: [http://makeblock.es/](fuente:%20http://makeblock.es/)**
1.6 Componentes exteriores
Los componentes exteriores no importantes a la hora de programar del Kit son:
- Dos motores 200rpm 6V conectados a las ruedas.
- Mochila de comunicación 2.4G que permite conectarse con el ordenador de forma inalámbrica.
Componentes exteriores importantes a la hora de programar y que trataremos en este curso son:
- Sensor de Línea para utilizarlo por ejemplo como sigue líneas. EN ESTE CURSO LO CONSIDERAREMOS CONECTADO EN EL PUERTO 2.
- Sensor de distancia por ultrasonidos para utilizarlo por ejemplo como evita-obstáculos. EN ESTE CURSO LO CONSIDERAREMOS CONECTADO EN EL PUERTO 3.
- Matriz de leds 8x16 para expresar símbolos y caracteres. Este componente no está en el kit standard mBot, pero sí en el que presta CATEDU. EN ESTE CURSO LO CONSIDERAREMOS CONECTADO EN EL PUERTO 1.
Fuente de las imágenes: http://makeblock.es/
1.7 Preparando mBlock
Ejecutamos mBlock (página de descarga para instalarlo) desde el menú o desde el icono instalado en el escritorio
Lo primero que podemos hacer es configurar el lenguaje:
La opción de Extensión por defecto tiene que ser Makeblock:
Y la de la placa Board tiene que ser la de mBot:
y ya tenemos configurado nuestro programa. Estos parámetros no son necesarios volverlos a tocar cada vez que arrancamos mBlock
Fuente de las imágenes: capturas pantalla mBlock
1.8 Dejar mBot como nuevo
Seguramente tu equipo mBot no funcionará bien ¿por qué? ¿se ha estropeado?, NO, lo que pasa es que seguramente el anterior alumno ha dejado un programa dentro que no es el de fábrica, esto lo veremos en Update to Arduino pero que te suene el nombre
¿Qué hacemos? Es tan importante que queremos que lo veas detenidamente, aquí lo tines en flash o en pdf o aquí en esta presentación:
1.9 Dependiendo del ordenador - Qué es?
DOS MODOS DE FUNCIONAR MBOT
Hay que tener en cuenta que mBot tiene dos formas de funcionar:
Dependiendo del ordenador y dos formas de conectarte:
- Conexión inalámbrica 2.4G (también puede ser Bluetooth, red.. pero no lo vamos a dar aquí pues provoca interferencias con otros equipos)
- Conexión por cable USB
Independiente del ordenador:
- Sólo por Conexión por cable USB se carga el programa (Upload to Arduino), luego se desconecta y el robot ya puede ir sólo sin ordenador
Utilizaremos *Dependiendo del ordenador conexión inalámbrica 2.4G*, por ser rápida y sencilla.
La conexión independiente del ordenador, se explica en el M3 cómo realizarlo.
¿Qué hace mBot dependiendo del ordenador?
En el modo de dependiendo del ordenador, mBot obedece a un programa interno (Firmware)
Este Firmware lo que le ordena a la placa Arduino es:
- Haz caso a las instrucciones del mando de IR ver figura de abajo
- Haz caso a la conexión con el ordenador y a las instrucciones que vengan por ahí
Esto tiene su importancia:
-
El punto 1 te dice que no puedes hacer un programa con el Mando IR pues prevalece el del Firmware, por lo tanto no se puede utilizar en tu programación el mando IR en el modo "dependiendo del ordenador" pero sí en el modo "independiente del ordenador".
-
El punto 2 te dice que tus programas se ejecutan en el ordenador y se lo comunica al robot luego:
-
Si desconectamos el ordenador o la conexión, dejan de funcionar, o mejor dicho se mBot se queda atascado en la última instrucción ejecutada.
- Tus programas van un poco lentos, pues dependen del ordenador. El mismo programa lo pasas al modo "independiente del ordenador" y va mucho más rápido.
Instrucciones del mando IR en el firmware que viene por defecto (modo dependiendo del ordenador):
Fuente de las imágenes: http://makeblock.es/
Por cierto, de vez en cuando es bueno tener actualizado el Firmware, esto se hace aquí:
1.10 Dependiendo del ordenador-Conexión
Tenemos dos opciones de comunicarnos con mBot, aconsejamos la primera:
Conexión inalámbrica 2.4G
La conexión inalámbrica se realiza a través de la mochila 2.4G. Insertamos el pincho USB de la mochila (no necesita ningún driver, el ordenador lo interpreta como un ratón inalámbrico). Cada pincho va asociado a un robot (o mejor dicho: La placa y el pincho de la mochila 2.4G están emparejados, si el led de la mochila parpadea es que ha perdido conexión).
Fuente de las imágenes: http://makeblock.es/
y conectamos el robot con el programa en Conectar- 2.4G Serial- Conectar SI SE HA REALIZADO CORRECTAMENTE, EN EL CONJUNTO DE INSTRUCCIONES "Robots" CAMBIA EL PILOTO DE ROJO A VERDE es el mejor marcador para comprobar que la conexión está correcta:
Conexión por cable
Existe la posibilidad de conexión por cable, útil por ejemplo si se ha perdido el pincho, seguir programando hasta la espera de la compra de otro, o por ejemplo si se agotan las pilas, por cable el robot puede seguir funcionando. Evidentemente con la pérdida de libertad de movilidad.
También la conexión por cable es necesaria si queremos que el robot funcione independiente del ordenador (ver Módulo 3)
No hay que olvidar que si optamos por la conexión Serial por el puerto USB, TENEMOS QUE DESCONECTAR LA OTRA CONEXIÓN INALÁMBRICA:
En este modo, también tiene que estar el piloto verde de las instrucciones Robots
Un vídeo resumen de todo:
1.11 Resetear mBot
¿Por qué?
¿Por qué a veces tenemos que resetearlo? por varias razones:
- Por qué el mBot tiene un programa (es decir que se ha utilizado con el modo de cargar el programa en mBot, la opción Upload to Arduino) e impide su uso como "dependiendo del ordenador"
- Por que el programa de mBot tiene algún resto que impide su uso correcto por ejemplo al usar las luces LED o la matriz LED..
¿Qué es?
Resetar mBot, significa dejarlo como estaba de fábrica es decir :
- Esta preparado para usarlo "dependiendo del ordenador"
- Hace caso al mando a distancia tal y como pone en Dependiendo del ordenador - Qué es
¿Cómo se hace?
- conectamos el robot con el cable
- en mBlock Conectar-Puerto serie- elegimos el último puerto que se ha creado al conectar el robot (en la foto COM3)
- en mBlock Conectar-Reset Default Program
Fuente de las imágenes: Captura de pantalla de mBlock. Las fotos: El autor.
1.12 A jugaaarrr ...
¿Lo probamos? venga!!! monta este sencillo programa. Las flechas te indican dónde está cada instrucción :
Y dale a la bandera :
Fuente de las imágenes: Capturas de pantalla mBlock
y como decía Joaquín Prat en el precio justo A jugaaarr !! (si entiendes esto último, es que tienes la edad óptima para aprender a programar ;)
Fuente http://lossesentas-mispersonajes.blogspot.com.es/2015/08/joaquin-prat.html
2. Listos
2 M2 Listos...
Objetivos
- Conocer y programar los diferentes elementos de interacción de kit mbot
Igual que en un puzzle, hemos visto la caja y el dibujo, lo que podemos hacer (M1 Preparados)
y ahora en el M2 Listos... vamos a reconocer las diferentes piezas
.. y en M3 Ya! a mezclarlo todo y hacer nuestros proyectos
2.1 Módulos electrónicos
En esta sección vamos a aprender los módulos que están integrados en la placa:
- Botón
- Led RGB
- Buzzer
- Sensor Infrarrojos
- Sensor de luz
Fuente : Modificado de http://makeblock.es
LED RGB
Los LED que hay montados en la placa permiten poner los 3 colores básicos a distintas tonalidades, desde 0 hasta 255, que podemos mezclar
Reto
Realizar un programa que al apretar en el teclado.. * 'a' se encienda el rojo * 's' se encienda el verde * 'd' se enciena el azul
Solución
Fuente: Captura de pantalla mBlock. Programa: el autor.
Ahora usa el teclado de tu ordenador, pulsa las teclas a s y d
¿No funciona?
Puede ser que mBot se quede enganchado con algún código anterior, la solución es resetear mBot y luego hacer el programa.
Matriz Led
Con este simpática matriz, tenemos mucho juego:
Enviar un dibujo
La instrucción es show drawing y si hacemos dos clicks nos permite poner el gráfico que queramos, incluso guardarlo en favoritos!
Reto
Realizar un programa como en anterior pero en vez de huir, que sonria. Es decir, si pongo la mano delante sale una cara sonriente.
Solución
Qué simpático ¿no?
También puede ser que se ponga triste si no se pone la mano
¿No funciona?
Puede ser que mBot se quede enganchado con algún código anterior, la solución es resetear mBot y luego hacer el programa.
Enviar un texto
Podemos enviar un texto, con la instrucción show face:
Esto envía en las coordenadas 0,0 la palabra CATEDU pero.... ¡¡SALE CAT!!
Claro ! no cabe!! ¿cómo lo hacemos? esto requiere más programación:
Nota: Aquí se trabaja con el concepto de variables: Ves a Data&Blocks y crea una variable x
¿y si hacemos este programa?¿cómo sale las letras CATEDU?
Puedes probar con este mensaje sofisticado
Enviar la hora
Pfff.... este curso es largo ¿qué hora es? que nos lo diga:
Fuente de las imágenes: Capturas de pantalla mBlock. Programas: el autor.
El robot no tiene reloj .. entonces ¿quien le dice la hora?
3. Ya!!!
3. Evitar obstáculos
Reto Roomba
Programa al mBot para que sea capaz de evitar cualquier obstáculo, paredes... usando el sensor de ultrasonidos, aunque el del vídeo le ha puesto sirena!!
Fuente: Autor
Solución
Solución sencillota:
Solución super-avanzada:
Al azar gira o derecha o izquierda
Si el obstáculo persiste a estar cerca (menos de 8cm) pues que recula un poco.
Entre una y otra solución hay varias intermedias.
Fuente: Captura de pantalla mBlock. Programa: el autor.
Una opción es salir de un laberinto, página descarga piezas 3D
Pero no le pongas cosas encima
3.1 Upload to Arduino
¿Por qué?
Si queremos que nuestro programa funcione independiente del ordenador, es decir grabar nuestro programa en el Arduino del mbot, y que funcione, claro!
También si queremos que nuestro mBot funcione más rápido, mejor o si "Dependiendo del ordenador" no hace las cosas del todo bien.
Esto tiene una pega
En nuestro programa no podemos utilizar ningún comando propio de Scratch, es decir por ejemplo en Aparencia "Decir Hello" pues corresponde al personaje "panda" del programa Scratch-mBlock
¿Cómo se hace?
- Desconectamos nuestro mbot del ordenador, la conexión inalámbrica que teníamos
- Conectamos el mbot con el cable USB y encendemos:
- Conectamos el mblock con mbot por el puerto serie, automáticamente pone el puerto que ha detectado, porque antes hemos dado a instalar el driver del Arduino, será el último puerto que se ha instalado (en la foto COM3):
- Cambiamos en nuestro programa el comienzo del programa (el de la bandera) por uno propio del robot:
- Con el botón derecho, pinchamos en el mBot program y elegimos Upload Arduino, o más fácil en Editar- Modo Arduino:
- Se nos abrirá una ventana con el CODIGO PARA GRABARLO EN EL ARDUINO DEL ROBOT, incluso PODEMOS MODIFICAR LO QUE QUERAMOS, le damos a UPLOAD TU ARDUINO
CURIOSIDADES: El código que aparece a la derecha es código de Arduino, lo podemos modificar si sabemos, y si no sabemos... pues podemos hacer nuestros atrevimientos ¿qué pasaría si en el anterior código cambiamos SetBrightness(6) por SetBrightness(3) ? pues que la matriz brilla menos!!
- YA ESTÁ si dice un mensaje de que se ha grabado correctamente PODEMOS FUNCIONAR EL PROGRAMA DEL ROBOT SIN EL ORDENADOR ENCENDIDO!!, podemos quitar el cable usb y nuestro robot funciona independiente.
Al terminar, deja las cosas como estaban,
No sea que el siguiente quiera utilizar el robot de forma "dependiendo del ordenador" y se encuentra que funciona con tu programa
Tenemos que QUITAR EL PROGRAMA que hemos instalado sino no puede volver a conectarse con el mBlock usando la bandera por ejemplo.
- Conectar el cable (ver paso 2)
- Conectar mBlock por el puerto serie (ver paso 3)
- Reseteamos el arduino, esto quitará nuestro programa y pone deja el robot como estaba antes:
Fuente de las imágenes: Captura de pantalla de mBlock. Las fotos: El autor.
¿te has liado? no me extraña, un vídeo a ver si te aclaras:
¿Y si hay algún problema?
Puede ser que nuestro Windows no reconozca mBot (o sea, no reconozca la placa Arduino) para eso, instalamos el Arduino Driver en nuestro programa mBlock:
¿Y si siguen los problemas?
Por si acaso han sacado una nueva actualización vamos a Actualizar el firmware:
- Conectamos el robot con el cable y encendemos
- En mBlock Conectar-Puerto serie- elegimos el último puerto que se ha creado al conectar el robot (en la foto COM3)
- En mBlock Conectar-Actualizar firmware
3.2 Quiero saber más
No te pierdas este libro Libro gratuito en Español Divirtiéndome con mBot ( PDF 145 páginas 14.5Mb )
3.3 Deja las cosas como estaban
No estaría nada mal que antes de devolver mBot lo devolvieses con la configuración de fábrica
Si no te acuerdas aquí lo tienes en flash o aquí en pdf
3.4 Muro
No te cortes !! muestra a los demás alumnos tus ejemplos :
Grupo Robótica educativa Aragón
Creditos
2017 por CATEDU (Javier Quintana Peiró).
Cualquier observación o detección de error en soporte.catedu.es
Los contenidos se distribuyen bajo licencia Creative Commons tipo BY-NC-SA excepto en los párrafos que se indique lo contrario.