Pràctica 4. Connectant amb el món real. Introducció a l'ScratchBoard

Una funcionalitat poc coneguda de l'Scratch és la possibilitat de fer servir sensors reals per connectar amb el mon exterior. Si anem a la categoria 'Sensors' veurem a la part de sota un parell de peces que permeten consultar el valor del micròfon intern de l'ordinador. La peça 'volum del so' torna un valor entre 0 i 100 en funció del volum del micròfon i la peça 'so fort ?' es converteix en veritat si aquest valor és més gran que 30. Podem fer un senzill programa que fa caminar el gat en quan parlem al davant de l'ordinador.

L'ordinador ha de tenir un micròfon i ha d'estar activat.

Però a l'Scratch també se li pot afegir una tarja connectada al port USB de l'ordinador, que es diu ScratchBoard i que dóna accés a més tipus de sensors. També es pot fer servir la tarja PicoBoard que és totalment compatible amb l'original. Per instal·lar la placa hem de tenir un USB lliure i haurem d'instal·lar uns controladors perquè el sistema operatiu reconegui el conversor el USB-port, serie que porta el cable de connexió.

ScratchBoard connectada al port USB

La pàgina amb informació de la placa és http://www.picocricket.com/picoboard.html i la pàgina per descarregar els controladors és http://www.picocricket.com/picoboardsetup.html

Una vegada hem instal·lat els controladors i endollat l 'USB, l'Scratch reconeix la placa automàticament.

Les dues peces per controlar aquesta tarja son 'valor del sensor ….' i 'sensor … activat'. Si premen el botó dret del ratolí sobre qualsevol d'aquestes peces apareix un menú on podem trobar l'opció 'Mostra l'inspector del tauler de Scratch'. Aquest inspector ens permet veure el valor dels sensors de la placa.

L'inspector del tauler de l'ScratchBoard:

Connectant aquesta tarja tenim a la nostra disposició el següents sensors:

  • Un lliscador (potenciòmetre) que retorna un valor en funció de la seva posició.
  • Un sensor de llum (fotoresistència) que ens permet rebre informació de la quantitat de llum que rep la placa.
  • Un sensor de so (micròfon) que ens permet mesurar la intensitat del so que li arriba.
  • Un botó (polsador) que ens indica si està premut o no.
  • Quatre sensors A, B, C i D que mesuren la resistència. Un valor de 0 representa un circuit tancat i 100 un circuit obert. Una resistència de 220Ω dona un valor de 2 i una de 10kΩ dona un valor de 49.

Els sensors retornen un valor entre 0 i 100, excepte el botó que retorna 'true' o 'false'. Per fer servir qualsevol d'aquests sensors utilitzen la peça 'valor del sensor …'.

Per exemple si volem que l'Scratch reprodueixi una nota musical en funció de la llum que tenim on estiguem podríem fer el següent codi:

Hi ha moltes aplicacions per aquest tipus de sensors. És el que es coneix com computació física que pretén connectar el món dels programes d'ordinador amb el món real.

En la nostra pràctica el que farem serà aplicar la tarja de l'ScratchBoard al joc de memòria. Mitjançant el sensor de so farem que el joc comenci quan piquem de mans i que els botons siguin les pinces que porta la tarja.

La primera part és molt senzilla. Picar de mans vol dir un so alt. Si llegim el valor del sensor de so i el valor és més gran que un valor de per exemple 30, ja ho tenim. El codi l'incorporem al bloc que ja teníem d'ajuda.

Per detectar quan piquem de mans, el codi podria ser el següent:

Evidentment qualsevol so intens activara el joc, però l'efecte és el que volíem aconseguir. Podem canviar el valor 30 per un altre en funció del nivell sonor del lloc on estiguem. és molt habitual en el treball amb sensors, fer prèviament una observació de la resposta del fenomen físic.

És molt útil fer servir l'inspector del tauler per observar el valor que retornen els sensors.

Per la part dels botons farem servir els sensors de resistència com si fossin interruptors. Connectarem les pinces que venem amb la tarja i les posarem molt a prop l'una d'altra, però sense tocar-se. Quan toquem amb el dit tindrem un canvi de resistència i semblarà que estem activant els botons per tacte. Li podem posar una mica d'imaginació i fabricar algun tipus de decoració. Per exemple podem fabricar un tauler gran amb quatre interruptors i activar-lo amb els peus.

Prototip del joc fet amb la tarja ScratchBoard:

scratchm5_p4_07.jpg

Per integrar-ho al nostre programa hem de canviar el bloc que espera que premem l'objecte, per una lectura contínua del sensor de resistència. Si el valor de la resistència és més petit que 99 considerarem que s'ha d'activar. Després haurem d'esperar fins que el valor torni a ser 100, que voldrà dir que hem retirat la mà o el peu.

El codi per activar l'objecte serà el següent:

Com veiem, les modificacions en el nostre codi no són molt importants. Això és possible perquè s'han aconseguit integrar dins de l'Scratch el sensors externs com si fossin un sensor mes. A vegades treballarem més en calibrar, endreçar els sensors i pensar l'aplicació que en fer-ne la programació.