Semàfor real i virtual

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

Jump to: navigation, search

Exerici; semàfor


Els components

RTENOTITLE Placa Arduino Nano
Arduino nano shield.jpg Placa Shield
Servo.jpg Servomotor
RTENOTITLE Cables de prototipatge 
RTENOTITLE Cable USB
P1.JPG Infraroig













Els components

Per realitzar aquesta pràctica, necessitem varis components electrònics. Els veiem a continuació:

  • La placa Arduino Nano és el que ens permet interactuar amb els sensors i actuadors des de l’S4A.

 

  • La placa Shield permet connectar els cables de prototipatge i els diferents components sense necessitat de soldar-los. Aquesta en concret, està preparada per acoplar-se a l’Arduino nano.

 

 

  • El sensor d’infraroig és un dispositiu que envia la llum infraroja i detecta el rebot contra un objecte. D’aquesta manera, és capaç de calcular la distancia a la que aquest es troba.

 

  • Els LEDs són díodes que emeten llum. A diferència de les bombetes convencionals, necessiten molt poca intensitat i gairebé tota la energia que produeixen és en forma de llum. Pràcticament no emeten calor.

 

 

  • Els cables de prototipatge els necessitem per connectar els components a la placa. L’avantatge d’aquests cables sobre els convencionals és que no necessitem soldar-los, ja que disposen de connectors integrats.

 

Esquema del circuit

Primerament connectem els components a la placan seguint l'esquema que veiem a la imatge 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ó dins d’Scratch, 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’Scratch, 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

El programa d’Arduino

Ja podem començar a programar Arduino. Fixem-nos en la taula de valors que ens apareix a l’escenari:

RTENOTITLERTENOTITLE

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

Observem que tots els pins analògics es contagien del valor que obté el pin 0. És normal, no us preocupeu per això.

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.

(foto)

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

Aquestes opcions són les mateixes que en l’Scratch 2.0 trobàvem al prémer la icona “y” dels personatges.

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

RTENOTITLE

Conclusions

Per acabar si volem comprovar que tot funcioni, disposem del programa complet aquí per tal de descarregar-lo i carregar-lo a S4A.

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.