MONTAJE 1 SEMÁFORO con 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
OJO EXISTE LA VERSIÓN ONLINE la URL CORRECTA ES https://ide.mblock.cc/
NO UTIICES https://ide.makeblock.com/ pues no permite el logueo en Europa
DOS FORMAS DE PROGRAMAR EN MBLOCK :
OPCIÓN Programación en vivo
mBlock (y los otros EchidnaShield, 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.
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:
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
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
De esta manera si creamos una variable frase para todos los objetos:
Podemos usarla en el robot
y el programa del objeto que queramos, en este caso el oso panda lo puede visualizar
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
MÉTODO EXTENSIÓN BROADCAST = TRANSMITIR MENSAJES
Es parecido al anterior, hay que ir al + que hay abajo para instalar extensiones
Buscar la extensión "Broadcast" e instalarla
Se instala primero descargándola con el + aquí
Y luego añadir una vez descargada
Entonces aparecen unas nuevas instrucciones
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
- 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
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
LA CONFIGURACIÓN DE MBLOCK
Es importante seguir el orden de los pasos:
MONTAJE 1 SEMAFORO Y ECHIDNA USANDO DEVICE ECHIDNA (recomendado)
Entramos en mBlock, en Devices (borramos el que haya) y pulsamos al + para añadir un nuevo Device
Buscamos ECHIDNA y nos aparece uno desarrollado por Microlog, lo seleccionamos y lo añadimos
Nos vamos a SPRITE (quitamos el oso panda) y creamos el nuestro que será un simple semáforo
Como no existen semáforos, no pasa nada, creamos uno
Pintamos un semáforo, es muuuuy sencillo, le ponemos el nombre del SPRITE como SEMAFORO y los disfraces COSTUME el primero con el nombre ROJO
MONTAJE 1 SEMÁFORO Y ECHIDNA USANDO DEVICE ARDUINO
En este caso ponemos de Device un objeto ARDUINO-
Ponemos este programa con la Echidna y en mBlock hemos cambiado el disfraz del oso panda por tres círculos con tres disfraces, y el programa del objeto semáforo es
El programa en el objeto Arduino es el siguente
Todo el proyecto esta en https://planet.mblock.cc/project/3228189
Y este es el resultado: Video
Nota, esta realizado con mBlock3.0 que no era necesario enviar mensajes entre objetos y el arduino