¿QUÉ ES MAKEBLOCK? Makeblock es un sistema de piezas intercambiables de gran resistencia que se pueden montar entre ellas fácilmente y con infinidad de combinaciones. Makeblock es accesible a pequeños (a partir de 14 años) y adultos gracias a que presentan un sistema muy intuitivo tanto para su montaje como para su programación.
En los kits de Makeblock encontraremos diferentes piezas para montar nuestros robots: los elementos mecánicos y los elementos electrónicos. ●
Los elementos mecánicos son piezas de aluminio (vigas, planchas, ejes, engranajes, tornillos, ruedas, etc) con las que podemos montar diferentes estructuras.
Vigas ●
Ruedas
Planchas
Ejes
Los elementos electrónicos son los que nos permiten convertir la estructura mecánica en un robot.
Éstos son la placa base, motores, botones, leds,
zumbadores, sensores (distancia, luz, sonido etc), joysticks...
Placa Base
Motores
Sensor de Ultrasonidos
Joystick
Con ellas se pueden crear desde los más simples robots autómatas, robots avanzados como son los robots de minisumo, seguidores de línea, velocistas, seguidores de luz... o hasta potentes impresoras 3D. Además, todas las piezas son compatibles con Lego, pudiendo aprovechar así hacer prácticamente cualquier montaje de estructura. Ejemplos de piezas de Makeblock combinadas con Lego
Imágenes de distintos robots
Seguidor de líneas
Robot de Minisumo
Diferentes robots
Makeblock: ideal para los niños y principiantes Makeblock es la forma más sencilla para que los niños se inicien en el mundo de la programación, la electrónica y la mecánica porque aprenden mientras se divierten. Es una solución todoenuno creada especialmente para escuelas de primaria y que resulta ideal para empezar a practicar con la programación.
En la web de Makeblock se puede descargar un software completamente gratuito (llamado mBlock) para programar los robots. Así como también dispone de tutoriales para construir y programar prácticamente cualquier invención. En cuanto a los adultos, Makeblock está pensado tanto para aquellos que quieran iniciarse en el mundo de la robótica como para los más expertos, pudiendo crear en poco tiempo proyectos totalmente funcionales de una manera simple y eficaz.
CONSTRUCCIÓN DEL ROBOT Para poder dar vida a estos robots se utiliza la placa base incorporada y los elementos electrónicos (motores, botones, sensores, etc.), los cuales se tienen que conectar a ésta. Todos estos componentes están incluidos en el producto.
Gráfico de conexiones
Para realizar las conexiones no se requiere ninguna soldadura ya que la placa y los periféricos (o sea los elementos electrónicos) incorporan conexiones RJ25 (típicas clavijas de las líneas de teléfono) que permiten acoplarse y desacoplarse fácilmente.
No se requieren conocimientos técnicos para saber dónde se deben conectar los diferentes periféricos a la placa, ya que cada periférico tiene una pegatina de un color que debe coincidir con el color de alguna de las conexiones RJ25 de la placa base, creando así un sistema de conexiones muy intuitivo y fácil.
PROGRAMACIÓN DEL ROBOT Para programar el robot, se necesita un software que permite comunicarnos con el robot. Para comunicarnos con él también necesitamos un lenguaje de programación. Al igual que los humanos, que nos comunicamos con diferentes idiomas, en el mundo de la programación hay muchos lenguajes de programación. El problema de aprender estos
lenguajes de programación es que cuestan de entender y son muy técnicos, porque no es simple decirle al robot que encienda una luz o que vaya hacia delante y además, muchas veces entre diferentes lenguajes existe una diferencia abismal, igual que pasa entre el chino y el castellano. Estos lenguajes también cuestan de entender a simple vista porque suelen ser textos, números y símbolos sin ningún significado semántico, pero están basados en una lógica de programación. Para superar estos inconvenientes, Makeblock ha desarrollado un software para sus robots, mBlock, el cual está basado en Arduino y en Scratch2.0 (hardware y software libres). Y se ha convertido en una opción muy popular entre profesores y alumnos porque ha demostrado ser la herramienta de programación gráfica más intuitiva y fácil de usar a la hora de programar sencillos videojuegos, ya que está basado en un lenguaje de programación totalmente Visual. Programar es sencillo Para programar mBlock sólo hay que arrastrar unos bloques y conectarlos entre ellos como si de un puzzle se tratara, de esta manera no es necesario aprender un lenguaje de programación complejo y se centra así en la lógica de programación, que es la misma para todos los lenguajes. Además, es difícil equivocarse porque el propio software impide que se conecten bloques incompatibles. Una vez acabado el programa, debemos conectar el ordenador a la placa base (cerebro del Robot) con un cable micro USB o bluetooth para introducir el programa en ella y hacer que el robot funcione. Comunidades en internet de Makeblock mBlock está basado en Scratch 2.0, que es un software libre por lo que cualquier persona puede descargarse el software de manera gratuita, descargarse proyectos realizados por otras personas y replicarlo, modificarlos o mejorarlos. Existen muchas comunidades en internet totalmente gratuitas formadas por miles de usuarios basadas en el apoyo mutuo, donde cualquier persona puede preguntar dudas o responderlas, publicar sus proyectos o descargar los de otras personas, realizar proyectos
de manera colectiva con usuarios de todo el mundo, todo esto también de manera gratuita. Las comunidades más importantes son las propias comunidades que encontramos en la web de Scratch 2.0 y para mBlock la comunidad de makeblock. EJEMPLO DE PROGRAMACIÓN Con un simple ejemplo, mostraremos lo sencillo que es programar un robot en mBlock. Imaginemos que queremos que el robot se mueva hacia adelante pero que se pare si detecta un obstáculo a menos de un metro de distancia. Para realizar este programa simplemente debemos conseguir que el robot vaya midiendo la distancia constantemente y comprobar si ésta es inferior a 100 cm para saber cuando parar los motores. Para que nuestro programa mida la distancia constantemente, hemos de crear un bucle (repetición infinita de alguna acción, en este caso la realización de las medidas), que se hace con el siguiente bloque:
bloque de bucle Para que el programa decida si el robot ha de pararse o no según la medida que realice el sensor, hemos de introducir el bloque condición dentro del bucle:
bloque de condición y dentro de este bloque introducir otro bloque con la condición que queremos que se cumpla, en este caso, si la medida es inferior a 100 cm:
Uniendo los 3 bloques anteriores, el programa nos quedará así;
Ahora tan solo queda introducir que ha de hacer el robot si se cumple o no dicha condición. Si la medida que hacemos es inferior a 100 cm, significa que estamos acercándonos a una pared, y para evitar el choque el robot se parará, mientras que si las medidas que va realizando el robot son más grandes de 100cm, el robot seguirá moviéndose hacia adelante. El bloque que nos permite mover los motores es:
Para ajustar la velocidad de los motores se puede desplegar la casilla de la velocidad o escribir directamente el número en su casilla:
dónde 255 es la máxima velocidad hacia delante, 255 la máxima velocidad hacia atrás y 0 es motores parados.
Como el robot tiene dos motores, se ha de fijar que los dos motores vayan hacia delante cuando la medida sea superior a 100cm con la velocidad deseada, en este caso 255, y que estén quietos (velocidad 0) cuando la medida sea menor a 100cm:
Y de esta sencilla forma hicimos un programa en mBlock. No obstante, si se requiere hacer programas más complejos (como una impresora 3D, un escáner láser, un drone, etc), este lenguaje visual no sirve ya que tiene limitaciones al estar pensado para niños. Pero como ya hemos comentado,mBlock está basado en Arduino, por lo que también se puede programar con Arduino, el cual también es software libre y presenta las mismas ventajas que Scratch 2.0, gratuidad, comunidades en internet, muchísima información en la red… aunque requiere unos conocimientos básicos de lenguaje de programación Arduino. De aquí el amplio espectro de edad y personas al que apunta mBlock, que abarca desde los más pequeños y adultos que quieran iniciarse hasta ingenieros expertos en el mundo de la robótica. A continuación se puede ver un ejemplo del programa anterior pero esta vez en código Arduino, en el que se puede observar la diferencia entre la programación Visual y clásica mediante un lenguaje de programación:
Referencias Makeblock: https://makeblock.es/ mBlock: http://www.mblock.cc/ Scratch: https://scratch.mit.edu/