Difference between revisions of "Semàfor real i virtual"

From Edutec Wiki
Jump to: navigation, search
Line 129: Line 129:
 
El programa d’aquest objecte és força senzill:
 
El programa d’aquest objecte és força senzill:
 
<p style="text-align: center">[[File:Snap16.PNG|RTENOTITLE]]</p>  
 
<p style="text-align: center">[[File:Snap16.PNG|RTENOTITLE]]</p>  
== Resultat ==
+
== Perifèrics i muntatge físic final ==
  
 
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 mà, els semàfors es posen en verd i el cotxe comença a moure’s de nou. <!--![endif]---->
 
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 mà, els semàfors es posen en verd i el cotxe comença a moure’s de nou. <!--![endif]---->
 +
 +
Ara podríem treballar més la part real, muntant per exemple els leds en un pal amb forma de semàfor i afegint un cotxet de joguina, o un fet per tu mateixa, fent un circuit, etc.
 +
 +
Com l'imagines? T'animes a fer-ho?

Revision as of 13:41, 3 January 2019

Semafor4.jpg
Aquesta pràctica preten ser un exemple d'interacció entre un sistema real i un simulat virtualment. Consisteix a fer un doble semàfor que, per una banda, detecti la presència real i tangible d'un obstacle al món real, posant-se a la realitat de color vermell, i que, a més, d'altra banda interaccioni amb un escenari a la pantalla d'un ordinador, a la qual hi hagi dibuixats difeents elements com, per exeple, un vehicle. El vehicle de la pantalla es mourà lliurement per la pantalla però quan algú s'acosti al semàfor real, es posarà vermell pels vehicles, també a la pantalla i pel vehicle dibuixat.

 

 

 

 

 

Components electrònics

Per realitzar l'activitat calen els següents components electrònics:

RTENOTITLE

Placa electrònica   Arduino Nano

Arduino nano shield.jpg Targeta d'expansió
RTENOTITLE Cables de prototipatge 
RTENOTITLE Cable USB
P1.JPG Infraroig
P2.JPG  
LED's vermell i verd

Esquema del circuit electrònic

Comença connectant els components electrònics a la placa seguint l'esquema inferior. Fixa't bé en el número que correspon a cada pin d’entrada i de sortida:

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

RTENOTITLE

Objectes a Snap for Arduino

L’Snap4Arduino permet interactuar entre el món real i el virtual. És per això que també realitzarem una simulació, on un vehicle anirà d’un lloc a un altre de l’escenari quan el semàfor es mostra en color verd i 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 vehicle que podem trobar a la galeria d’objectes d’Snap4Arduino, fent clic a la següent icona:

RTENOTITLE

Nosaltres hem optat per fer servir aquest, però un altre també ens serviria:

RTENOTITLE

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

RTENOTITLE

Ja tenim el vehicle 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. 

Programa a Snap4Arduino

Com hem fet anteriorment, abans de començar carreguem el microprogramari "Standard Firmata" a la placa. Podem repassar els passos aquí

Ja podem començar a programar la placa Arduino Nano des del programari Snap4Arduino. 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 mà 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 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 de color verd sempre està encès i al apropar la mà al sensor, aquest s’apaga i s’encén el vermell.

Interacció amb objectes virtuals

Fins ara hem programat l’objecteArduino. Aquest és exactament igual que qualsevol altre objecte d’Scratch o d'Snap!, 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.

Semàfor virtual

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!

 

Vehicle

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

Perifèrics i muntatge físic final

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 mà, els semàfors es posen en verd i el cotxe comença a moure’s de nou.

Ara podríem treballar més la part real, muntant per exemple els leds en un pal amb forma de semàfor i afegint un cotxet de joguina, o un fet per tu mateixa, fent un circuit, etc.

Com l'imagines? T'animes a fer-ho?