Difference between revisions of "Semàfor real i virtual"
Line 93: | Line 93: | ||
I una finestra emergent us permetrà seleccionar la imatge descarregada. Clicant a sobre d'"Abrir" es carrega el fons escollit: | I una finestra emergent us permetrà seleccionar la imatge descarregada. Clicant a sobre d'"Abrir" es carrega el fons escollit: | ||
− | [[File:Semafor 8.png|border|center|400px]]Queda així: | + | [[File:Semafor 8.png|border|center|400px|Semafor 8.png]]Queda així: |
− | [[File:Semafor 9.png|border|center|400px]] | + | [[File:Semafor 9.png|border|center|400px|Semafor 9.png]] |
=== Objecte "Arduino" === | === Objecte "Arduino" === | ||
Line 136: | Line 136: | ||
<p style="text-align: center">[[File:Snap12.PNG|RTENOTITLE]]</p> | <p style="text-align: center">[[File:Snap12.PNG|RTENOTITLE]]</p> | ||
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: | ||
− | + | ||
− | 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]]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 17:56, 14 March 2019
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.
Contents
Components electrònics
Per realitzar l'activitat calen els següents components electrònics:
![]() |
Placa electrònica Arduino Nano | ||
![]() |
Targeta d'expansió | ||
![]() |
Cables de prototipatge | ||
![]() |
Cable USB | ||
![]() |
Infraroig | ||
|
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 |
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:
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:Per a dibuixar-ne un, cal anar a la pestanya "Fons" i clicar a sobre de la icona d'un pinzell:
Llavors surt una pantalla emergent que permet pintar i dibuixar:
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...":
Apareixerà una pantalla emergent des d'on es pot escollir el desitjat, seleccionant-lo i clicant després a sobre d'"Importa": Finalment, una altra opció és importar-lo d'un fitxer imatge. Per exemple, podeu guardar la imatge a continuació a l'escriptorii importar-la de la següent manera: clicar a sobre de la icona del full de paper i seleccionant l'opció "Importa":
I una finestra emergent us permetrà seleccionar la imatge descarregada. Clicant a sobre d'"Abrir" es carrega el fons escollit:
Queda així: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”:
Objecte vehicle
A continuació, necessitem un vehicle. En podem trobar a la galeria d’objectes d’Snap4Arduino fent clic a la següent icona:
Nosaltres hem optat per fer servir aquest, però un altre també ens serviria:
Observem que es visualitza força desproporcionat, així que fixem la seva mida a 50%:
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.
Col·loquem aquests dos objectes a l’escenari, de manera que quedin aproximadament així:
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.
Ens ha de quedar una taula semblant a aquesta:
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:
De moment, el programa que hem hagut d’obtenir ha de ser semblant a aquest:
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í:
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ó:
El programa d’aquest objecte és força senzill:
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.