1. Preparados

¿Qué es mBot?

No confundas
mBot
objetivo de este curso, basado en Arduino unos 125€ con matriz LED  https://www.robotix.es/es/mbot
mBot2
basado en Cyberpi unos 200€ https://www.robotix.es/es/mbot-2

mBot es un robot educativo de la empresa Makeblock, que persigue los siguientes objetivos:

  1. 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.
  2. El robot está diseñado para su uso escolar: resistente y económico
  3. 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, 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 No podemos hablar de este objetivo pues actualmente este equipo no se fabrica 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, ampliamente 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 directamente que lo tiene todo ya preparado.
Dentro de esta filosofía de libertad, los agujeros son compatibles con LEGO ampliando las posibilidades.


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 curso en Aularagon MCLON https://libros.catedu.es/books/mclon-con-nanoarduino

y un grupo en Twitter: @mClonRobot

embedded-image-pk7CkywQ.jpeg

¿Se puede simular?

¿Qué no tienes robot? no pasa nada, hay buenos simuladores https://scratch.mit.edu/projects/788113358/editor/

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 :

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.

Recomendamos usar la versión descargada y así no usar Internet, tenemos versión Windows y versión Mac, para Linux ver Robótica con Vitalinux

descargamblock.jpg

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.

Un vistazo a mBlock en la página de Robotopia :

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/

Componentes exteriores

Los componentes exteriores no importantes a la hora de programar del Kit son:

Componentes exteriores importantes a la hora de programar y que trataremos en este curso son:

Puedes elegir montar estos componentes en otros puertos, simplemente tienes que tenerlo en cuenta en la programación.
Si utilizas el kit de Catedu TE PEDIMOS NO MODIFICAR LOS PUERTOS PARA NO TENER PROBLEMAS CON LOS SIGUIENTES COMPAÑEROS QUE UTILICEN EL EQUIPO.

Fuente de las imágenes: http://makeblock.es/

Programación mBlock

mBlock es un programa especializado en el manejo de los robots de Makeblock (ver cursos de mBot en Aularagon), estos robots al principio estaban basados en Arduino por lo tanto este programa permitía programar Arduino. Actualmente permiten muchas arquitecturas de placas.

Se puede descargar gratuitamente en https://www.mblock.cc/en/download/, actualmente esta la versión 5, aunque verás que algunos vídeos de este curso enseñan la versión 3 pero las capturas se realizan en la versión actual

Dos formas de programar mBlock

OPCIÓN Programación en vivo

mBlock (y los otros S4A, Snap4Arduino... también) permite la programación en vivo Es decir, que el programa reside en el ordenador, y en la placa hay instalado un Firmware para ir escuchando y ejecutando lo que manda el ordenador. 

OPCIÓN Programación cargar a la placa

Todos los programas editores de Arduino (tanto los que programan con código como el Arduino IDE) como los editores de programas gráficos en bloque (mBlock, Snap4Arduino, Arduinoblocks, ...) permiten cargar el programa en la placa.  Las ventajas y desventajas son las opuestas de trabajar en vivo.

MÉTODOS PARA INTERACTUAR CON LOS OBJETOS

En mBlock 3.0 la comunicación era inmediata, fíjate en este script de una alarma:

embedded-image-xGEexnUg.jpeg

Mezcla en el mismo script:

Con mBlock 5.0 YA NO SE PUEDE, pero tenemos unos trucos

MÉTODO UTILIZAR VARIABLES GLOBALES                                                                          

Se pueden crear variables, en cualquier objeto, y las lee cualquier objeto,

Este método se utiliza con la opción EN VIVO

variablesglobales.jpg

De esta manera si creamos una variable frase para todos los objetos:

frase3.jpg

Podemos usarla en el robot

frase1.jpg

y el programa del objeto que queramos, en este caso el oso panda lo puede visualizar

frase2.jpg

MÉTODO UTILIZAR MENSAJES                                                                                  

Cualquier objeto tiene a su disposición enviar mensajes a los otros

Este método se utiliza con la opción EN VIVO

mensajes.jpg

MÉTODO EXTENSIÓN BROADCAST = TRANSMITIR MENSAJES                                  

Es parecido al anterior, hay que ir al + que hay abajo para instalar extensiones

arduino-pelotahinchadistancia3.png

Buscar la extensión "Broadcast" e instalarla 

broadcast.jpg

Se instala primero descargándola con el + aquí

broadcast1.png

Y luego añadir una vez descargada

broadcast2.png

Entonces aparecen unas nuevas instrucciones

broadcast3.png

Este método se utiliza con la opción EN CARGA

y se instalan unas instrucciones extras parecidas a las anteriores pero más potentes

El resto de objetos trabajan en modo vivo, es decir, si cambias un bloque, automáticamente se ven los efectos

A lo otros objetos TAMBIÉN hay que instalar la extensión BROADCAST

DESVENTAJA no se pueden transmitir mensajes de objetos a la placa. Sólo de la placa a los objetos

Preparando mBlock

Descargamos y ejecutamos mBlock desde la página de descargars de mBlock https://www.mblock.cc/en/download/

descargamblock.jpg

Podemos configurar el lenguaje

lenguajemblock.png

Vamos a Dispositivos, vemos pues como mBlock esta preparado para controlar distintos tipos de robot, destacamos Microbit, Arduino, .... bueno, al grano, vamos a añadir mBot

anadirmbotamblock.png

IMPORTANTE: ACTUALIZAR FIRMWARE

P.-Enciendes tu mBot, y de repente ¡¡se pone a hacer cosas !!! pero si no le programado aún  nada!!! ¿Cómo es posible?
R.-Seguramente tu equipo mBot, el anterior alumno ha dejado un programa dentro del mBot

ACTUALIZAREMOS EL FIRMWARE SIEMPRE QUE MBOT NO RESPONDA A MBLOCK

¿Cómo se hace?

  1. Conectamos mBot con el cable USB al ordenador y encenderlo
    conectarUSB.png
    Fuente el autor
  2. Pulsamos en mBlock "CONECTAR"
    conectarmBot.png

  3. En el diálogo seleccionamos USB y de todos los puertos USB seleccionamos el que esta conectado (suele ser el que propone) y CONECTAR
    conectarmBot2.png
  4. Una vez que la conexión ha sido un éxito, le damos a ACTUALIZAR
    conectarmBot3.png

  5. Sale un diálogo para elegir qué firmware quieres, si el de fábrica o el que existe en Internet, no hay mucha diferencia de versiones
    conectarmBot4.png
  6. Sale un mensaje de que se ha actualizado y advierte que SE VA DESCONECTAR EL DISPOSITIVO
    conectarmBot5.png
  7. Volvemos a conectar el dispositivo, es decir, repetimos los pasos PASO 2 Y PASO 3
  8. PROBARLO vamos al dispositivo mBot, nos aseguramos que esta en modo EN VIVO, elegimos una instrucción sencilla, por ejemplo vamos a LUZ Y SONIDO elegimos ENCIENDE LED TODOS EN ROJO DURANTE 1 SEGUNDO damos DOS CLICKS en esa instrucción y mBot tiene que responder
    conectarmBot6.png

EN VIVO ¿Eso qué es?

DOS MODOS DE FUNCIONAR MBOT

Hay que tener en cuenta que mBot tiene dos formas de funcionar:

¿Qué hace mBot EN VIVO dependiendo del ordenador?

En el modo EN VIVO, mBot obedece a un programa interno (Firmware) que es el que hemos puesto al ACTUALIZAR EL FIRMWARE

Este Firmware lo que le ordena a la placa Arduino es:

  1. Haz caso a las instrucciones del mando de IR ver figura de abajo
  2. Haz caso a la conexión con el ordenador y a las instrucciones que vengan por ahí

Esto tiene su importancia:

Instrucciones del mando IR en el firmware que viene por defecto (modo dependiendo del ordenador):

Fuente de las imágenes: http://makeblock.es/

AL ACTUALIZAR EL FIRMWARE ESTAS DICIENDO AL MBOT QUE TRABAJE EN VIVO


EN VIVO conexión 2.4 Bluetooth o cable

Tenemos dos opciones de comunicarnos con mBot, inalámbrica 2.4G o con cable, 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).

pincho24g.png
Pincho USB 2.4G fuente Makeblock.es

Cada pincho va asociado a un robot (o mejor dicho: a la mochila 2.4G están emparejados, si el led de la mochila parpadea es que ha perdido conexión, podemos emparejarlo haciendo una pulsación larga en el botón que hay en la mochila 2.4G.



Mochila 2.4G fuente makeblock.es

y conectamos el robot con el programa en Conectar- 2.4G Serial- Conectar

conexion24g.png

Si sale que esta conectado 2.4G ya podemos trabajar SOLO EN VIVO

conexion24g2.png

Podemos probarlo haciendo dos clicks a la instrucción de encender led rojo durante un segundo

conectarmBot6.png

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.

conectar-con-cable.png

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:


CARGAR

La opción de cargar tu programa en el mBot se hace simplemente

  1. Conectar el mBot por CABLE como lo hemos visto anterirormente
  2. Realizas tu programa
  3. Pulsa CARGAR
  4. Pulsa SUBIR y el programa va al mBot

cargar1.png

ATENCION, UNA VEZ CARGADO EL PROGRAMA, TE HAS "CARGADO" EL FIRMWARE por lo tanto si quieres volver a trabajar con el mBot EN VIVO tienes que volver a ACTUALIZAR EL FIRMWARE tal y como lo hemos visto

EN VIVO vs CARGAR

VENTAJAS EN VIVO

DESVENTAJAS EN VIVO

Cargar un programa tiene las ventajas y desventajas al revés de en vivo

OJO una vez que le das a CARGAR si quieres trabajar EN VIVO tienes que ACTUALIZAR EL HARDWARE

tontada.png

A JUGARRRRR !!!!

¿Lo probamos? venga!!! monta este sencillo programa. Las flechas te indican dónde está cada instrucción :

AJUGAR.png

Lo tienes aquí https://planet.mblock.cc/project/2999030

y como decía Joaquín Prat en el precio justo A jugaaarr !! 

Fuente http://lossesentas-mispersonajes.blogspot.com.es/2015/08/joaquin-prat.html

(si entiendes esto último, es que tienes la edad óptima para aprender a programar ;)

PONLE MÁS DIVERSIÓN

Pega en el mBot con cinta aislante una varilla sujeta globos, pon en un extremo un globo y en el otro extremo una aguja de coser también con cinta aislante

Se lo pasan genial !!!