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!)

Kinect2Scratch

Kinect2Scratch
En el darrer ScratchDay celebrat al MIT el 19 de Maig de 2012, l’Stephen Howell d’Irlanda va presentar un altre forma de connectar Scratch amb el món real, hauré d’afegir-la al recull d’articles creats al Nov2010!!, aquesta vegada es fa servir el sensor Kinect de Microsoft que incorpora una càmera, sensor de moviment i control per veu.
Kinect
Continua llegint «Kinect2Scratch»

Comunicacions en Scratch – 2 de 3

Un altre forma de connectar Scratch amb el món real és fent servir el Lego WeDo, unes peces de construcció del fabricant Lego que porten a més a més un petit motor que dona encara més possibilitats a aquest clàssic joc de construcció, dotant-lo de moviment.
A diferencia de la PicoBoard el Lego WeDo nomes informa a Scratch de 2 esdeveniments que puguin passar al món real, en canvi té el control dels motors Lego podent dominar-los des de’l nostre projecte.

Continua llegint «Comunicacions en Scratch – 2 de 3»

Scratch1.4rc candidata a ser la versió definitiva

Avui 7 de Juny de 2009 s’ha alliberat la versió Scratch1.4rc candidata a ser la versió definitiva, aquesta versió encara pot tenir algunes errades i l’equip del MIT l’ha posat a la nostra disposició per tal de que els ajudem a trobar totes les errades possibles.

La traducció al Català ha estat realitzada pel Jaume Ramos Prades i per mi. S’ha fet una traducció total, ja que abans hi havien algunes paraules no traduïdes. Si trobeu alguna errada en la traducció o creieu que es pot fer alguna millora d’algun terme, no dubteu en comunicar-ho a gmailme, entre tots segur que ho deixem perfecte i així la versió definitiva estarà lliure d’errades.

Tot seguit teniu el detall de les novetats d’aquesta versió.

Suport per pantalles petites

S’ha millorat l’entorn d’usuari per tal de que es pugui fer servir en ordinadors NoteBook amb pantalles tan petites com 800×480.

Tres modes de visualització

Scratch 1.4 te un nou mode de visualització de l’àrea de disseny/execució més petit per deixar més espai a l’àrea de programes i per poder veure’s en pantalles petites. Hi ha 3 nous botons en la part superior dreta de la finestra on podem escollir entre: mode escenari petit, mode escenari complert i mode presentació a pantalla complerta.

Nova barra de menú

Scratch ara fa servir una barra de menú amb Arxiu, Editar, Comparteix i opcions d’Ajuda. També tenim icones per Canviar el Llenguatge, Desar i Compartir els projectes. Les noves opcions o que han modificat d’alguna forma el seu comportament estan marcades amb un asterisc vermell “*”.

Finestra Scratch1.4rc

Miniatures de les animacions més petites

Per tenir més espai a l’àrea d’objectes/animacions, les miniatures de les animacions s’han fet més petites i s’ha tret la informació del nombre de vestits i programes de cada animació. Ara es pot veure el nombre de programes passant el ratolí per sobre de l’animació.

Càmera

Si tenim connectada al nostre ordinador una càmera, podrem fer-la servir per prendre fotografies i fer-les servir com objectes/animacions. Dins els vestits trobarem un botó que diu que automàticament l’engegarà i podreu prendre les vostres fotografies.

Provar un programa amb un sol clic

Per provar un bloc o programa, només cal fer clic a sobre d’ell. (Encara es pot fer servir el doble clic si així ho volem). Per veure el valor tornat per un bloc, només cal fer clic a sobre d’ell. (Això només funciona si el bloc torna valors i no esta inclòs dins un altre bloc.)

Clic i mantenir

Com alternativa al botó dret del ratolí, ara es pot fer clic i mantenir premut el ratolí (sense moure’l) per veure el menú contextual. (Aquesta opció s’ha afegit per donar suport a les pantalles tàctils, i també és útil pels usuaris de Mac)

Comentaris enganxats

Un comentari es pot enganxar a un bloc, així quan es mou el bloc, el comentari sempre va amb ell.

Nova carpeta “Els meus Projectes”

La carpeta per defecte per desar el projectes ha canviat, ara la carpeta es diu “Els meus Projectes” i es troba dins la carpeta de “Els Meus Documents” dels nostre ordinador. La carpeta d’exemples ara es troba dins una carpeta anomenada “Exemples”. Es pot accedir fàcilment a elles via els botons de la finestra d’Obrir i desar del Menú Arxiu.

Nous blocs i blocs revisats

Entrada des de teclat

  • El bloc  (dins la categoria Sensors) permet fer preguntes a l’usuari que haurà de respondre fent servir el teclat. La resposta es guarda dins el bloc

Operacions amb paraules (cadenes de caràcters)

La categoria “Nombres” s’ha renombrat per “Operadors” ja que ara conté blocs per treballar amb cadenes de caràcters.

  • El bloc  combina 2 cadenes de caràcters (paraules o altre caràcters).

  • El bloc  ens diu la lletra que es troba a la posició indicada dins la cadena de caràcters.

    El bloc  ens diu la llargada d’una cadena de caràcters.

Nou bloc de llistes

  • El bloc  es pot fer servir per cercar si la llista conté un valor concret.

Suport a LEGO® WeDoTM

Scratch ara es pot connectar amb el kit robotic de LEGO® Education WeDo™ . L’opció “Mostra blocs de Motor” dins el menú “Editar” fa que apareguin 5 nous blocs dins la categoria “Moviment”.

  •  activa el motor durant un nombre de segons.

  •  activa el motor.

  •  inactiva el motor.

  •  activa el motor amb un impuls entre (0-100).

  •  indica la direcció del motor.

També s’han afegit 2 nous sensors al bloc “valor del sensor”, inclinació i distancia . Per fer servir aquests sensors necessitem tenir el kit LEGO® Education WeDo™ que el podem trobar a www.legoeducation.com.

Altres canvis en els blocs

Els blocs de comparació ara poden tenir com argument un text escrit.

Els blocs que fan referencia a animacions (per ex. “distancia a”) ara accepten blocs que tornen valors.

Aquesta nova versió d’Scratch, la podeu trobar a la següent adreça: http://info.scratch.mit.edu/Scratch_1.4_Release_Candidate

Recordeu que si trobeu alguna cosa que es pot millorar o alguna errada de traducció, m’ho podeu fer saber per tal de poder-ho corregir abans de final de Juny que és quan esta previst que surti la versió definitiva.

Si trobeu alguna errada en el programa, es a dir, no fa el que hauria de fer us podeu dirigir directament al MIT help@scratch.mit.edu o a mi mateix que els hi faré arribar. Tota la informació possible serà benvinguda per resoldre qualsevol errada.