mBlock és un entorn de programació molt bàsic pensat per a robots i plaques de MakeBlock, té un grtan avantatge de que recollix tot el necessari per a donar els primers passos en el món de la programació. Tant si dispossem d'un robot mBot amb totes les seues extensions, com si tan sols volem programar una placa amb Arduino, mBlock ens proporcioanarà totes les ferramentes necessàries per a poder treballar.
mBlock està basat en el llenguatge de programació Scratch, pel que resulta fàcil i intuitiu de programar. A més una vantatge important que presenta respecte a altres entorns és que es poden traduir els blocs de Scratch a C directament. Açò és interesant si volem introduïr C als alumnes que ja han vist Scratch.
Per a instal·lar mBlock podem descarregar-nos el paquet d'instal3lació desde la seua página web. En el nostre cas descarregarem la versió per a linux. Una vegada descarregat haurem de descomprimir el paquet per a poder iniciar el programa.
Iniciem el programa fent doble click sobre l'executable mBlock.
Només iniciar el mBlock ens apareixerà la següent pantalla:
El programa pot canviar l'entorn segons les nostres necessitat. Per a això anem al menú editar i ens trobarem amb le segëunts opcions:
Opció | Detalls |
---|---|
Esconde el escenario | Si al nostre programa no anem a necessitar l'escenari pdoem llevar-lo. |
Escenario pequeño | És el mateix entorn però l'escenari es redueix per a tenir més espai per als nostres blocs. |
Modo turbo | Accelera el dibuixat de l'escenari. |
Modo arduino | Amb el mode Arduino podem traduïr el nostre programa en Scratch a C i carregar-lo didrectament al nostre Arduino. |
Tenim també el menú Lenguaje i Archivo on podem escollir l'idioma i guardar i obrir projectes.
Segons el que volem fer haurem d'escollir un tipus de firmware diferent, lalvors haurem d'anar el menú Placas i escollim el model de placa o robot que anem a utilitzar.
Una vegada tinguem definida la placa, hem de definir com conectar-se al robot. Per a això anem al menú Conectar > Puerto Serie i podem verure com ens apareix el port /dev/ttyUSB0. Si no ens apareix és perquè no ha detectat el usb, això pot ser perquè no hem conectat correctament el usb o perquè no tenim permisos per a escriure en ell.
Llavors ens apareixeran tots els dispositius que tenim connectat. Seleccionem el port on tenim connectat el dispositiu que volem programar (en aquest cas /dev/ttyUSB0)
Podem veure com no podem seleccionar Actulitzar firmware, quan hagem seleccionat el usb eixes opcions ya podran ser escollides. Podem comprobar que s'ha connectat a la placa si en el nom de la finestra ens apareix la paraula "Connectat".
Ara hem d'actualitzar el firmware de la placa. EL firmware ens servirà per a poder executar els blocs sense necessitat de tenir que carregar-lo a la nostra placa. Cosa molt útil quan tractem de depurar el programa que estem construïnt. Li donem a actualitzar firmware, i quan acabe de carregar-lo ens apareixerà una finestra que ens avisarà de que el firmware ja està actualitzat.
Ara ka podrem començar a programar la nostra placa.
En funció del fimware que escollisques te van a aparèixer unes funcions, així, per exemple si escollim el firmware per a fer un projecte en mBot ens apreixeran totes les funcions correpesponents al Robot mBot. Per a poder veure les funcions hem de polsar en el botó Rbot. Aquest ens carregarà tots els mòduls de mBot.
Igualment podrem fer el mateix amb tots els robot derivats de mBot, com el mBot Ranger, també podem utilitzar el MakeBlock Me Orion (que és una palca ja preparada amb el xip ATMEGA per a utiltizar els connectors RJ25 de MakeBlock) així com el Mega Pi, que és altre dispositiu de MakeBlock per a pdoer controlar diversos motors.
Com podràs veure, en tots ells és necessari realitzar una xicoteta inversió econòmica en les plaques. Si dispossem ja de Arduino UNO als nostres centres també podem optar d'adquirir un shield ME UNO Shield (un shield és una placa que s'integra perfectament en la placa Arduino UNO i està dissenyada per a aquesta) per a poder utilitzar els components de MakeBlock.
El gran avantatge que tenen aquest tipus de plaques és que muntat un projecte amb diferetns compoenents es torna pràcticament trivial, ja sols hi ha que anar connectant connectors RJ25.
Per a començar a programar un mBot, hem d'haver carregat prèviament el firmware del mBot.
Abans de començar a programar qualsevol dispositiu hem de definir clarament que volem que faja. Així definirem les següents condicions:
Una vegada tinguem definit què volem que faja, hem de veure com ho implementem. Per a implementar-ho utilitzarem els dos sensors que detectec clar/obscur, un a la dreta i l'altre a l'esquerra i el sensor d'ultrasons que tenim davant del mBot:
Ens quedaria un digrama de blocs com el següent:
Que implementaríem en Scratch d'aquesta manera:
Una de les opcions a les quals podem treure profit a l'hora de programa en mBot, és la de crear blocs en mBlock (com funions quan programem). En el nostre cas hem creat dos blocs per a facilitar la nostra programació un poc. Hi ha que tenir en compte a quins ports estan connectats els diferents sensors.
En aquest cas hem canviat un parell de coses i afegit una funció sirena deprés d'implementar el diagrama. Podem descarregar el programa exemple d'ací .
Una vegada tinguem el programa fet podem anar provant si tenim el firmware del mBot carregar a la nostra placa, per a això simplement polsem sobre qualsevol bloc i veurem com apareix un contorn groc en el programa. això significa que està funcionant:
Tanmateix, també podem conèixer l'estat d'un sensor arrastrant un bloc solt on el llegixca específicament del sensor i polsar sobre ell. Al polsar sobre ell en donarà l'estat del sensor:
Una vegada ja hagem depurat el programa i ens hagem assegurat de que tot funciona correctament, podem carregar el programa a la nostra placa. Així, haurem d'anar a Editar > Modo Arduino i podrem veure el codi en C.
Li donem a Pujar Arxiu i es carregarà el programa a la nostra placa, de manera que ha podrem desconectarla de l'ordinador per a poder utilitzar el robot de manera autònoma.
El mBlock en Arduino s'utiltiza de manera similar que en mBot. La principal diferència és que no existeixen tants blocs per a Arduino com per a mBlock. Per a començar a programar en Arduino, el primer
Usar el mBlock en Arduino es muy similar que utilitzar el mBot. La principal diferencia es que no existen tantos bloques para Arduino como para mBlock. Para empezar a programar en Aduino, lo primero que tenemos que hacer es mBlock en LLiureX 16 el firmware para nuestra placa Arduino, en nuestro caso Arduino UNO.
Una vez tengamos cargado el firmware ya podemos programar en arduino. Esta es una de las dos formas de trabajar con Arduino en mBlock, aunque también podemos trabajar en modo Arduino.
En nuestro caso a modo de ejemplo vamos a crear un programa con 4 pulsadores y 4 leds, dos de los leds los encenderemos con dos pulsadores y los otros dos con dos botones del escenario de trabajo. Los otros dos pulsadores los usaremos para mover el muñeco hacia delante y girar.
Para hacer funcionar el código simplemente hemos de hacer click en uno de los bloques del escenario y veremos cómo los bloques se iluminan. Asimismo, podemos depurar el programa o analizar el funcionamiento de las entradas y las salidas simplemente clickando sobre algún bloque. De esta manera nos dará el resultado de esa entrada.
Es posible que sólo necesitemos programar el arduino para controlar algún proceso, y no nos sea necesario usar el escenario. Para ello podemos ir a Editar > Modo Arduino y veremos que nos aparece un entorno sin escenario. Es más, todas las opciones para interactuar con el escenario están deshabilitadas. El programa que creemos entonces será traducido automáticamente a C y cargarlo directamente a Arduino. De esta manera tendremos un programa autónomo sin necesidad de tener el cable usb enganchado a nuestro Arduino.
Además, si necesitamos funcionalidades que no tenemos en mBlock, podemos editar el programa com el IDE de Arduino.