Semàfor real i virtual

From Edutec Wiki
Revision as of 09:47, 27 October 2017 by Ncoll (Talk | contribs)

Jump to: navigation, search

 

Els components

Per realitzar aquesta pràctica, necessitem varis components electrònics. Els veiem a continuació:
RTENOTITLE Placa Arduino Nano; 
Arduino nano shield.jpg Placa Shield
RTENOTITLE Cables de prototipatge 
RTENOTITLE Cable USB
P1.JPG Infraroig
P2.JPG  
LED's vermell i verd

Esquema del circuit

Primerament connectem els components a la placan seguint l'esquema inferior. Fixeu-vos bé amb el número que correspon els pins d’entrada i de sortida:

Actuador LED vermell Pin digital 11
Actuador LED verd Pin digital 12
Sensor infraroig  Pin analògic 0

RTENOTITLE

 


Els objectes

L’S4A ens permet interactuar entre el món real i el virtual. És per això que també realitzarem una simulació, on un cotxe anirà d’un lloc a un altre de l’escenari quant el semàfor es mostra en color verd i per contra s’aturarà quant estigui en vermell.

Començarem dibuixant un paisatge de fons per l’escenari. Si ho preferim també podem importar-lo:

RTENOTITLE

 

El següent pas és amagar l’objecte Arduino, ja que de moment no necessitem tenir-lo visible. Com qualsevol objecte normal, ho podem fer tot fent clic sobre el bloc “amagar”.

RTENOTITLE

A continuació, necessitem un cotxe que podem trobar a la galeria d’objectes d’Snap, fent clic a la següent icona:

RTENOTITLE

Nosaltres hem optat per fer servir aquest, però qualsevol dibuix d’un cotxe també ens serviria.

RTENOTITLE

Observem que es visualitza força desproporcionat, així que fixem la seva mida a 50%.

RTENOTITLE

Ja tenim el cotxe i l’escenari. Només ens falta un semàfor, que podem dibuixar nosaltres mateixos o importat les dues imatges que us facilitem a continuació. Cada imatge, serà un vestit, un farà referència al semàfor en verd i l’altre al vermell.

RTENOTITLERTENOTITLE

Col·loquem aquests dos objectes a l’escenari, de manera que quedin aproximadament així:

RTENOTITLE

 

Si voleu començar a programar ja amb la plantilla dels elements carregats feu clic aquí per descarregar-vos l'arxiu que la conté. Només cal que la importeu i ja podeu començar a programar-la. 

El programa d’Arduino

Ja podem començar a programar Arduino. Recordem que per poder obtenir el valor dels sensors que utilitzem, hem de seleccionar un port i marcar amb un tic el sensor per tal de poder-lo visualitzar a l'escenari. 

RTENOTITLE

Ens ha de quedar una taula semblant a aquesta: 

RTENOTITLE

Si hem connectat correctament el sensor d’infraroig, els valors haurien de fluctuar quant acostem i allunyem la ma d’aquest.

Ara cal que fem una estimació aproximada del valor del pin Analog0, a partir del qual volem que el semàfor es posi en vermell. Nosaltres hem escollit el valor 200, però en funció de cada sensor aquest nombre pot variar completament.

A continuació, quant el sensor passi d’aquest valor, volem que el cotxe s’aturi i el semàfor canvi a vermell.

Recorda de seleccionar l’objecte Arduino:

RTENOTITLE

De moment, el programa que hem hagut d’obtenir ha de ser semblant a aquest:

RTENOTITLE

Si fem una prova, veurem que el LED verd sempre està encès i al apropar la ma al sensor, aquest s’apaga i s’encén el vermell.

Interacció amb objectes d’Scratch

Fins ara hem programat l’objecte Arduino. Aquest és exactament igual que qualsevol altre objecte d’Scratch, amb la diferència que disposa de blocs més específics per el control de la placa.

Per fer que els altres objectes interactuïn amb l’estat del sensor, podem utilitzar un parell de missatges.

Ara podem programar el semàfor virtual així:

RTENOTITLE

Si provem el programa, veiem que efectivament hem aconseguir sincronitzar els LEDs físics amb el nostre semàfor virtual.

Només ens falta que el cotxe també faci cas d’aquests missatges i ja tindrem la simulació completa!


El cotxe

Abans de continuar, anem a amagar la taula de sensors que ens tapa bona part de l’escenari. Per fer-ho podem treure el "tic" que remarca el sensor o ve arrastrar els sensors de l'escanri fins a la paleta de bloc, tal hi com ho fem per borrar qualsevol dels blocs.

Seguidament, hem de canviar el tipus de rotació del cotxe, ja que volem que al rebotar amb la bora inverteixi en sentit horitzontal. Així que, seleccionem el cotxe i escollir el tipus de rotació que es mostra a continuació:

RTENOTITLE

El programa d’aquest objecte és força senzill:

RTENOTITLE

Conclusions

Si tot funciona bé, al prémer la bandera verda observarem que el cotxe s’atura quant apropem la ma al sensor. A més, tant el semàfor físic com el virtual es posen en vermell. Per contra, quant allunyem la ma, els semàfors es posen en verd i el cotxe comença a moure’s de nou.