Skip to main content

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

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. 

  • VENTAJAS
    • Te permite interactuar el Arduino y el ordenador, por ejemplo podemos hacer que cuando el detector de humedad detecte agua, que salga por pantalla un fondo acuático, o que pulsando una tecla del teclado se encienda un LED en la placa...
  • DESVENTAJAS
    • hay que cargar dentro del Arduino el Firmware exclusivo de mBlock para que Arduino haga caso a mBlock
    • Hay que tener nuestro ordenador como intermediario, se come los recursos y puede que nuestro programa ne la placa vaya lento
    • Por supuesto necesita tener ordenador conectado al Arduino, o sea, trabaja como un esclavo del ordenador.

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.

Programación en vivo. Comunicación nuestra placa electrónica 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:

  • órdenes específicas de la placa arduino (set digital...)
  • órdenes específicas del objeto que exista en mBlock (por defecto el oso panda) say .... switch costume to ....
  • órdenes del fondo switch backdrop to ...

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

TRUCO UTILIZAR VARIABLES GLOBALES

Se pueden crear variables, en cualquier objeto, y las lee cualquier objeto, por ejemplo podemos hacer una variable en la placa que sea ALARMA y ponerla a 1 cuando queramos que suene, y en el objeto oso panda que lea esa variable, si es 1 que diga ALARMAAAA

variablesglobales.jpg

TRUCO UTILIZAR MENSAJES

Cualquier objeto tiene a su disposición enviar mensajes a los otros, por ejemplo la placa Arduino puede enviar el mensaje ALARMA y el objeto panda, Al recibir mensaje ALARMA pues que diga ALARMAAAAAA

mensajes.jpg

TRUCO EXTENSIÓN BROADCAST = TRANSMITIR MENSAJES

Es parecido al anterior, instalar la extensión "Broadcast"

broadcast.jpg

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

  • En el mismo mensaje podemos transmitir valores asociados
  • Funciona EN MODO CARGA
    • Esto es muy útil pues hay instrucciones que sólo se pueden utilizar en modo CARGA, de esta manera podemos pasar valores de la placa electrónica a los objetos del ordenador (oso panda o lo que sea) simplemente teniendo conectado la placa con el ordenador.

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

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