PRIMEROS PASOS CON mBLOCK – II (makeblock education)

07 Abril 2019 01

07 Abril 2019 02

Autor:  Agustin Gonzalez Redondo. M Rocío García de la Fuente.

 

Como ya se comentó en el pasado artículo de esta serie, MBlock (figura 1) es un software de programación integral basado en Scratch 3.0 y diseñado para la educación que permite crear programas para el control de robot o establecer una comunicación entre robot y computadora de una forma relativamente sencilla.

Teniendo en cuenta la anterior definición, es posible crear un programa que controle un autómata y a la vez su estado pueda ser controlado por un ordenador, de forma similar al programa S4A.

Así pues el presente artículo pretende dar continuidad a su predecesor, analizando a través de un ejemplo un nuevo modo de trabajo: La Ejecución desde el ordenador de un programa.

Este modo en el cual es necesario tener la placa conectada al ordenador a través del cable USB,  puede ser útil para proyectos estáticos, donde puede ser interesante monitorizar en cada momento lo que está ocurriendo con el autómata (similar al modo de trabajo de S4A).

Para dar continuidad al artículo anterior, el proyecto que se va a realizar a modo de ejemplo es, nuevamente, el ciclo de encendido y apagado de un semáforo, en el que en una primera etapa se ejecutará desde el ordenador, monitorizando en cada instante el estado de encendido de las distintas luces que lo componen.

 

 

Recordando, de nuevo, el material necesario para llevar a cabo la práctica:

  • 1 Placa de Arduino UNO.
  • 1 Protoboard donde conectar los diodos LED.
  • 4 cables de conexión.
  • 3 Diodo Led (rojo, amarillo y verde del semáforo).
  • 3 Resistencia de 220Ω para conectar en serie con los diodos.

Una vez instalado todo correctamente, siguiendo el esquema elaborado con Fritzing (figura 2), donde los colores rojo, amarillo y verde se conectan a los pines 13, 12 y 11 de Arduino respectivamente. Se realiza un sencillo programa de Scratch para controlar el autómata.

Y a continuación se modifica el fondo y se crean, empleando el editor gráfico presente en el programa, los objetos necesarios para dar vida a la animación en tiempo real del estado de funcionamiento del autómata (figura 3):

  • Fondo: con la forma del semáforo.
  • Objeto 1. Luz Roja.
  • Objeto 2. Luz Verde.
  • Objeto 3. Luz Amarilla.

07 Abril 2019 03

Al tratarse de un programa que se ejecuta desde el ordenador comienza con la instrucción “al presionar bandera” (figura 4) o cualquier otro de los eventos de inicio del programa. Se crean tres variables para gestionar la dinámica de funcionamiento del autómata, “rojo”, “amarillo” y “verde” que tomarán valor uno cuando la luz que lleva su nombre deba estar encendida y cero en caso contrario (figura 5).

 07 Abril 2019 04 07 Abril 2019 05

 

De esta forma el programa que controla el flujo de luces es el siguiente (figura 6), donde las luces verde y roja permanecen encendidas durante tres segundos y la amarilla solamente segundo y medio. Se inicia con un bucle de repetición continua dentro del que se suceden de forma continuada los estados de cada una de las luces que configuran el semáforo.

07 Abril 2019 06

Para que cada una de las luces aparezca en el momento adecuado, en cada uno de los objetos se incluyen las siguientes líneas de código para esconder o mostrar el objeto cuando esto sea necesario (figura 7). Y que consta de un bucle continuo dentro del que se encuentra un condicional doble, donde el objeto se muestra cuando el estado de la luz correspondiente sea encendido (1) y se esconde en caso contrario.

07 Abril 2019 07

Hasta el momento no hay ninguna novedad con respecto a Scratch, se trata de un sencillo programa para controlar el encendido y apagado en pantalla de las luces de un semáforo. Simplemente se añaden los bloques de cambio de estado, de cada PIN de Arduino conectado a los diferentes diodos LED (figura 8), ALTO cuando el diodo está encendido y BAJO si está apagado.

07 Abril 2019 08

Por último resta, ejecutar el programa desde el ordenador, aunque primero hay seleccionar la placa y el puerto serie al que esté conectado el Arduino y se selecciona la placa en “Placas->Arduino UNO” (figura 9) y el puerto en “Conectar->Puerto Serie” (figura 10) en el menú de mBlock.

07 Abril 2019 09 07 Abril 2019 10

Una vez hecho este paso preliminar se pasará a descargar el Firmware de comunicación con la placa de Arduino, y que posteriormente permitirá ejecutar el programa desde el ordenador (figura 11).

07 Abril 2019 11

Finalizada la descarga del programa de comunicación, la ejecución del programa se lleva a cabo como la de cualquier otro programa de Scratch, con la salvedad de que, en este caso, se están ejecutando al mismo tiempo un programa gráfico en pantalla que representa lo que está ocurriendo en la tarjeta de forma física (figura 12).

07 Abril 2019 12

Así pues, mBlock se trata de un programa de programación para distintas plataformas entre las que cabe destacar Arduino IDE, que emplea para el desarrollo de código las mismas herramientas que Scratch, plataforma en la que está basado, y permite desarrollar programas donde la comunicación con el ordenador es un factor importante para conocer el estado del autómata en cada instante a través de in Firmware especifico, figura 12, o bien ejecutar directamente un programa descargado en la tarjeta del autómata, permitiendo su funcionamiento de forma totalmente independiente.

Robótica-Programación

Introducción a la física de partículas y observación (Muon detector)

AUTORES: M. ROCÍO GARCÍA DE LA FUENTE Y AGUSTÍN GONZÁLEZ REDONDO. Para comenzar este artículo es preciso realizar una breve introducción al modelo estándar de partículas, para intentar comprender el conocimiento científico que yace detrás del proyecto que trataremos de explicar. El modelo standard (fuente CERN) figura 1. Desde la década de 1930 los descubrimientos […]

Leer más
Robótica-Programación

Control de motores Arduino (IV). Motores Paso a Paso

AUTORES: M. ROCÍO GARCÍA DE LA FUENTE Y AGUSTÍN GONZÁLEZ REDONDO El segundo tipo de motores capaces de controlar su posición de forma interna, los servomotores fueron los primeros que hemos tratado en anteriores artículos, son los motores paso a paso (figura 4. Varios modelos de motores paso a paso), dispositivos ampliamente empleados en impresoras […]

Leer más
Robótica-Programación

Python ·3D con Processing

AUTORES: M. ROCÍO GARCÍA DE LA FUENTE Y AGUSTÍN GONZÁLEZ REDONDO. Hoy volvemos de nuevo a trabajar con Python, en este caso, añadimos nuevas posibilidades a una IDE que ya conocemos, Processing, además de trabajar con este lenguaje de programación realizaremos una primera animación en 3D. Para comenzar debemos añadir un nuevo modo de trabajo […]

Leer más
MENÚ
Revista