Professional Documents
Culture Documents
Manual Imagina3dbot-Scratch2 Rev2.0a - Cat
Manual Imagina3dbot-Scratch2 Rev2.0a - Cat
Manual Imagina3dbot-Scratch2 Rev2.0a - Cat
-- P. 1/46
Imagina3dBot
ÍNDEX
Introducció ............................................................................................................................. 3
Material ................................................................................................................................. 3
Eines ...................................................................................................................................... 4
Scratch2.0 ............................................................................................................................. 5
-- P. 2/46
Imagina3dBot
Introducció
En aquest manual us proposem una sèrie d’activitats relacionades amb la robòtica educativa
utilitzant el robot Imagina3dBot.
Tot i que el robot Imagina3dBot es pot programar en llenguatges com Diagrama de Flux i
BASIC, en aquest manual s’explicarà com fer-ho amb Scratch 2.0.
Material
-2 rodes impreses 3D
-2 juntes tòriques.
-- P. 3/46
Imagina3dBot
Eines
Els robots funcionen d’una manera similar a nosaltres. El nostre cervell rep informació dels
nostres sentits (oïda, olfacte, gust, vista i tacte), analitza aquesta informació i dona
estímuls a les cordes vocals per tal d’emetre sons o ordres als músculs per tal que es
moguin. Els 5 sentits serien entrades d’informació i, la veu i músculs serien les sortides
sonores i motrius.
Doncs bé, en el cas del robot, un xip fa la funció del cervell. Aquest xip anomenat
microcontrolador té uns entrades d’informació on es connecten els sensors de llum (LDR),
temperatura (NTC), soroll... i també té unes sortides, on es connecten els motors,
brunzidors, LEDs...
La diferència principal és que, així com el nostre cervell ja sap el que ha de fer, perquè ho
ha anat aprenent al llarg de la nostra vida amb estímuls positius i negatius, el robot té la
seva memòria buida, és a dir, no sap el que ha de fer. Aleshores nosaltres li hem de dir el
que volem que faci segons els senyals dels sensors. D’això se’n diu programar!
-- P. 4/46
Imagina3dBot
Scratch 2.0
Scratch és un llenguatge de programació gràfic creat pel MIT. Està pensat per a que nens i
nenes aprenguin a programar a partir dels 6 anys.
vermell.
-- P. 5/46
Imagina3dBot
Generalment totes les sortides es diuen B.x, on x és un número comprès entre 0 i 7. Per
tant la placa de control te 8 sortides disponibles.
La placa Imagina Android disposa de 3 LEDs. Aquests estan connectats a les sortides tal
com: verd (B.2), groc (B.6) i vermell (B.0).
-- P. 6/46
Imagina3dBot
4.-Polsem el botó Open en la finestra S2P i a Més Blocs haurà aparegut una Extensió de
Picaxe, amb totes les instruccions disponibles per programar-lo, tal com:
Com modificaries el programa per fer que el LED groc estigués 2 segons encès i 4 apagat?.
*Heu de tenir en compte que quan es treballa amb Mode1 (cable USB connectat) la comunicació amb
l’ordinador és lenta, pel que no es recomana treballar amb temporitzacions inferiors a 1 segon. En
Mode2 (sense el cable USB connectat) aquesta limitació desapareix.
-- P. 7/46
Imagina3dBot
Comproveu-ne el funcionament.
*Si teniu la placa dels sensors de línia (ref. rbl0672-rast) connectada, assegureu-vos que teniu una
superfície negra a sota. Sinó és així, sempre estarà detectant un 1, ja que polsador i sensor dret de
línia SD comparteixen la mateixa entrada C.5.
-- P. 8/46
Imagina3dBot
Farem que aparegui el valor del sensor a l’escenari marcant l’entrada C.1 tal com:
Comproveu-ne el funcionament.
Com podríem fer que s’activés el LED groc a partir d’un nivell de llum més alt?
Sabries fer que canviés de color el vestit del gat amb l’encesa del LED?
-- P. 9/46
Imagina3dBot
En aquesta ocasió farem que el gat canviï de vestit quan es superi el valor de 95. La
temperatura es fa augmentar tocant el sensor amb els dits durant una estona.
Comproveu-ne el funcionament.
-- P. 10/46
Imagina3dBot
Per fer que la mesura de temperatura es correspongui amb graus Celsius (ºC) haurem de
crear una variable. Una variable és un espai de la memòria on es desen valors compresos
entre 0 i 255.
Per fer-ho cal anar a la categoria Dades / clicar a Crea una Variable i li l’anomenarem
celsius.
Comproveu-ne el funcionament.
-- P. 11/46
Imagina3dBot
Sabríeu modificar el programa anterior per tal de fer que canviés el fons de pantalla de
forma que quan la temperatura estigués per sota d’un valor es visualitzés gel i quan
estigués per sobre es visualitzés un desert?
Comproveu-ne el funcionament.
-- P. 12/46
Imagina3dBot
Sabries trobar el valor de play note per emular el soroll de quan la radio perd la sintonia? I
el d’un comptador de radioativitat? Prova valors compresos entre 130 i 255.
-- P. 13/46
Imagina3dBot
-2 polsadors Z i C.
*Hi ha dos tipus de Nunchuk: les originals (Nunchuk A) i les compatibles (Nunchuk B).
*Els valors dels botons C i Z es visualitzen en el result6. Si es polsa el botó c, result6 val 1, si es polsa
el botó z, result6 val 2 i si es polsen els dos, result6 val 3.
-- P. 14/46
Imagina3dBot
Tot seguit et proposem la creació d’un petit joc. Es tracta de fer moure un personatge per
l’escenari amb el joystick. Carrega un nou personatge, per exemple la granota (Frog). Polsa
damunt de la “i” del personatge i indica que s’ha de moure de l’estil: . Amb aquesta
acció evitaràs que la granota vagi cap per vall quan faci un gir.
-- P. 15/46
Imagina3dBot
Descartarem totes les variables de la nunchuk per tal que no surtin a l’escenari i
en crearem una anomenada Marcador:
-- P. 16/46
Imagina3dBot
La variable Vehicles s’ha d’inicialitzar amb el valor 0 i anar-se incrementant quan passi un
vehicle per davant del sensor (C.3=0). El programa seria tal com:
-- P. 17/46
Imagina3dBot
Quan alimentem aquest sensor requereix un temps de preparació per començar a treballar de forma
adequada. S’ha d’adaptar a les condicions on s’ha instal·lat. Durant aquest temps el sensor aprèn a
reconèixer l’estat de repòs (de no moviment). Aquest període d’aprenentatge dura entre 10 i 60 segons
i és molt recomanable l’absència de persones durant el calibratge.
Quan es detecti un intrús haurà de sonar l’alarma durant 5 segons. L’alarma constarà d’un
soroll tipus sirena i farà aparèixer el gat. Si no s’activa l’alarma, el gat ha d’estar amagat.
http://www.sonidosmp3gratis.com/sounds/001105156_prev.mp3
-- P. 18/46
Imagina3dBot
El resultat seria:
-- P. 19/46
Imagina3dBot
També es pot fer que quan s’activi l’alarma es canviï el vestit per un de color vermell. Per
fer-ho cal duplicar el vestit de Home Button (botó dret damunt vestit) i pintar damunt del
verd amb color vermell.
-- P. 20/46
Imagina3dBot
*El sensor ha d’estar configurat per treballar amb un pin comú per a
l’emissió i recepció.
-- P. 21/46
Imagina3dBot
CONTROL
-- P. 22/46
Imagina3dBot
Si fem aquest programa observarem que el motor A va endavant durant un segon, es para i
torna a repetir el procés.
-- P. 23/46
Imagina3dBot
Feu el mateix pel motor B. El motor B porta associades les sortides B.2 i B.3 tal com podeu
observar a la taula resum següent.
CONTROL
MOTORS
*Si el motor B gira al revés heu de invertir el seu connector, és a dir, fer-li mitja volta.
-- P. 24/46
Imagina3dBot
Introduïu el programa
següent:
Comproveu el funcionament.
Per tal de conèixer tots els girs possibles que pot fer
el robot, us proposem que realitzeu els programes
següents de pivotar, ziga-zaga endavant i ziga-zaga
endarrere:
-- P. 25/46
Imagina3dBot
t=1+(angle/180)
-- P. 26/46
Imagina3dBot
A cada botó li assignem una funció: endavant (tecla2), aturat(tecla5), endarrere (tecla8)...
Per llegir la tecla polsada del comandament ho farem amb la instrucció següent:
Per tal d’ampliar els moviments possibles, sabries modificar el programa anterior de manera
que fes els girs detallats a la pàgina 25?
-- P. 27/46
Imagina3dBot
Proveu-lo en mode2.
-- P. 28/46
Imagina3dBot
Sentit de marxa
SENSOR SENSOR
ESQUERRE DRET
C.4=SE C.5=SD
-- P. 29/46
Imagina3dBot
Les actuacions del robot segons les deteccions dels seus sensors són:
1-Si els sensors del robot estan damunt de la línea negra detecten un 0 lògic i el robot ha
d’anar endavant, és a dir, han de funcionar els dos motors (motor_A=on i motor_B=on).
2-Si no detecta línia el sensor dret (SD), aturem el de l’esquerra (motor_A=off) i fem anar
el de la dreta (motor_B=on).
4- I si no detecta cap dels dos sensors ha de fer el que feia en l’instant abans de perdre
totalment la línia. Per tant no tindrem en compte aquesta opció, perquè no ha de fer res de
nou, que ja no fes abans.
http://youtu.be/lKnQog7zbcc
-- P. 30/46
Imagina3dBot
*Els mòduls Bluetooth es venen configurats per defecte a 9600Bauds. Per fer aquesta pràctica cal
canviar-li la velocitat. El procediment s’explica a:
https://sites.google.com/site/bluetoothipicaxe/home/configuracio-modul-bluetooth
-- P. 31/46
Imagina3dBot
El robot es pot controlar amb botons amb forma de fletxes o amb el giroscopi del mòbil
Android. Per fer la connexió només cal triar CONNEXIÓ/Adreça Mac del mòdul bluetooth del
robot/ botó CONTROL i Control per fletxes o Control orientació:
-- P. 32/46
Imagina3dBot
La segona estratègia consistirà en fer que quan s’aturi giri a la dreta durant un temps
determinat i segueixi endavant. Prova’l i experimenta amb diferents temporitzacions de gir.
Ara està a dos segons.
-- P. 33/46
Imagina3dBot
Per fer-ho més professional podríem fer que compti les vegades que gira cap a la dreta i
que quan sigui 5, giri altres 5 vegades però cap al costat esquerre.
-- P. 34/46
Imagina3dBot
-- P. 35/46
Imagina3dBot
-- P. 36/46
Imagina3dBot
-- P. 37/46
Imagina3dBot
-- P. 38/46
Imagina3dBot
Si no ens reconeix la placa és important que sapiguem quin sistema operatiu és el nostre i
de quants bits és. Si utilitzem Windows podem consultar-ho fent clic amb el botó dret
damunt de la icona “El Meu Ordinador”/Propietats.
Quan els tingueu descarregats executeu l’arxiu executable (.exe), en el cas de Windows.
*Si us avisa de que es requereix “Permisos d’elevació”, heu de fer Shift+botó dret damunt de l’arxiu
.exe i fer clic damunt de “Executar com Administrador” . Així tindreu privilegis d’administrador per
poder instal·lar-lo.
-- P. 39/46
Imagina3dBot
Si es desconneix el PortCom cal fer clic a “Open Device Manager” i a “Ports” i apareixerà al
final de tot (per exemple COM2). També va bé fer Refresh per fer
aparèixer els ports nous.
-- P. 40/46
Imagina3dBot
5.-Fer clic a Connect (finestra S2P) i s’establirà l’enllaç entre Scratch2 i el Picaxe.
L’indicador canvia de groc a verd.
6.-Executar Scratch2 fent clic a Open. Així carregarà el bloc d’instruccions de Picaxe.
7.- A “Més Blocs” hi trobareu totes les instruccions per llegir entrades i activar sortides del
Picaxe.
-- P. 41/46
Imagina3dBot
Al prémer la banderola verda la sortida B.0 farà intermitència en intervals d’un segon. Això
també farà moure endavant el motor_A del nostre robot.
8.- Si ara interessa traspassar aquest programa al Picaxe per treballar desconnectat de
l’Scratch2, cal desar-lo primer en format sb2 ( per exemple intermitent.sb2). Recordeu
aturar l’execució del programa!
-- P. 42/46
Imagina3dBot
10.- En l’aplicatiu SP2 passar al “Mode 2 – Remote Run (Convert Scratch to PICAXE
BASIC)”. Fer clic a Program i triar l’arxiu d’Scratch que hem desat anteriorment anomenat
intermitent.sb2, Open i OK.
-- P. 43/46
Imagina3dBot
*Recordeu que en el cas de la Imagina Android o Scratch quan es desconnecta el cable USB cal
alimentar-la amb piles.
Amb aquest sistema es pot programar qualsevol xip picaxe dels models m2 o x2. Els altres
models més vells no ho permeten. Per tant la programació ja no depèn de la placa, sinó del
model Picaxe que li posem.
*Si no us comunica la placa amb S2P encara que li hagi assignat un port COM,
significa que teniu el picaxe “penjat” i cal fer-li un reset. Aleshores, per fer un
reset, heu de treure el pont “jumper” (veure imatge adjunta) i polsar Download
Comunicator Program al mateix temps que torneu a posar el “jumper”.
-- P. 44/46
Imagina3dBot
-- P. 45/46
Imagina3dBot
Aquí trobareu el que pot fer cadascun dels pins dels picaxe 20m2 i 20x2.
-- P. 46/46