ScratchX

Avui parlarem del lloc web scratchx.org i de les possibilitats que ofereix el fet de connectar i programar amb Scratch maquinari extern, com ara robots i dispositius electrònics, i altres recursos en línia, com dades i serveis web.

Abans, però, partirem del que inclou la versió oficial de Scratch. Tant l’editor en línia com el fora de línia de Scratch 2 mostren els blocs classificats en 10 colors; el darrer, de color indi, és una categoria especial: “Més blocs” permet crear blocs propis i afegir una extensió.

En aquests moments hi ha tres maquinaris que podem connectar a Scratch (oficial): la placa PicoBoard i les dues versions del kit d’introducció a la robòtica de LEGO® Education: WeDo 1 i WeDo 2.0. No entrarem en detalls sobre cada un d’ells però sí convé que sapigueu que en aquesta pàgina trobareu indicacions sobre com connectar-ho: estan disponibles en català, només cal que aneu al peu de la pàgina i trieu Català.

M’agradaria connectar i programar amb Scratch un altre robot: és possible?

Doncs sí i no alhora! 😉 Cada vegada trobem més varietat de robots educatius i altres propostes de tecnologia creativa (m’agrada especialment aquest concepte!). Si bé és cert que cada fabricant acostuma a crear el seu propi programa per connectar-ho, cada cop trobem més ginys que funcionen amb Scratch — però no amb la versió oficial (que, com hem vist, només accepta tres), sinó amb ScratchX!

Què és ScratchX?

ScratchX és una plataforma que ens permet provar funcionalitats experimentals que han estat desenvolupades per al llenguatge de programació visual Scratch. En altres paraules: és el laboratori de proves de Scratch pel que fa a connexions amb altres dispositius i aplicacions.

No estem parlant d’una alternativa com a tal al lloc web de Scratch, ja que ScratchX deixa de banda la part de la comunitat en línia i, per tant, no hi podem crear un usuari ni iniciar sessió. Tampoc parlem d’una versió més avançada de Scratch: això més aviat seria Snap!

Així doncs, ScratchX afegeix un seguit de blocs nous en la categoria Més blocs, igual que passava amb les extensions “oficials”.

Aleshores, per què una nova pàgina?

Les extensions “oficials” estan provades i reconegudes per l’equip de Scratch, de manera que poden assegurar que són fiables. En canvi, ScratchX està obert a qualsevol desenvolupador que vulgui generar una nova extensió, per aquest motiu sempre trobarem el missatge emergent alertant dels riscos: l’únic que haurem de vigilar és no facilitar cap contrasenya ni cap informació que ens identifiqui, ja que com dèiem en cap cas haurem d’iniciar la sessió.

Què fa que sigui un recurs molt poderós?

A ScratchX podem connectar en un mateix projecte tantes extensions com vulguem. Només cal que obrim un projecte en blanc, fem clic a Load Experimental Extension i enganxem l’adreça url de l’extensió corresponent. Al final de cada extensió que presento he posat l’adreça url corresponent: és aquesta la que haureu d’introduir en el camp corresponent.

Per què és poderós? Després de presentar les diferents extensions plantejaré un recull d’idees: veureu que les possibilitats són infinites!

Connector d’extensions (Scratch Device Plugin)

Abans de poder utilitzar les extensions que utilitzen maquinari (les que classificaré més endavant) haurem de descarregar i instal·lar el Connector d’extensions o Scratch Device Plugin. En aquesta pàgina trobarem les indicacions de com instal·lar-ho, disponible en català (es pot canviar l’idioma al peu de la pàgina).

També haurem de tenir en compte que ara per ara només funciona en Mac OS X i Windows. Pel que fa al navegador, va en funció de l’extensió: la majoria funcionen amb Chrome però no totes, per això serà important llegir les especificacions que dona cada desenvolupador.

Ara sí, anem a veure quines extensions hi podem trobar:

Recursos en línia

Spotify

Aquesta extensió creada per Eric Rosenbaum permet animar i reinventar milions de cançons. Aprofitant el repositori públic de Spotify, pel qual no cal tenir compte ni iniciar sessió enlloc, podem introduir fins a 30 segons de qualsevol cançó (acostuma a ser la tornada o la part més coneguda). Així, amb el seguit de blocs propis d’aquesta extensió podrem fer ballar els personatges al ritme de la música i molt més!

No us perdeu aquest vídeo del Frank Sabaté:

Més informació i exemples amb aquesta extensió en aquesta pàgina. Url per a connexió múltiple: https://ericrosenbaum.github.io/spotify-extension/extension.js

Firebase Mesh

La idea d’aquesta extensió creada per Connor Hudson és senzilla: permet comunicar tants ordinadors com vulguem a través de la xarxa. Utilitza el mateix concepte que els blocs “envia a tots el missatge” i “quan rebi el missatge” de la categoria d’Esdeveniments, però a diferència d’aquests que són interns del projecte, quan executi el bloc “mesh broadcast”, rebrà el missatge qualsevol ordinador del món que tingui el projecte actiu en aquell moment. Una idea interessant per fer un efecte dòmino entre els diferents ordinadors de l’aula!

En aquesta pàgina trobem el projecte de mostra i més informació sobre l’extensió en aquesta altra. Url per a connexió múltiple: http://technoboy10.tk/mesh/mesh.js

Text to Speech

Aquesta extensió desenvolupada per Sayamindu Dasgupta permet l’ordinador reprodueixi allò que escrivim. D’aquesta manera, podem sentir pels altaveus allò que diu un personatge o crear un joc tipus “El Gran Dictat” com el del vídeo del Frank.

Més informació i exemples amb aquesta extensió en aquesta pàgina. Url per a connexió múltiple: http://sayamindu.github.io/scratch-extensions/text-to-speech/text_to_speech_extension.js

Sound Synthesizer

Aquesta extensió creada per Eric Rosenbaum posa a disposició un seguit de blocs que ens permeten generar sons de sintetitzador. Fins ara, amb la versió oficial de Scratch podíem reproduir sons de la galeria, enregistrar-ne de propis amb l’altaveu, incorporar fitxers d’àudio o bé fer una composició musical fruit d’un seguit de notes amb diferents timbres d’instruments.

Aquesta extensió ens permet experimentar amb un sintetitzador de sons amb blocs que controlen la freqüència i la forma d’ona, i efectes com eco, pan (que soni per la dreta o l’esquerra), lliscament i wah. En definitiva, un recurs interessant per fer un laboratori de sons.

Més informació i exemples amb aquesta extensió en aquesta pàgina. Url per a connexió múltiple: http://ericrosenbaum.github.io/tone-synth-extension/tone-synth.js

Weather

Aquesta extensió desenvolupada per Sayamindu Dasgupta i Kreg Hanning permet accedir a la informació meteorològica en temps real gràcies a les dades proporcionades per OpenWeatherMap.

Els blocs que proporciona són: temperatura, condicions meteorològiques (com ara cel ennuvolat), % d’humitat, força del vent i % de nuvolositat. A més, ens permet veure els valors en graus fahrenheit (imperial) o celsius (metric).

Més informació i exemples amb aquesta extensió en aquesta pàgina. Url per a connexió múltiple: https://khanning.github.io/scratch-weather-extension/weather_extension.js

Altres amb recursos en línia

A ScratchX.org trobarem altres extensions que no utilitzen maquinari, com ara:

  • Twitter: permet introduir en un projecte el darrer tuit d’un usuari o amb una etiqueta o paraula concreta. Creat per Connor Hudson i Kreg Hanning. Url per a connexió: https://technoboy10.github.io/twitter/extension.js
  • Scratch3D: genera un entorn 3D amb Scratch. Creat per Stephen Lewis i John Goodwin. En el moment en què ho escric no es pot accedir a la documentació. Url per a connexió: http://scratch3d.github.io/Scratch3D_Beta/extension/ScratchThreeJS.js
  • ISS Tracker: permet fer un seguiment de l’estació Espacial Internacional. Creat per Kreg Hanning. Url per a connexió: https://khanning.github.io/scratch-isstracker-extension/iss_extension.js

Tecnologia creativa (maquinari)

Arduino

Actualment trobem diferents opcions per programar una placa Arduino amb un entorn visual com Scratch: Snap4ArduinomBlock, Bitbloq, Ardublock… Així doncs, per què triar Scratch Arduino Extension? Precisament pel que aporta ScratchX al permetre utilitzar tantes extensions alhora com vulguem!

Més informació i exemples amb aquesta extensió creada per Kreg Hanning i David Mellis en aquesta pàgina. Url per a connexió múltiple: http://khanning.github.io/scratch-arduino-extension/arduino_extension.js

LittleBits

Cada vegada és més popular a casa nostra LittleBits, sistema modular per crear circuits electrònics. Aquells que tingueu algun dels kits que inclouen el mòdul d’Arduino podreu programar-lo gràcies a aquesta extensió desenvolupada per Kreg Hanning.

Més informació i exemples amb aquesta extensió en aquesta pàgina. Url per a connexió múltiple: http://khanning.github.io/scratch-littlebits-extension/littlebits_extension.js

Leap Motion

Kreg Hanning també ha desenvolupat aquesta extensió que permet incorporar el reconeixement de mans en els projectes de Scratch. Mireu el joc que crea el Frank Sabaté en aquest vídeo i com l’utilitzen els Instròniks!

Més informació i exemples amb aquesta extensió en aquesta pàgina. Url per a connexió múltiple: http://khanning.github.io/scratch-leapmotion-extension/leapmotion_extension.js

EV3 + Scratch

Aquesta extensió permet programar el robot LEGO Education MINDSTORMS EV3 amb l’entorn Scratch. Quan Ken Aspeslagh va desenvolupar-la fa un any i mig funcionava amb Mac (navegador Safari) i Windows (navegadors Explorer i Firefox) però lamentablement a dia d’avui només es connecta amb Mac degut a que Explorer no carrega bé l’extensió i Firefox ja no suporta Flash. Tant de bo tinguem novetats aviat!

Més informació i exemples amb aquesta extensió en aquesta pàgina. Url per a connexió múltiple (Mac): http://kaspesla.github.io/ev3_scratch/ev3_scratch.js

Altres de tecnologia creativa

  • FTScratch: extensió per programar el kit d’introducció a la robòtica de Fischertechnik Education. Podreu veure un exemple en aquest vídeo del Frank Sabaté.
  • Makeblock: extensió per programar el robot mBot, cal instal·lar una extensió per al navegador Chrome.
  • Kinect2Scratch: si disposem d’un sensor Kinect també podem introduir-lo gràcies a l’extensió creada per Stephen Howell.
  • iRobot Create: permet programar el robot tipus Roomba. La pega és que no em consta que es comercialitzi al nostre país.
  • Intel RealSense: afegeix al projecte les funcionalitats de la càmera. Pel que sé, a dia d’avui només la poden adquirir desenvolupadors d’aplicacions.
  • Rb4s: per al robot RedBot de SparkFun.
  • Roamer: per al robot Roamer
  • Sensors i actuadors de Vernier
  • Xi: una connexió múltiple entre Arduino, BeagleBone Black i Raspberry Pi

Abans d’acabar aquest apartat cal dir que a ScratchX també podem connectar les extensions “oficials”: LEGO Education WeDo 1, WeDo 2.0 i la placa Picoboard.

Resum d’idees

Aquells qui heu arribat fins aquí és probable que us pregunteu què en traiem de tot plegat. Com he dit, ScratchX ofereix moltes possibilitats connectant entre sí diferents extensions i usant maquinari com el que hem presentat o com el fantàstic Makey Makey -simulador del teclat de l’ordinador- o fins i tot un lector de codis de barres, com ens mostra el Frank en aquest vídeo. Algunes propostes:

  • Construir  i programar una casa domòtica amb Arduino que pugui ser controlada a distància des de qualsevol lloc del món gràcies a l’extensió Firebase Mesh.
  • Simular la força del vent que s’està produint en diferents indrets del món en aquest mateix moment. Utilitzarem les extensions de Weather i la corresponent a un kit de robòtica amb motor.
  • Crear un theremin gràcies a l’extensió de Sound Synthesizer i el sensor de distància de WeDo, el d’ultrasons de EV3, d’Arduino o LittleBits o amb Leap Motion.
  • Dissenyar un seguit de targetes amb una imatge o una paraula escrita en braille que inclogui un codi de barres per a que quan s’escanegi el codi amb el lector es senti el so corresponent. Es pot fer amb la funcionalitat Text to Speech o bé enregistrant els sons nosaltres mateixos (en aquest cas es pot fer amb Scratch).
  • Posar-nos a prova per veure si seguim el ritme de la cançó. Ho podem fer amb dos personatges: un programat per a que balli de manera independent i l’altre controlat per nosaltres amb Makey Makey o algun altre sensor.
  • Fer que un robot balli a diferents ritmes en funció de la cançó que soni. Per a això, utilitzarem les extensions de Spotify i la pròpia del robot: Arduino, EV3 o WeDo. Si no disposem del robot, ben divertit serà introduir una fotografia de nosaltres mateixos dins del projecte com a nou personatge que es mogui al ritme de la música!

 

I a vosaltres, se us acut alguna altra idea? 😉

#ForçaScratch (o, avui, #ForçaScratchX!)

Scratch a l’Índia

La passada setmana em va contactar l’Eduard Muntaner des de l’Índia ¿? si senyor heu llegit bé, l’Índia, jo vaig ser el primer sorprès. M’ha encantat “ciber”conèixer a aquest company de professió que un bon dia va agafar la motxilla i es va anar a col·laborar amb l’escola Shanti Bhavan al sud de l’Índia on desenvolupa un projecte de cooperació finançat per la Universitat de Girona ensenyant a les nenes i nens Robòtica Educativa i Intel·ligència Artificial per així estimular la creativitat i l’esperit crític dels nens.
I tot just han engegat unes classes d’Scratch per complementar aquests coneixements.
Enhorabona per la feina Eduard!!
Actualització, (les imatges no havien sortit correctament) aquí podeu veure als nens de 10é amb el seu robot i treballant a la classe.

Sensacions del Dia de l’Scratch al Citilab

La més intensa que vaig percebre va ser, quina sort que tenen els alumnes de tots aquests mestres involucrats i preocupats en com educar d’una forma més interessant, divertida i capdavantera. Enhorabona!!

Segurament la llavor plantada anys enrere per persones com el Ramón Cemeli, el Jordi Achon i tants d’altres, esta donant bons fruits.

Mestres entusiasmats amb el que fan com el Marco A. Rodriguez que ens va mostrar el que és la Computació Física, que nomes escoltar-lo ja donaven ganes de posar-se a programar un robot amb qualsevol peça que puguem trobar per casa.

Com la Carlota Bujons i el Fran Sabaté amb el seu Taller de Videojocs, fent que els més petits facin de mestres dels companys de la ESO mostrant-los l’ús de l’Scratch. Em van recordar passatges del vídeo “Pay Attention”, que vaig traduir al Català als inicis d’aquesta feina de divulgació que és ScratchCatalà, on en comptes de veure els vídeo jocs com un problema o pèrdua de temps, ho han fet servir com un eina per educar.

Com el Josep Mª Fargas presentant-nos el Taller de Robòtica Lego Bogatell-Icària, que amb l’ús del Lego i del Lego Mindstorms ens va mostrar, entre d’altres, com havien creat l’edifici de l’escola amb peces Lego reproduint planta per planta i explicant-nos la seva experiència amb aquest enginy de construcció i de petits robots.

Com el Jordi Orts que ens va instruir en què és un robot didàctic.

O com el Toni Moreno que degut a la seva fantàstica tasca amb els robots, fins i tot han creat un concurs de robots, el RobOlot que ja va per la seva 8ena. Edició i on participen instituts de tota Catalunya i fins i tot universitats.

El Jordi Achon, responsable de l’àrea de recursos educatius digitals del Servei TAC, ens va presentar l’espai Imagina dins la web de l’EDU365 on es poden trobar recursos per programar i per treballar amb robots.

El Jordi Delgado, Professor de la FIB i cap del projecte EduTech del Citilab va ser l’encarregat de parlar-nos de la importància d’ensenyar a programar als nens. Per què programar? Per tenir més informàtics?, no, per ajudar als nens a pensar d’una forma diferent i millor. Fer-los actius en el seu aprenentatge i no passius.

Aquí teniu algunes de les fotografies de l’esdeveniment.

Espero poder penjar ben aviat la sessió emesa per streaming pel Citilab.

Ensenyant als nens a programar

Des de Nova Zelanda el Nathan Torkington membre del OSCON (Open Source Conference) i coautor de llibres com The Perl Cookbook (El llibre de cuina de Perl “llenguatge de programació barreja de C i altres com Lisp, etc…”) fa unes reflexions de que i com s’ha d’ensenyar als nens i nenes a programar, o com diu ell en to humorístic, engendrar als futurs hackers.
En el podcast que podeu escoltar a http://itc.conversationsnetwork.org/shows/detail3971.html (aquesta vegada no l’he traduït, esta en versió original australiana) el Nathan comenta com es va involucrar en l’escola dels seus fills, proveint-la de maquinari i que el va portar “de facto” a convertir-se, sense voler, en l’Administrador de Sistemes de l’escola. Aquesta experiència juntament amb el seu alt nivell de coneixements en el món de la programació li duu a fer afirmacions com “La Programació es avui un coneixement bàsic que s’ha de tenir” potser sembla una mica exagerat però mirem al nostre entorn i intentem veure algun aparell electrònic que no dugui quelcom programat….
Ja ho heu fet? Haureu vist com el vostre televisor, automòbil, telefon, rentadora, ascensor, microones, etc… m’atreviria a dir que la totalitat d’aparells electrònics duen un enginy programat en el seu interior. Vol dir que el món que els espera estarà envoltat d’enginys programats i per tant adquirir coneixements en l’art de la programació serà un punt diferenciador per a ells.
Abans d’endinsar-se en l’Scratch va ensenyar als nens a programar els robots de Lego MindStorms, però assegura que fer seguir una línia dibuixada en un paper no era res encisador per els nens, en canvi amb l’Scratch, els nens tenen plena llibertat per crear i fer el que vulguin sense limitació alguna.
Ens dona alguns consells per ensenyar als nens i nenes a programar:

  • No intenteu explicar Java o Flash a un nen de 8 anys.
  • Fer-los llegir no funciona. En una classe plena de nens, tens 2 minuts d’atenció, per tant cal centrar-se en l’aprenentatge per la descoberta.
  • Ells encara no tenen un nivell suficient de matemàtiques. Parlar-los dels graus d’un quadrat potser massa avançat per ells, per tant cal crear els projectes amb això al cap.
  • Escriure amb el teclat de l’ordinador és encara una fita elevada.
  • La diferencia de sexe no és com ens pensem, “Tot funciona be amb les nenes” diu el Nathan, “elles son més endreçades, es concentren millor, tenen millors coneixements matemàtics i segueixen millor les instruccions”. “Els nens ràpidament volen crear un joc semblant al que juguen a la Play i són més ambiciosos”.
  • Estiga’t atent al que els interessa, ajuda’ls a fer el que ells vulguin, o no pararan atenció.
  • Ensenya’ls el bàsic i anima’ls a experimentar i a fer el que ells vulguin.

Els nens faran servir els seus nous coneixements per crear histories o jocs.

Acaba la seva intervenció convidant a l’audiència a involucrar-se com a voluntari en les escoles dels seus fills. Inclús si no saps que pots oferir, ves a l’escola i pregunta “Que necessiteu?” ajuda’ls a adquirir nou maquinari, ajuda als professors a adquirir nous coneixements, ells també tenen una necessitat d’aprenentatge en les noves tecnologies.

1er. Aniversari del Citilab

Els amics del Citilab han preparat una festa grossa per celebrar el seu 1er. Aniversari, ens han rebut amb tot un plegat d’activitats per entretenir als més petits i als no tant petits.

Han organitzat un recorregut per tot l’espai del Citilab on podíem realitzar tot un plegat d’activitats i jocs que mostraven el potencial que hi ha ficat dins aquestes parets de l’antiga fàbrica de Can Suris tant humà com material. A cada parada del recorregut calia superar una petita prova per tal d’aconseguir una targeta de pas que al final ens permetria desxifrar el misteri i recollir el nostre premi. Aquesta magnifica samarreta que porto posada a l’entrada del recinte.

Hem pogut fer un bateig aeri amb els simuladors de l’escola de vol, interactuar amb els robots, practicar amb l’Scratch, programar els LEGO Mindstorms, demostrar les nostres aptituds com a musics i veure una “exporetro” de tecnologia.

Enhorabona, ha estat un dia molt divertit i interessant i a més a més ple de gent tocant i gaudint de la tecnologia.