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

From Edutec Wiki
Jump to: navigation, search
Line 111: Line 111:
 
=== Objecte semàfor virtual ===
 
=== Objecte semàfor virtual ===
  
Ja tenim el vehicle i l’escenari. Només ens falta un semàfor: el podem dibuixar nosaltres mateixos o bé podem importar les dues imatges següents. Cada imatge serà un "vesti"t, un pel semàfor en verd i l’altre a quan està en vermell.
+
Ja tenim el vehicle i l’escenari. Només ens falta un semàfor: el podem dibuixar nosaltres mateixos o bé podem importar les dues imatges següents. Caldrà crear un nou objecte, igual que hem creat al vehicle, i al mateix objecte li importem les dues imatges. És important això, no són dos objectes diferents sinó un de sol. Cada imatge serà un "vestit", un pel semàfor en verd i l’altre a quan està en vermell.
<p style="text-align: center">[[File:Snap5.PNG|RTENOTITLE]][[File:Snap6.PNG|RTENOTITLE]]</p>  
+
<p style="text-align: center">[[File:Cotxes verd.gif|border]]&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; [[File:Cotxes vermell.gif|border]]</p>  
 
Col·loquem aquests dos objectes a l’escenari, de manera que quedin aproximadament així:
 
Col·loquem aquests dos objectes a l’escenari, de manera que quedin aproximadament així:
 
<p style="text-align: center">[[File:Snap6.1.PNG|300px|RTENOTITLE]]</p>  
 
<p style="text-align: center">[[File:Snap6.1.PNG|300px|RTENOTITLE]]</p>  
&nbsp;
 
 
 
Si voleu començar a programar ja amb la plantilla dels elements carregats feu clic [https://drive.google.com/file/d/1Z-DMaStHlARqBEHw15Ob77ofi6qszeTh/view?usp=sharing aquí] per descarregar-vos l'arxiu que la conté. Només cal que la importeu i ja podeu començar a programar-la.&nbsp;
 
Si voleu començar a programar ja amb la plantilla dels elements carregats feu clic [https://drive.google.com/file/d/1Z-DMaStHlARqBEHw15Ob77ofi6qszeTh/view?usp=sharing aquí] per descarregar-vos l'arxiu que la conté. Només cal que la importeu i ja podeu començar a programar-la.&nbsp;
  
Line 137: Line 135:
 
De moment, el programa que hem hagut d’obtenir ha de ser semblant a aquest:
 
De moment, el programa que hem hagut d’obtenir ha de ser semblant a aquest:
  
[[File:Semafor 10.png|border|center|400px]]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.
+
[[File:Semafor 10.png|border|center|400px|Semafor 10.png]]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 ===
 
=== Interacció amb objectes virtuals ===

Revision as of 18:14, 14 March 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.

Fons

Començarem dibuixant un paisatge de fons per l’escenari. L'escenari és un objecte diferent, com el teló de fons d'un teatre. Cada objecte, i l'escenari també, es programen per separat. L'escenari té com a diferència que ocupa sempre tot el fons i no pot canviar de lloc ni de mida, per exemple. Per defecte és tot blanc. Per a dibuixar-hi un paisatge de fons, primer cal clicar sobre l'"objecte" escenari:

Semafor 1.png
Quan selecciono l'escenari, o quan hi sóc, el seu nom està també en color blanc, en comptes de gris. Fixa't en la diferència:
Semafor 2.png

Per a dibuixar-ne un, cal anar a la pestanya "Fons" i clicar a sobre de la icona d'un pinzell:

Semafor 3.png

Llavors surt una pantalla emergent que permet pintar i dibuixar:

Semafor 4.png

Altrament el podem importar un dels que ja hi ha a la llibreria del programa. Per aixo cal clicar la icona del full de paper, a la cantonada superior esquerra de la pantalla, i seleccionar l'opció "Fons...":

Semafor 5.png
Apareixerà una pantalla emergent des d'on es pot escollir el desitjat, seleccionant-lo i clicant després a sobre d'"Importa":
Semafor 6.png
Finalment, una altra opció és importar-lo d'un fitxer imatge. Per exemple, podeu guardar la imatge a continuació a l'escriptori

RTENOTITLE

i importar-la de la següent manera: clicar a sobre de la icona del full de paper i seleccionant l'opció "Importa":

Semafor 7.png

I una finestra emergent us permetrà seleccionar la imatge descarregada. Clicant a sobre d'"Abrir" es carrega el fons escollit:

Semafor 8.png
Queda així:
Semafor 9.png

Objecte "Arduino"

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

Objecte vehicle

A continuació, necessitem un vehicle. En 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

Objecte semàfor virtual

Ja tenim el vehicle i l’escenari. Només ens falta un semàfor: el podem dibuixar nosaltres mateixos o bé podem importar les dues imatges següents. Caldrà crear un nou objecte, igual que hem creat al vehicle, i al mateix objecte li importem les dues imatges. És important això, no són dos objectes diferents sinó un de sol. Cada imatge serà un "vestit", un pel semàfor en verd i l’altre a quan està en vermell.

Cotxes verd.gif        Cotxes vermell.gif

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:

Semafor 10.png
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’objecte Arduino. Aquest objecte é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?

Bitbot.cat

Aquest és un article del programa Bitbot.cat, podeu consultar la resta d'articles a:

Bitbot.cat és un programa implusat per la Secretaria de Telecomunicacions, Ciberseguretat i Societat Digital de la Generalitat de Catalunya, en col·laboració amb el Departament d’Ensenyament, que neix amb l’objectiu d’impulsar la millora de les competències digitals del jovent i promoure el creixement de les vocacions tecnològiques.

Una de les accions que es proposa aconseguir és la capacitació de monitores i monitors per a conduir i desenvolupar activitats educatives de lleure en els camps de la robòtica i la programació, per tal d’anar formalitzant aquesta oferta amb monitores i monitors certificats.