Article Projecte Tu+TIC

Autors: Josep Bofarull (CRP Baix Penedès), Roger Meix (SSTT Ensenyament Tarragona)

PRI_SEC_EXP1617_PROGRAMACIÓ I ROBÒTICA DIDÀCTICA

 

Dificultat:   baixa  /   mitjana           

Programació i robòtica didàctica

Motivació/opinió

Molts mestres i professors utilitzen la programació i la robòtica didàctica a les seves classes. Està clar que aprendre a programar proporciona super-poders a les persones en la societat tecnificada actual, i les empreses cada vegada més demanen persones habituades a programar, per tant cal estendre el seu ús a moltes més escoles/instituts.

 

En aquest article fem un recull d’algunes de les eines més habituals per treballar la programació i la robòtica a l’aula.

 

Fa uns anys han aparegut llenguatges de programació de molt alt nivell (blocs) que permeten treballar seqüències lògiques i nocions bàsiques de programació a nivells educatius molt baixos (fins i tot infantil). Però aquests llenguatges també permeten en segons quins casos desenvolupar projectes de robòtica complexos sense necessitat d’utilitzar cap llenguatge de programació textual.

 

Actualment a infantil i primària s’està utilitzant molt la programació i la robòtica per treballar continguts de qualsevol matèria. A secundària aquesta utilitat no està tan establerta i es centra més en utilitzar la robòtica com motivació per l’alumnat en l’aprenentatge de la programació en si mateixa.

 

En aquest article ens centrem en eines/recursos gratuïts i de baix cost, per tant no parlaré gaire de LEGO. A cada eina/recurs indiquem els nivells on es pot utilitzar i expliquem algunes de les seves característiques. Conèixer aquestes característiques pot facilitar en alguns casos la feina del coordinador TIC del centre donat que es pot donar la necessitat d’instal·lar software i drivers a l’aula d’informàtica del centre.

Eines/recursos

1) Code.org (primària/secundària)

Aquesta eina s’utilitza amb el navegador web, per tant con cal fer cap instal·lació a l’aula d’informàtica. A continuació indico els passos a seguir per crear un compte de professor i fer les gestions bàsiques.

 

  • Iniciar sessió:

  • Anar a la pàgina d’inici del mestre i escollir el curs que ens interessi pels nostres alumnes, veure les categories, i provar si és el que volem que facin els nostres alumnes segons els continguts a treballar i les característiques del nostre grup d’alumnes:

    • L’hora del codi per a totes les edats

    • Cursos de 20 hores per a primària

    • Cursos de 20 hores per a ESO

    • Cursos anuals per a batxillerat

  • Crear el curs pels nostres alumnes: A dins de la pàgina d’inici del mestre anirem a “Comptes i progrés dels alumnes”

  • Nova secció per crear el curs:

  • Definir:

    • Secció: Nom que tindrà el curs

    • Tipus d’inici de sessió: Si els nostres alumnes no tenen adreça de correu electrònic es recomanable utilitzar identificació per picture.

    • Grau: El nivell del grup

    • Curs: Escollir el curs que han de fer.

Desar els canvis i anar a “Gestiona els alumnes” per afegir els nostres alumnes:

Els alumnes es poden afegir de 3 maneres:

  • Afegeix alumne: Permet afegir alumnes un a un.

  • Afegiu múltiples alumnes: És potser la manera més fàcil.

  • Move Students: Permet agafar els alumnes d’un altra secció creada prèviament.

  • Imprimir les targetes amb la informació d’accés dels teus alumnes

  • Anar a Progrés dels alumnes per fer el seguiment de la seva feina:

 

2) Robot Beebot (infantil/primària)

Els beebots o bluebots permeten començar a fer seqüències lògiques al mateix temps que es treballen continguts de qualsevol matèria, s’utilitzen molt a infantil i primària. El mestre pot dissenyar el taulell a utilitzar segons els continguts que es vulguin treballar en cada moment. En el cas dels bluebots es poden utilitzar programant amb una tablet els moviments, en aquest cas el robot es comunica per bluetooth.

beebot.png

Consultar preus al distribuïdor oficial: http://ro-botica.com/tienda/Bee-Bot/

 

Vídeo que explica el funcionament dels Blue-Bots

 

Recull d'activitats blue-bot

 

3) Scratch (primària/secundària)

Scratch és un llenguatge de programació que permet crear històries interactives, animacions, jocs, música i art. Hi ha alguns robots que es poden programar amb Scratch, incrementen molt les possibilitats d’aquest software.

Es pot utilitzar al navegador o amb el software instal·lat a l’ordinador. Si s’utilitza on-line es poden compartir els projectes.

scratch.png

Web Scratch

 

Descarrega Scratch

 

Guia d’iniciació

 

Scratch cards

 

Activitats scratch de codeclubcat.org . Recull d’activitats pautades per aprendre a realitzar projectes amb Scratch.

 

4) Blockly (primària/secundària)

Blockly de Google és un editor de programació visual basat en la web. Tot el codi és lliure i obert, es pot descarregar de github: https://github.com/google/blockly. Moltes empreses l’estan utilitzant per crear el seu propi entorn de programació de blocs pel seu propi robot.

 

Blockly Games és una sèrie de jocs per aprendre a programar. Està dissenyat per a nens que no han tingut experiència prèvia amb la programació. Al final d’aquests jocs, els jugadors estan preparats per utilitzar llenguatges basats en text convencionals, el problema està per arribar al final.

 

Tota la informació a: https://blockly-games.appspot.com/about?lang=es

Els jocs: https://blockly-games.appspot.com/

 

Moltes plataformes de programació educatives utilitzen blockly, com per exemple App Inventor, podeu llegir en aquest enllaç:  https://developers.google.com/blockly/

 

Un dels més destacats és Blockly for PICAXE (http://www.picaxe.com/Software/PICAXE/Blockly-for-PICAXE/), que permet programar els microcontroladors PICAXE que expliquem a continuació.

 

5) Robots Picaxe (primària/secundària)

Utilitzen un microcontrolador PIC de la casa microchip modificat amb un interpret de basic. Aquesta modificació la fa la empresa picaxe.com. Els microcontroladors picaxe ja s’utilitzaven en ensenyament abans de l’arribada de les plaques arduino basades en els microcontroladors atmel.

 

Tota la informació d’aquests microcontroladors es pot consultar a la web http://www.picaxe.com/What-Is-PICAXE d’Anglaterra. Inicialment era l’únic distribuidor, i si volies un xip, l’havies de comprar directament a l’empresa d’Anglaterra. Actualment tenim l’empresa Innovadidàctic a Olot que comercialitza aquests xips http://www.picaxe.biz/tienda/productos/1/1/ref-1676/picaxe-chips/1

 

Circuits necessaris per programar el microcontrolador
Tots els microcontroladors es programen per comunicació sèrie RS232 a 3 fils.
Per programar els microcontroladors PICAXE es pot utilitzar el cable axe027 que incorpora un xip que transforma la comunicació USB de l’ordinador a comunicació sèrie RS232.

Per fer aquesta transformació el cable en el seu connector USB incorpora un xip FTDI, per tant abans de poder utilitzar-lo cal instal·lar a l’ordinador el driver corresponent. Es pot trobar fàcilment a http://www.picaxe.com/Software/Drivers/AXE027-USB-Cable-Driver/ i la documentació per instal·lar-lo.
 

L’Equip Robolot ha desenvolupat la placa Imagina Android/Scratch que porta incorporat aquest xip, per tant en aquesta placa ja no s’utilitza el cable axe027. La programació del microcontrolador es fa directament amb un cable USB/microUSB. En aquest cas el driver de la placa es pot descarregar de picaxe.es

 

imagina_scratch_FTDI_DRIVER.png

 

6) Robots amb moto-reductors de corrent continu (primaria/secundària)

Un robot típic és el que porta rodes. En el cas de voler controlar un robot amb motors cal utilitzar un driver de motors, donat que els microcontroladors no són capaços de donar als seus pins el corrent necessari per fer funcionar motors.

Quan es necessita més potència de sortida, com és el cas del control de motors, cal afegir components que amplifiquin el senyal que aquests microcontroladors lliuren a la seva sortida (els anomenem divers). Aquests amplificadors poden ser

molt simples, com és el cas dels transistors (veure esquema a continuació),

 

 

o més especialitats com són els xips pensats per tasques de control de motors (el més habitual L293D). A l’esquema següent es pot veure una configuració típica d’aquest xip que permet controlar el funcionament i sentit de gir de dos motors de corrent continu. Els pins 4,5,6 i 7 es connecten a pins digitals de sortida del microcontrolador:

7) Arduino (secundària)

Les plaques Arduino porten incorporat el xip FTDI de comunicacions i el microxip Atmel, però no porten cap altre element, com driver de motors o sensors. Per tant tot s’ha de connectar a la placa. per tal de facilitar la connexió hi ha infinitat de shields que s’uneixen directament a la placa Arduino.

 

A continuació fem un resum d’alguns dels entorns de programació més coneguts.

 

a)IDEArduino

És l’entorn de programació en C preparat per les plaques Arduino. És un entorn textual que sol originar moltes dificultats a l’alumnat de secundària.

Quan s’instal·la el software també instal·larà el driver de comunicacions del xip FTDI que porta incorporat la placa Arduino. Quan connectem una placa a l’ordinador la reconeixerà automàticament.

Es pot descarregar el software de la pàgina oficial d’Arduino:

https://www.arduino.cc/en/Main/Software

 

idearduino.png

 

b)mblock

És una versió xinesa d’scratch orientada a programar el robot mbot.

L’empresa que comercialitza el robot deixa una part accessible per utilitzar les plaques Arduino.

Aquest software està molt optimitzat donat que permet treballar amb el robot connectat o en mode desconnectat. En aquest cas el mateix software genera el codi en C a partir dels blocs, compila i transfereix al robot.

El problema està que la part del software per Arduino no està gaire desenvolupada, per motius evidents.

 

mBlock.png

 

c)ScractchX

La versió experimental d’Scratch permet afegir extensions per programar les plaques arduino.

arduino_blink_scratchx.png

 

d) Arduinoblocks

Un altre software basat en blockly que permet programar la arduino uno i generar el codi en C. Té algunes limitacions, entre elles: sols es poden programar plaques Arduino uno i no permet programar llistes.

 

http://www.arduinoblocks.com/blog/

http://www.arduinoblocks.com/

arduino-blocks.png

 

e) Snap4arduino

És l’aposta del Departament d’Ensenyament per programar Arduino a 3r. i 4t. d’ESO. És un entorn similar a Scratch però amb funcions més avançades. Està pensat per treballar amb la placa Arduino connectada a l’ordinador amb un firmware de comunicacions instal·lat al microcontrolador. Aquesta connexió es pot fer per cable o per bluetooth.

logo.png

Podeu consultar tota la informació del projecte a: http://snap4arduino.org/

 

Materials desenvolupats pel departament: http://ateneu.xtec.cat/wikiform/wikiexport/materials/crea3/index

 

8) Robot mbot

KIT_MBOT_makeblock_KIT_MBOT.jpg

 

Aquest robot es programa amb la versió d’scratch mblock que està perfectament adaptada a les característiques del robot.

Podeu consultar les seves característiques en aquest enllaç:

https://www.makeblock.es/productos/robot_educativo_mbot_plus/

 

9)Robots de l’equip Robolot

 

3DBot Arduino

 

placa imagina arduino.png

arduino uno.jpg

Arduino3dbot.jpg

 

Aquest robot utilitza una placa Arduino uno i el shield Imagina que incorpora el driver de motors i sensors que permeten programar molts reptes sense l’inconvenient del cablejat.

Podeu trobar tota la informació i el manual de pràctiques de programació amb snap4arduino en aquest enllaç:

http://www.picaxe.biz/tienda/producto/RBL0965-Snap4A/1/kit-imagina-arduino-3dbot-snap4arduino-

 

Enllaç al manual de pràctiques: https://dl.dropboxusercontent.com/u/13016054/MANUAL_IMAGINA_ARDUINO_Snap4A_REV1_0_ESP.pdf

 

Aquest model de robot té una carasterística molt destacada, l’electrònica va en una petita caixa 3D que es pot desmuntar del robot estirant, sense necessitat d’utilitzar cap eina. Això fa que es pugui utilitzar la placa arduino uno i el shield imagina en qualsevol altre projecte.

 

També es pot utilitzar un sensor de bluetooth, això fa que el robot pugui interactuar amb app’s fetes amb AppInventor per dispositius Android. Us deixo un exemple de app en la que vaig estar treballant per l’Imagina3Dbot fa un parell d’anys, però que encara és del tot operativa tant amb robots Arduino com Picaxe: https://sites.google.com/site/appimagina3dbot/home

 

3Dbot picaxe

 

placa imagina.png

Scratch3dbot.jpg

 

Aquest model és igual a l’anterior però l’electrònica és diferent. S’utilitza la placa imagina picaxe que incorpora els sensors, driver i xip de comunicacions.

La diferència important respecte al model amb Arduino és que està optimitzat per poder-se programar amb Scratch i Blockly.

Podeu consultar tota la informació del robot a:

http://www.picaxe.biz/tienda/producto/RBL0930-S/1/kit-imagina-scratch-3dbot

 

Enllaç directe al manual del robot.

 

10) Linkat: perfil de robòtica

 

El perfil de tecnologia i robòtica és un escriptori personalitzat que proporciona una interfície gràfica i un recull d'aplicacions destinat a estudiants de robòtica i programació.

El perfil robòtica es troba al paquet linkat-perfil-robotica i amb la seva instal·lació es crea automàticament l'usuari robòtica al sistema sense contrasenya. Aquest usuari disposa d'un conjunt de programes i eines en línia degudament classificades per categories al seu escriptori.

Instal·lació

Hi ha dos formes d'instal·lar el programi, només cal fer una de les dues opcions:

  • Mode gràfic:

  • Obrir des del menú Aplicacions / Eines del sistema / Administració / gestor de paquets Synaptic.

  • Pressionar el botó Refresca.

  • Pressionar el botó Cerca i realitzar la cerca del paquet linkat-perfil-robotica.

  • Fer botó dret a sobre del resultat i seleccionar Marca per a instal·lar.

  • Fer clic al botó Aplica

  • Mode text: Executar l'ordre següent:

 

sudo apt-get update && sudo apt-get install linkat-perfil-robotica


http://linkat.xtec.cat/portal_linkat/wikilinkat/index.php/Perfil_tecnologia_i_rob%C3%B2tica

 

Autors:

by-nc-sa.png

 

Josep Bofarull Martínez (Centre de Recursos del Baix Penedès)

Col·laboració

Roger Meix Manyà (Serveis Territorials d’Ensenyament a Tarragona)

27 d’abril de 2017