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:
- https://www.makeblock.es/tutoriales/mblock/
- https://www.makeblock.es/soporte/mblock/
- http://www.spc-makeblock.es/programa-tu-robot-con-scratch-y-mblock/
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:
- Getting started: http://www.web-robotica.com/arduino/como-programar-arduinogenuino-con-scratch-programa-mblock-descarga-gratis
- El cable amarillo: https://github.com/ElCableAmarillo/Introduccion-a-Arduino#mblock-scratch-y-arduino
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:
- https://github.com/ElCableAmarillo/Introduccion-a-la-programacion
- https://github.com/ElCableAmarillo/Introduccion-a-Arduino
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:
- http://makeblock.com/
- web de mblock:http://www.mblock.cc/
- Tienda: http://store.makeblock.com/
- Electrónica con mBlock: http://learn.makeblock.com/en/electronics/
- Web española: https://www.makeblock.es/
- Productos: https://www.makeblock.es/productos/
- Soporte: https://www.makeblock.es/soporte/
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:
- https://www.hwlibre.com/sencillo-shield-para-convertir-tu-arduino-uno-en-una-placa-de-makeblock/
- http://learn.makeblock.com/en/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:
- Robot: https://www.makeblock.es/productos/robot_educativo_mbot/
- Entorno gráfico de programación basado en scratch: http://www.mblock.cc/
- Descarga: http://www.mblock.cc/download/
- Programación: https://www.makeblock.es/soporte/mblock/
- Packs de extensiones: https://www.makeblock.es/productos/?t=mbot
- Bluetooth y 2.4G como opciones
- Librerías maleblock: https://github.com/Makeblock-official/Makeblock-Libraries
- firmware mBot: https://github.com/Makeblock-official/Makeblock-Libraries/tree/master/makeblock/examples/Firmware_For_mBlock
- Firmware factoria mBot: https://github.com/Makeblock-official/Makeblock-Libraries/blob/master/makeblock/examples/Firmware_For_mBlock/mbot_factory_firmware/mbot_factory_firmware.ino
Ejercicios Propuestos
Listado de materiales y prácticas de El cable amarillo:
- https://github.com/ElCableAmarillo/Listado-de-materiales
- https://github.com/ElCableAmarillo/Listado-de-practicas
Dos ejemplos con mBlock muy buenos en http://www.prometec.net/mblock/:
- Coche teledirigido con Bluetooth
- Robot siguelineas
Propuestas didácticas:
- Programar Arduino con mBlock: https://www.scolartic.com/documents/10180/0/Programamos_nuestra_placa_Arduino_gr_ficamente_con_mBlock_1481817824297/e1e495e5-14ff-4338-8752-92840e203fa5?version=1.0
- Robotica en primaria con mbot: https://www.scolartic.com/-/Robotica-en-primaria-con-mBot
Pingback: Saber Más Avanzado 2017 | Aprendiendo Arduino
Pingback: Proyectos Básicos con Arduino | Aprendiendo Arduino
por favor, contame cómo hiciste para que se vea en español. Al instalarlo no me ofrece esa posibilidad.
Me gustaLe gusta a 1 persona
En las pestaña language lo puedes hacer. ¿Que versión y Sistema operativo usas?
Me gustaLe gusta a 1 persona
Ya lo resolví, Muchas gracias.
Me gustaMe gusta
Pingback: Saber Más Gestión de Proyectos con Arduino | Aprendiendo Arduino
Pingback: Taller de Programación de Arduino por Bloques con mBlock | Aprendiendo Arduino