Scratch: Què és, com funciona, per a què serveix, experiència personal…

Benvolguts amics, avui us parlaré d’una de les meves eines preferides, l’Scratch, una eina molt versàtil que permet a nens, nenes, nois, noies i adults entrar en el fantàstic món de la programació, animacions, videojocs sense gaire dificultat i que, a més, permet molt de recorregut i aconseguir resultats molt potents. Benvinguts al món de l’Scratch!

Primer de tot comentar-vos que l’Scratch és una eina gratuïta desenvolupada en el MIT (Institut Tecnològic de Massachussets), una de les universitat tecnològiques de referència a nivell mundial, de fet és LA universitat tecnològica de referència a nivell mundial. Actualment Scratch està a la versió 2.0, però aquest agost vinent, esperem que després que haguem acabat els campus d’estiu, treuran la versió 3.0 que serà encara més potent que l’actual i permetrà, entre d’altres coses, poder fer servir l’Scratch des de la tablet (ja que deixarà de funcionar amb Flash i anirà amb html5).

Scratch és una eina per introduir la programació, els videojocs i les animacions a través de blocs, o sigui, el codi no és picat, sinó que tens un conjunt de blocs que els pots arrossegar per acabar fent un programa més complex. Jo sempre els hi explico als nois i noies que és com fer un puzzle, les peces han de quadrar i tenir una certa lògica per tal que  els personatges es moguin, que puguis sumar punts o fer el que ells vulguin.

El funcionament de l’Scratch és senzill, per començar a crear el teu propi programa és recomenable que et facis una conta (gratuïta també) o si ets professor, pots fer les diferents contes pels teus alumnes, d’aquesta manera el programa anirà quedant guardat en el núvol i no caldrà fer-ne cap descàrrega. Anem a analitzar les diferents parts.

  1. Interfície

M’agrada explicar que la interfície de l’Scratch té 4 parts ben diferenciades.

  • La barra superior: És on hi ha les diferents opcions de guardar, crear una còpia, desfer, consells, on hi ha el nostre nom d’usuari, i fins i tot, on hi ha els icones per fer els personatges més petits, grans, una còpia o eliminar-los (És la barra grisa superior)
  • La pantalla de joc: És la pantalla on passen les coses: on es mouen els personatges, on apareixen les variables, on sumem punts i també on hi ha el nom del nostre projecte amb les botos d’engegar (bandera verda) i aturar el joc (botó vermell).
  • La zona dels personatges i escenari: Està a la part inferior esquerra de la pantalla, just sota la pantalla de joc.
    • A la part esquerra trobem totes les opcions relacionades amb els escenaris (o fons), una miniatura del fons actual i les opcions per carregar fons nous ja siguin fons del propi Scratch, fons dibuixats per nosaltres (veureu que Scratch té una eina de dibuix semblant al Paint), fons d’imatges que tinguem al nostre ordinador i, fins i tot, carregar un fons que podem capturar amb la webcam de l’ordinador.
    • A la part dreta trobem la zona dels personatges on aparèixen tots els personatges, amb el seu nom, que aparèixen en el joc o animació (entenem com a personatge qualsevol objecte que pot interactuar, ja sigui a través de teclat, ratolí, veu, webcam, que es mogui o executi alguna acció i que podem programar), o sigui, no tenen perquè ser personatges que ens recordin a sers vius. A la part superior també trobem uns icones per tal de carregar nous personatges de les 4 formes possibles, igual que hem comentat a escenari
  • La zona de programació: Aquesta zona també té 2 subzones
    • La part de l’esquerra amb 3 pestanyes a dalt per programar, dibuixar/editar i carregar sons del personatge. En funció de l’etiqueta que cliquis a sota o a la dreta apareixerà una vista o una altre.
      • Programació. Si tenim clicada la pestanya de programació, a sota aparèixen diferents etiquetes de colors. Cada etiqueta es refereix a coses diferents que li pots programar en el personatge començant pel moviment i acabant amb més blocs (que seria l’equivalent a crear les teves pròpies funcions). En funció de l’etiqueta seleccionada a sota aparèixen un conjunt de blocs (semblants a peces de puzzle) que ens permeten arrossegar-les a la part dreta per tal de crear el programa. Aquests blocs són l’equivalent a comandes de programació i alguns es poden posar a dins d’altres.
      • Vestits: Fa referència als diferents vestits que té el personatge. Això està pensat perquè podem fer que un sol objecte/personatge pugui canviar d’aparença. Això es fa servir per varies raons, des de simular que està viu fent animacions a fer explosions,  fer desaparèixer el personatge o fer-lo més petit… Hi ha moltíssimes opcions!
      • Sons: En els nostres objectes els hi podem posar sons que a partir de la programació farem que sonin en un moment o altre.
      • Tant els sons que carreguem com els vestits, els podem editar des de la pròpia pestanya, però la programació va des de la pròpia pestanya de programes.

2. Per a què serveix?

L’Scratch té vàries funcions tal i com comentàvem anteriorment, des d’ensenyar programació d’una forma fàcil i pràctica, fins a la creació d’animacions passant per la creació de videojocs o fer simulacions de per exemple tirs parabòlics. És una molt bona eina per iniciar-se en el món de la programació i videojocs ja que és senzilla, té guies i ja comença a haver-hi molta bibliografia sobre aquest programa.

3. Experiència pròpia

Actualment nosaltres utilitzem l’Scratch per ensenyar als nois i noies creació de videojocs, ja sigui a l’activitat anual de l’acadèmia com en els campus d’estiu de creació de videojocs, però també el fem servir a l’assignatura de Bases de programació per treballar conceptes concrets (bucles, condicionals, funcions, operadors i lògica…). També per fer simulacions abans de programar amb els robots, per exemple, aquest any teníem un repte de la clautic league que consistia en construir i programar amb Lego Mindstorms unes barreres que detectaven quan hi havia un cotxe a davant amb el sensor d’ultrasò, i s’aixecaven les barreres deixant que el cotxe entrés en el parking, doncs abans de posar-nos a programar amb els robots, vam fer una simulació a través de l’Scratch que va servir per tal que tinguessin molt clar com havia de funcionar el repte.

Utilitzem Scratch des de 2014 i els nois i noies han creat autèntiques obres d’art a través de l’Scratch. (En el post del divendres en podreu veure algunes).

Per acabar us deixo amb la web de l’Scratch, que tal i com us he comentat és gratuït, i us recomano que us feu una conta, exploreu projectes ja creats que podeu trobar des del propi buscador d’Scratch, que fins i tot podeu fer versions dels jocs ja fets i compartits (hi ha una comunitat molt gran). scratch.mit.edu 

Seguim!

Què fan arreu del món amb Vex IQ?

Comencem passant-vos enllaços de la competició d’aquest any, que és la que farem nosaltres durant el campus d’estiu: Vex IQ ringmaster 2017

Vídeo d’explicació de la competició

Alguns equips participants:

Apex

Star academy

TeamWork

Final de Catalunya feta a Girona

 

Seguim amb altres reptes o exercicis que hem trobat per internet

Exercici robot i braç giratori

Programació seguidor de linia amb Modkit

 

Canal oficial de Vex IQ:

https://www.youtube.com/channel/UC7jrVEiBjPrOM7-RZSAoebg

 

Exercici setmanal: VEX IQ

Cada dijous us proposarem un exercici amb l’eina setmana de la que estiguem parlant, en aquest cas de Vex IQ.

Tinguent en compte que sortim de la setmana santa i la Pasqua, hem volgut crear un exercici de robòtica on la temàtica sigui precissament aquesta, i l’exercici porta per nom “Recollint ous de Paqua”.  A més, el farem seguint la nostra metodologia (en grups de 3 i amb rols diferenciats i treballant la comunicació)

Necessitats:

Super Kit Vex IQ: https://www.vexrobotics.com/vexiq/products/kits-bundles/?ref=tile – us recomano agafar el super kit, així ja teniu el comandament i tots els sensors.

Una tablet

Un ordinador amb connexió a internet

6 ous de pasqua impresos amb impresora 3D: https://www.thingiverse.com/thing:743276/ (*Si voleu pintar els ous sempre queda millor). Si no teniu impressora 3D, podeu fer-ho amb l’interior dels ous kinder o amb altres objectes semblants

Cinta aïllant per fer un camp rodó on hi haurà els 6 ous de Pasqua

 

Objectiu: 

Aconseguir treure els 6 ous del camp en el menor temps possible. Podeu arribar a fer una petita competició.

 

Edats recomenades:

12-16 anys

 

Instruccions:

Comencem amb l’enginyer. L’enginyer és l’encarregat de construir el robot, doncs bé ha de construir un robot que tingui com a mínim 3 motors (1 per a cada roda motriu) i un 3r motor que serà per fer el mecanisme d’agafar els ous. A nivell de muntatge de robots, podeu fer els robots base que us proposa el kit o donar creativitat als nens per tal que creïn el seu propi robot. El robot ha de se capaç de moure’s endavant, endarrera i girar a dreta i esquerra i, a part, ha de tenir un mecanisme que li permeti agafar els ous de pasqua. Podeu arribar a fer diferents nivells, ja que no és el mateix fer una pala que arrossegui l’ou sense que el perdi, o un mecanisme que agafi l’ou com si fos una pinça, o fins i tot, amb un 4t motor fer un robot que pugui agafar, aixecar l’ou i posar-lo a un lloc concret (jo de moment us explicaré el nivell inicial).

El programador en aquest cas programarà el comandament de Vex IQ. Ha de programar el joystic o fletxes del mando per tal que el robot vagi endavant, endarrera, giri sobre ell mateix a la dreta o a l’esquerra de forma continua. I ha de programar un dels botons que té el comandament per agafar l’ou. En aquest cas, per un nivell inicial, faríem una especie de capsa que estigui aixecada i que quan cliquem baixi fins a envoltar l’ou que està al terra i que després el poguem arrossegar fins fora del camp.  Us recomanem començar a programar fe amb blocks fent servir modkit for Vex: https://www.modkit.com/vex

El comunicador té 2 tasques a fer durant tot l’exercici: Per un costat, documentar tot el muntatge a través de fotos (podeu aprofitar per treballar les diferents vistes en 3D, però és important que el robot quedi ben fotografiat, ja que així si més endavant ho necessiten el podran tornar a muntar), per l’altre explicar de forma escrita o a través de notes de veu, el codi creat pel programador. És un codi senzill, ja que només cal controlar 5 botons (dreta, esquerra, endavant, endarrera, agafar i alliberar), però és la base per a reptes més complexes.

 

Extres:

Si voleu augmentar el nivell podeu crear unes petites canastes a dins del mateix camp i feu que posin els ous a dins de cada canasta, fins i tot es podria fer l’exercici amb 2 robots a la vegada i amb 2 canastes i intentar amb un temps límit quin equip posa més ous a dins de la canasta. Hi ha moltes varietats de l’exercici i totes molt divertides

Us animem a què feu aquest exercici i ens envieu els resultats

VEX IQ: Què és, com funciona, packs, campionat, experiència pròpia…

En aquesta article parlaré d’uns robots que segurament a molts de vosaltres no us sonaran de res: són els robots de Vex Robotics, en concret del model Vex IQ.

 

Mentre que a nivell d’Espanya i Catalunya fa molts anys que la marca més coneguda de robots a nivell educatiu és Lego, i en concret Lego Mindstorms, a la resta d’Europa, Estats Units, Corea o Xina hi ha moltes altres marques molt conegudes, amb competicions que apleguen a molts participants i una d’aquestes és la marca Vex Robotics amb una competició pròpia (Vex Robotics World Championship), organitzada per l’entitat FIRST, la mateixa que organitza la First Lego League per a robots de Lego.

 

Bé, anem a focalitzar: En aquest cas us vull parlar dels robots de Vex IQ, uns kits amb un conjunt de peces, motors i sensor que et permeten crear moltíssims tipus de robots diferents combinant de forma diferent les peces que venen en aquests packs. Dividiré l’escrit en diferents parts per tal que quedin clars les conceptes:

 

Diferents tipus de pack: Si volem comprar un pack de robòtica de Vex IQ tenim 3 packs i peces soltes. Starter Kit amb sensors, Starter Kit amb comandament i Super Kit.

Els packs són bastant semblants en quantitat de peces, la principal diferència és que un conté més sensors (Starter amb sensors), l’altre conté un comandament per controlar el robot (Starter amb comandament) i el Super Kit que conté el comandament i els sensors. Us deixo l’enllaç on podeu veure les diferències entre els 2 Starter Kits  (https://www.vexrobotics.com/vexiq/products/kits-bundles/starter-kits/). M’agradaria destacar el sensor de Gyro, un giroscopi que et marca els graus de gir, tant  del robot com d’una sola roda; i el Touch Led, un sensor de tacte que a més és bombeta Led i pot fer diferents colors. Els altres sensors ja són més coneguts (sensor de color- que pot funcionar en escala de grisos o detectant colors – , sensor de contacte o bumper i sensor de distància o ultrasons).

 

12 entrades/sortides: El cervell o brick dels robots de Vex IQ disposen de 12 ports on hi podem conectar indistintament sensors o actuadors (no hi ha ports reservats per una cosa o una altre). Després a l’hora de la programació només hem d’indicar què hi ha a cada port.

 

Programació: Aquests tipus de robots els podem programar a través de l’eina Modkit (basada en blocs i que té la seva versió online i offline) o amb el software RobotC, basat en el conegut llenguatge de programació C, però orientat a la programació de robots. De fet, els robots de Vex EDR, que serien el següent pas a nivell de dificultat i complexitat després dels Vex IQ, també es programen amb RobotC.

Comandament: El fet que 2 dels kits dels que hem parlat abans continguin un comandament és perquè aquests kits estan molt enfocats a la competició i dues de les 3 rondes de la competició es controla el robot a través del comandament. L’altre ronda el robot ha de ser totalment autònom a través dels actuadors i sensors.

Tipus de peces: Si feu una ullada a les diferents fotos o enllaç que us he posat, veureu que els robots que s’acaben construint tenen una aparença més quadrada que els robots de Lego o robots fets amb impressora 3D, això és degut al tipus de peces que formen part dels camps. També cal remarcar que, pel tipus de peces, les diferents parts del robot es poden fixar més fort i construir robots més robustos que per exemple amb Lego Mindstorms (que seria la competència directe i amb qui els podríem comparar).

 

Campionat: Vex IQ té un campionat propi on tot i que les normes i l’objectiu canvia cada any, la base del camp de joc és la mateixa i et permet reaprofitar-la d’un any per un altre. Tal i com comentava anteriorment el campionat conté part i diferents rondes per cada un dels equips. Part individual radiocontrolada amb el comandament, part individual autònoma amb sensors i part col·laborativa entre 2 equips ( 2 equips a la vegada a la pista i col·laborant entre ells). Hi ha diferents fases a nivell nacional i també amb finals internacionals. Cal dir que aquí encara hi ha pocs equips que hi participin.

 

A qui va adreçat: Des de Vex Robotics o des de botigues especialitzades recomanen els robots de Vex IQ per a nois i noies a partir de 10 anys, però nosaltres els comencem a fer servir a partir de 1r d’ESO amb uns resultats molt bons (ja que utilitzem els robots de Lego Mindstorms per a nois i noies des dels 8 fins als 12 anys).

Experiència pròpia: En el cas dels robots de Vex IQ nosaltres els fem servir pels campus d’estiu per a nois i noies des dels 12 (1r d’eso) fins als 17 anys on fins a l’estiu passat ho vam enfocar a superar un conjunt de reptes, però ja l’any passat ho vam enfocar a preparar els equips per a la competició oficial (tot i no participar-hi), però si controlant els marcadors, punts i fent les diferents rondes. Si ho comparem amb altres eines electròniques i robòtiques que utilitzem per a edats semblants (Lego Mindstorms NXT, EV3, Arduino, Pleo) destacaríem el fet de poder utilitzar el sensor de tacte i led (que les altres eines no ho solen tenir conjuntament) i que degut al tipus de peces que té fa que els nois i noies acostumats a construir altres robots es trobin amb nous reptes. A nivell de construcció, tal com deia abans, et permet fer robots més robustos amb relativament pocs coneixaments. Durant l’activitat anual fem servir les diferents peces de Vex IQ per a la construcció de xassis o peces per a robots controlats a través de les plaques Arduino.

 

Per acabar us deixo un enllaç  a la llista de reproducció de com fem servir el Vex IQ en els campus: https://www.youtube.com/watch?v=HBvA7ABZpWg&list=PLyTGHQkcjNpn_e-HKm5l3PH9LWIRjplNH

Reemprenem el blog!

Hola a tots de nou!

Sé que fa dies que no publiquem, però el dia a dia fa que no puguis estar per a tot… però bé ara ens hem plantejat publicar en el blog de forma continuada i esperem així fer-ho. Per a què tingueu una mica d’idea, publicarem sobre les diferents línies que treballem tant a l’activitat anual com a l’estiu i també a les fires on anem o a d’altres llocs on som presents.

Aquesta setmana parlarem d’una de les eines que fa anys que utilitzem en els campus d’estiu, els robots de Vex IQ.

Fins ara!

Bases programació SECUNDARIA

CONDICIONALS

CONDICIONALS PROCESSING

L’exercici consisteix en dibuixar 5 rodones a diferents posicions que estiguin pintades de color groc i que quan toqui la tecla ‘a’ ‘s”d”f”g’ canvii de color a vermell una rodona diferent per a cada tecla.

Poso el meu codi de solució (que no és la única solució) a continuació (però intenteu-ho fer sense copiar el codi)

 

 

int pos=50;

void setup() {
size(640, 360);
background(255,255,255);
noStroke();
}

void draw() {
fill(255,200,0);
ellipse(70,70,50,50);
ellipse(70+pos,70,50,50);
ellipse(70+pos*1,70,50,50);
ellipse(70+pos*2,70,50,50);
ellipse(70+pos*3,70,50,50);
ellipse(70+pos*4,70,50,50);

if(keyPressed==true)
{
if(key==’a’)
{
fill(255,0,0);
ellipse(70,70,50,50);
}

if(key==’s’)
{
fill(255,0,0);
ellipse(70+pos,70,50,50);
}

if(key==’d’)
{
fill(255,0,0);
ellipse(70+pos*2,70,50,50);
}

if(key==’f’)
{
fill(255,0,0);
ellipse(70+pos*3,70,50,50);
}

if(key==’g’)
{
fill(255,0,0);
ellipse(70+pos*4,70,50,50);
}
}

}