Programant mons virtuals amb CoSpaces

Al febrer vam parlar en aquest blog de BeetleBlocks, l’entorn de programació visual per blocs que permet dissenyar formes tridimensionals que podien ser impreses en 3D. A l’abril, vam veure que Scratch3D, una de les extensions experimentals de ScratchX permetia generar entorns 3D amb Scratch (tot sigui dit, en l’actualitat no funciona com deuria). El que avui us presento combina aspectes de tots dos i ho fa molt i molt bé: d’entrada us diré que m’ha deixat bocabadat, així que sense més preàmbuls entrem en matèria!

Continua llegint «Programant mons virtuals amb CoSpaces»

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

Beetle Blocks

La impressió 3D és ja una realitat en molts centres educatius i llars i, si a això afegim l’interès creixent per a que infants i joves aprenguin a programar —amb els molts beneficis que comporta, el recurs que avui presento esdevé imprescindible.

Beetle Blocks és un entorn de programació visual per blocs que permet dissenyar formes tridimensionals. Però d’acord amb el que diu el Bernat Romagosa, desenvolupador principal d’aquest programari, en el fantàstic article El zoo de la computación, Beetle Blocks és més que una eina: és també una porta d’entrada molt atractiva al món de la computació.

A Beetle Blocks programem un escarabat virtual per a que, amb el seu moviment, vagi generant formes tridimensionals que posteriorment puguin ser impreses amb impressores 3D. Així doncs, al treballar amb aquest entorn ens familiaritzem amb els eixos X, Y i Z, les rotacions i les perspectives, les formes i figures 3D, les tonalitats de colors, l’extrusió…

L’editor de Beetle Blocks ens recorda al de Scratch, tot i que per ser més precisos en realitat es basa en Snap!, que ens permet dur a terme accions molt més complexes. Donat que començar pot resultar quelcom difícil si no estem familiaritzats amb aquests entorns, trobem un tutorial en el desplegable que mostra la primera icona del menú superior de l’editor. Així mateix, també trobem una galeria amb models d’exemple.

Aquesta eina és totalment gratuïta, de codi obert i l’editor està disponible en diferents idiomes, inclòs el català (clic a l’engranatge del menú superior). A més, des del passat desembre “The Beetle Cloud” permet compartir les creacions amb la resta de la comunitat. És a dir, podem veure els models creats per altres usuaris i no només això: en tot moment disposem del codi per a modificar-lo a plaer.

En l’àmbit educatiu trobem algunes experiències documentades, com la de Mrs. Pollard’s Code Club, encara que estic convençut que en els propers mesos cada vegada seran més els docents que apostaran per recursos de modelatge 3D amb entorns de disseny basats en codi com Beetle Blocks.

Pocket Code

Avui no parlarem de Scratch, encara que hi té molt a veure. Com bé sabeu, a dia d’avui Scratch encara no disposa d’una versió oficial per a dispositius mòbils (telèfon / tauleta). Si bé els més petits poden gaudir amb ScratchJr, disponible per a Android i iPad, encara no hi ha data prevista per al llançament de l’app de Scratch i som molts els qui busquem alternatives per aprendre a programar amb dispositius mòbils.

Pocket Code és una aplicació gratuïta que permet programar, jugar i compartir els propis jocs, animacions, creacions artístiques interactives, vídeos musicals i altres tipus d’apps directament en un telèfon mòbil o tauleta.

Darrere de Pocket Code hi ha la Universitat de Graz (Àustria) i Catrobat, associació internacional sense ànim de lucre. No es tracta només d’una aplicació, sinó d’un projecte de programari lliure i codi obert que pretén fer la programació tan fàcil com sigui possible. I és que, com s’explica a la secció per a desenvolupadors, Catrobat és en sí un llenguatge de programació visual inspirat en Scratch i un conjunt d’eines creatives per a telèfons intel·ligents, tauletes i navegadors.

En l’actualitat Pocket Code només està disponible a Google Play i, per tant, només es pot usar en telèfons i tauletes Android (es recomana que siguin de fins a 7″). Properament també sortiran les versions per a iOS, Windows Phone i en HTML5 per a navegadors.

Per què és interessant Pocket Code?

  • Trasllada el concepte de Scratch als dispositius mòbils: com succeeix també amb App Inventor, els infants i joves poden ser els creadors de les seves pròpies aplicacions.
  • Pocket Code aprofita al màxim les funcionalitats del dispositiu mòbil i permet crear interaccions amb l’acceleròmetre, el giroscopi, la brúixola, la localització, l’alçada… I no només això, podem usar la càmera del dispositiu per controlar objectes amb el reconeixement de cares.
  • L’aplicació no només permet descarregar programes creats per altres usuaris sinó que també inclou un conversor de programes de Scratch que importa aquells creats en ordinador i compartits al lloc web de Scratch. Val a dir que està en fase Beta de proves, però si és un programa senzill funciona.
  • Si tenim un robot LEGO Mindstorms NXT, Phiro, una placa Arduino o un ordinador Raspberry Pi estem d’enhorabona perquè podem afegir blocs addicionals per controlar-los des del dispositiu mòbil. Així mateix, podem establir interacció amb etiquetes NFC (comunicació de camp proper).
  • Com hem dit, es tracta d’un projecte de programari lliure i codi obert que pretén fer la programació tan fàcil com sigui possible.

A més, l’equip de voluntaris que conformen Catrobat també ha desenvolupat l’aplicació Pocket Paint, un editor d’imatges amb el quees poden dissenyar els objectes i imatges que formaran part del programa de Pocket Code.

Puc utilitzar Pocket Code a l’aula?

I tant! De fet, aquest és el propòsit de Catrobat education: en aquest lloc web trobarem documentació, consells, experiències i altres recursos per integrar-ho amb els alumnes.

Punt apart mereix el projecte europeu No One Left Behind, que fa ús de Pocket Code amb el propòsit d’identificar i alliberar tot el potencial dels estudiants a través del desenvolupament de videojocs. Des de l’any passat s’està duent a terme una prova pilot en tres països -Àustria, Espanya i Regne Unit- i de ben segur que els resultats proporcionaran noves perspectives i opinions sobre la forma d’estructurar i optimitzar entorns de creació de jocs per donar suport a l’empoderament i l’aprenentatge significatiu d’infants i joves.

Galaxy Game Jam

La Galaxy Game Jam és un esdeveniment en línia a nivell mundial que possibilita fer ús de l’aplicació Pocket Code per a que qualsevol que ho vulgui pugui crear els seus propis jocs i animacions directament des del telèfon mòbil.

Es pot participar fins el proper 31 de desembre i hi ha diferents categories: per propi compte, participant de manera individual, en parella o en grups de tres en la categoria entre 13 i 17 anys o majors de 18 anys, o bé participant en la categoria “Classe Escolar“, en la que una classe podrà presentar diferents programes. En tots els casos s’opten a premis com ordinadors, tauletes, telèfons mòbils o robots.

Sense dubte, aquest esdeveniment pot ser una bona oportunitat per descobrir Pocket Code i el munt de possibilitats que ofereix. Trobareu més informació a Galaxy Game Jam.

Pocket Code en català

En l’actualitat no trobem cap material de Pocket Code disponible en català, ni la mateixa aplicació ni els continguts addicionals com són la web o els recursos i materials per al seu ús en context educatiu. Igual que en Scratch, aquesta tasca la desenvolupen voluntaris així que si estàs interessat/da en participar trobaràs informació en aquesta pàgina. Així mateix, si vols formar part de l’equip de desenvolupadors pots visitar aquesta altra pàgina.

Llenguatges de programació visuals o llenguatges basats en text?

Avui compartim un article que han publicat aquesta mateixa setmana els amics de Programamos al seu mateix blog:

¿Lenguajes de programación visuales o lenguajes basados en texto?

L’article, escrit per Jesús Moreno León, exposa un seguit d’arguments al voltant del debat que es dóna actualment entre aquells que troben més encertat que infants i joves comencin a programar amb un llenguatge visual, com és el cas de Scratch, o amb un basat en text.

programar_amb_gp

Captures en paral·lel de dos programes creats amb GP, que permet veure el codi amb blocs i text gràcies al lliscador de la cantonada superior dreta. Aviat també en parlarem amb més detall.

Recomanem la lectura de l’article i dels comentaris sorgits arran del mateix: per descomptat podeu exposar els vostres arguments allà o en aquesta publicació!

Avaluant el codi d’un projecte Scratch

A la darrera Scratch MIT Conference celebrada durant els dies 6 al 9 d’Agost a Boston, els amics de Programamos.es han presentat una eina web per a poder avaluar un projecte Scratch, aquesta eina esta basada en Hairball un plug-in per a Python que es pot veure com funciona en la seva versió original aquí.
Els companys de Programamos.es li han donat un aspecte molt més amigable i han creat aquesta eina web Dr.Scratch

Continua llegint «Avaluant el codi d’un projecte Scratch»

Apunta’t als tallers de l’Espai Mandarina

Corre, corre que encara estas a temps d’inscriure’t a algun dels tallers de l’Espai Mandarina, tots ells dirigits a nens, joves i adults en l’àmbit de la ciència i la tecnologia, si estas pensant en endinsar-te en el món de la programació amb Scratch o creus que aquests coneixements son els que estaves cercant per al teu fill/filla, estas d’enhorabona ja que els dimarts teniu 2 tallers dirigits a nens d’entre 5 i 12 anys, un per a petits programadors i l’altre per a grans programadors 😉
En el següent enllaç teniu més informació, no ho deixeu passar!! teniu temps fins al 30 de Setembre 2013 per a reservar la vostra plaça.
Agenda dels Tallers de l’Espai Mandarina

AGENDA  Mandarina

Webinar sobre Pensament Computacional

Ja feia uns mesos que no escrivia res en aquest bloc, la feina, altres projectes i la vida familiar són els responsables, res que segurament qualsevol de vosaltres no patiu dia a dia.

En aquest article us vull parlar dels Webinar (seminaris via Web) que organitzen al ScratchED, la divisió del MIT dirigida als professors, on donen suport i intenten dinamitzar l’àrea de la programació dins el sector de l’ensenyament que és on s’ha de difondre Scratch per tal d’aconseguir arribar al major nombre de persones i en aquest cas al major nombre de professors per a que el facin servir en les seves aules i amb els seus alumnes, els veritables objectius d’Scratch.

En el proper Webinar, organitzen un cada mes, parlaran sobre els Conceptes del Pensament Computacional, “Computational Thinking Concepts”.
Tindrà lloc el dilluns 28 de Març entre les 7 i les 8 de la tarda hora de l’Est dels EUA, es a dir, entre les 12 i l’1 de la nit del dilluns hora catalana.
El Webinar esta organitzat via web en una finestra on es van mostrant les presentacions dels parlamentaris, una petita finestra on es poden veure aquestes persones via webcam i la llista de participants al Webinar i tot el que es va dient via chat, esta molt bé i és una molt bona forma d’aprendre dels millors, a més a més, ens pot servir per a practicar l’anglès doncs és l’idioma utilitzat a les presentacions.
Continua llegint «Webinar sobre Pensament Computacional»