Programación Visual con mBlock

mBlock es un entorno gráfico de programación basado en el editor Scratch 2.0 para introducir de forma sencilla la programación y robótica en el aula.

Hemos visto en otro capítulo otro entorno de programación basado también en Scratch, el Scratch 4 Arduino o S4A, que guarda muchas similitudes con mBlock.

mBlock tiene algunas características que lo hacen más adecuado para trabajar con robots. Con S4A, tenemos que tener conexión permanente entre el PC y el Arduino, bien por cable o por Bluetooth. Al usar mBlock no tenemos este problema, ya que nos permite elegir la forma en la que queremos trabajar: ejecutándose en tiempo real en el PC (como en S4A necesitando cargar un firmware en la placa) o cargando el programa en la placa de forma que podamos prescindir del PC.

Cuando cargamos el programa en la placa, como hacemos con el IDE de Arduino, nos permite hacer robots autónomos al no tener que estar siempre conectados al PC. Además al cargar los programas de esta forma se puede ver el equivalente en código del programa que hayamos diseñado con los bloques, de forma que nos puede ayudar durante la transición de entorno gráfico a código.

Otra ventaja es que mBlock nos permite definir qué pines vamos a querer usar como entradas y cuáles como salidas. Por el contrario en S4A vienen predefinidos y a la hora de construir robots puede ser un inconveniente.

También mBlock permite descargar unos paquetes a los que llama extensiones con nuevos bloques que no vienen en la versión estándar que nos descargamos, y gracias a ellos podemos trabajar con componentes que es imposible de utilizar con S4A.

Entorno Programación

El entorno de programación de mBlock es gratuito, funciona con varios tipos de sistemas operativos y se descarga desde http://www.mblock.cc/download/

Al estilo de Arduino, mBlock ha sacado una beta de un entorno de programación on-line en http://editor.makeblock.com/ide.html

Una vez instalado vemos lo siguiente:

mBlock se compone de 5 partes principalmente:

  • Grupo de instrucciones clasificadas por colores en las siguientes categorías:
    • Movimiento: Conjunto de instrucciones relacionadas con el control de los pines de la tarjeta de Arduino, así como el control del movimiento de cualquier personaje del escenario.
    • Apariencia: Instrucciones orientadas a modificar el aspecto de los personajes de nuestra aplicación. Para el caso de Arduino, es un conjunto de instrucciones que apenas se utiliza.
    • Sonido: Conjunto de instrucciones relacionadas con la elaboración de aplicaciones musicales, emitiendo sonidos y notas musicales.
    • Lápiz: Scratch nos ofrece la posibilidad de que los personajes dejen un rastro durante sus movimientos por el escenario como si arrastrase un lápiz durante su trayectoria.
    • Control: Las instrucciones incluídas en esta sección son impresindibles para crear la lógica de nuestros programas. Incluyen condicionales, bucles y llamadas de procedimientos.
    • Sensores: Instrucciones de iteración con el ratón, el teclado, sonidos y los personajes.
    • Operadores: operaciones matemáticas, lógicas y con cadenas de texto.
    • Variables: Instrucciones para el almacenamiento y gestión de datos.
  • Instrucciones de programación: Las instrucciones de cada grupo corresponden a instrucciones de programación.
  • Editor: Es la parte principal donde estructuramos y programamos nuestro programa.
    • Programas: Se compone de todas las instrucciones que hace funcionar el código que programemos.
    • Disfraces: Cada objeto puede tener diferentes apariencias o disfraces para utilizar a lo largo de nuestro programa.
    • Sonido: También es posible añadir o grabar sonidos y guardarlos para futuros usos.
  • Escenario o ventana principal: Es el resultado de nuestro programa.
  • Objetos y sprites: Distinguimos principalmente los objetos de tipo Arduino y Sprites.
    • Los objetos de tipo arduino son aquellos que interactúan con Arduino.
    • Los sprites son similares al entorno de scratch y no interactúan con Arduino.

Modo Ejecutar Programa desde PC

En este modo es necesario siempre tener el Arduino o el robot siempre conectado al PC.

Para usar este modo comenzaremos el programa con un bloque de la categoría “Eventos”, normalmente con el bloque de la bandera verde. Y debajo de este colocamos el resto de bloques del programa.

Para ejecutar el programa desde el PC, primero tenemos que seleccionar la placa y el puerto serie al que esté conectado el Arduino. Conectamos el cable USB al Arduino y seleccionamos la placa en “Placas->Arduino UNO” y el puerto en “Conectar->Puerto Serie”.

A continuación “Conectar->Actualizar Firmware” y esperamos a que termine de cargarlo.

Tutoriales de uso:

Modo Subir Programa a Arduino

En este modo no cargamos un firmware a la placa sino que sube el programa al Arduino. En este modo usamos como inicio del programa el bloque “Programa de Arduino” que se encuentra en la categoría “Robots”.

Para este modo pulsamos sobre el bloque “Programa de Arduino”  o vamos a “Editar->Modo Arduino”. En la parte derecha de la pantalla aparecerá una pantalla con algunas opciones nuevas y el equivalente en código del programa que hemos hecho con los bloques.

Luego para subir el sketch al ordenador pulsamos sobre el botón “Subir a Arduino” y esperamos a que termine de cargar.

Tutorial para usar Arduino con mBlock:

Más información:

GitHub oficial de Makeblock

Donde podrás encontrar todo el código fuente de las librerías, firmware,software, planos … https://github.com/Makeblock-official

Librerías de Makeblock para IDE Arduino https://github.com/Makeblock-official/Makeblock-Libraries que nos permite programar los robots de makeblock con el IDE de Arduino.

Programación con mBlock

Puesto que mBlock está basado en scratch 2.0 la programación es igual a Scratch y solo hay un grupo de bloques adicionales para manejar los puertos de Arduino o de los robots.

Buen tutorial de programación: http://www.atlantistelecom.com/es/downloads2/makeblock_bloques_de_programacion.pdf

Programación de El Cable Amarillo:

Aplicaciones Móviles

Makeblock Aplicación para controlar tus robos desde móviles y tablets con SO Android

Makeblock HD Aplicación para controlar los robots de Makeblock desde iOS e iPad   

mBlockly  Con esta aplicación podrás programar tus robots desde tu iPad mediante un entorno similar a Scratch

MakeBlock

MakeBlock es la marca del hardware para el que está desarrollado mBlock, pero que también podemos usar con Arduino.

Enlaces:

Learn de makeblock: http://learn.makeblock.com/en/

Imprimir en 3D las piezas de MakeBlock: https://grabcad.com/library/data-of-makeblock-parts-1

Placas MakeBlock

Placa basada en Arduino mCore: http://learn.makeblock.com/en/mcore/

Makeblock Orion: http://learn.makeblock.com/en/makeblock-orion/

Shield para convertir un Arduino en un makeblock Me UNO Shield:

Robots Educativos

Kits de Robots: http://store.makeblock.com/robot-kit-series-STEM

Maker Kits: http://store.makeblock.com/maker-kits-STEM

mBot: http://store.makeblock.com/product/mbot-robot-kit

mBot Ranger: http://store.makeblock.com/product/mbot-ranger-robot-kit

Robot Educativo mBot:

Ejercicios Propuestos

Listado de materiales y prácticas de El cable amarillo:

Dos ejemplos con mBlock muy buenos en http://www.prometec.net/mblock/:

  • Coche teledirigido con Bluetooth
  • Robot siguelineas

Propuestas didácticas:

7 comentarios en “Programación Visual con mBlock

  1. Pingback: Saber Más Avanzado 2017 | Aprendiendo Arduino

  2. Pingback: Proyectos Básicos con Arduino | Aprendiendo Arduino

  3. Pingback: Saber Más Gestión de Proyectos con Arduino | Aprendiendo Arduino

  4. Pingback: Taller de Programación de Arduino por Bloques con mBlock | Aprendiendo Arduino

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.