Breu descripció
En aquest recurs per a l'aula es fa una descripció sobre com fabricar un entrenador per programar diversos dispositius electrònics amb Arduino.
L'entrenador és un simulador de vol, que es pot crear fàcilment amb materials reciclats.
En què consisteix el recurs?
A partir d'una caixa de cartró, tipus maletí, es crea un panell en el qual es col·locarà el dibuix del diorama que ens agradi i s'insertaran els dispositius electrònics que considerem oportuns per realitzar la nostra pràctica. Posteriorment es deixarà llest per connectar-ho a la placa d'Arduino.
L'alumnat connectarà cada dispositiu als pins d'Arduino que correspongui (revisaran la connexió ja feta) i aniran carregant a la placa.
Si volem que el simulador sigui més resistent, es pot emprar un maletí de fusta contraxapada (reutilitzat o creat per a tal fi) o fins i tot es podria imprimir en 3D, realitzant els orificis necessaris per a la inserció dels dispositius electrònics.
Un cop creat el maletí amb el diorama, es realitzaran les fitxes dels reptes que proposarem als estudiants.
Material necessari:
Per fabricar aquest simulador de vol, es necessita el material següent:
Un maletí de cartró (es pot aconseguir de caixes d'ordinadors portàtils o de teclats, caixes utilitzades en els enviaments de llibres, carpetes gruixudes, etc.).
Un diorama plastificat amb la temàtica Aeroport: el diorama sense l'avió i el diorama amb l'avió (per poder retallar l'avió i dotar-lo de moviment).
Cables de colors Jumper Dupont variats
A més a més, s'han d'incloure els següents dispositius electrònics:
Pulsadors
Interruptors
Diodes normals
Diode RGB
Diode verd/vermell
LCD
Potenciòmetre
Motor cc
Motor pas a pas o servomotor
Resistències
Placa Arduino (se'n necessiten 3 per poder controlar tots els dispositius)
Shield de la Placa d'Arduino (una per cada placa)
Opcional, utilitzar un driver de motor per a canviar el sentit de gir del motor de cc
Per a la seva fabricació es necessita:
Tisores
Cúter
Barrena
Cinta aïllant
Palletes
Celo
Pega
Soldador d' estany
Un cop reunits aquests materials i eines, començarem a fabricar el nostre simulador
Esquema
Programació
A continuació, es detallen els programes que cal emprar en cada una de les 3 plaques d'Arduino. Cal assenyalar que aquests programes es basen en els reptes realitzats i podrien simplificar-se mitjançant l'ús de més variables i sentències for i/o while.
La placa d' Arduino 1 s' encarrega de:
Controlar l'encesa/apagada de l'Arduino 1 i del led groc.
Controlar la intensitat de brillantor del led groc.
Controlar l'encesa/apagada del motor de cc.
Controlar la velocitat del motor cc (hèlix).
Controlar el gir de l'avió (servomotor).
La placa d' Arduino 2 s' encarrega de:
Controlar la senyalització de llums d'enlairament i aterratge (led verd i led vermell i els leds de la pista).
Controlar els missatges de la placa LCD: arribades i sortides.
La placa d' Arduino 3 s' encarrega de:
Controlar la senyalització del led RGB amb els botons de Petició de pista (enlairament/aterratge) de la cabina de l'avió i els botons de Pista (concedir/denegar) de la torre de control.
Passos a seguir...
Per aconseguir l'objectiu del Repte Final com a projecte cal dividir-lo en reptes.
En primer lloc, abans de començar els reptes s'enganxarà el diorama plastificat en un cartró (que posteriorment es col·locarà ajustat dins del maletí) i s'hi realitzaran els forats i orificis necessaris per allotjar els dispositius.
REPTE 1.
Encesa d'un led (Arduino 1). Han d'encendre simplement el LEDA (led groc situat a la cabina de control). Quan es connecti Arduino, el led lluirà directament.
REPTE 2.
Encesa-apagat d'un led: parpadeig (Arduino 1). Tendeixen a generar un parpadet del led LEDA, de manera que s'encendrà durant 1 segon i després s'apagarà durant un altre i es repetirà aquesta seqüència fins que apaguem Arduino. Quan es connecti Arduino, el led començarà a parpadejar.
REPTE 3.
Encesa de diversos leds alhora (Arduino 2). Han d' encendre simultàniament els leds 1,2,3 i 4 de la pista d' aterratge. Quan es connecti Arduino, els leds lluiran directament.
REPTE 4.
Encesa de 4 leds parpadejant alhora (Arduino 2). En aquest repte han de fer parpadejar de manera simultània els quatre leds de la pista d'aterratge. Pel que fa a Arduino, començaran a parpadejar.
REPTE 5.
Encesa-apagada de diversos leds de forma simultània i alternativa (Arduino 2). Recolzant-nos a l'Sketch 4, vam fer parpadejar els leds de dos en dos. L'1 i el 3 s'encenen mentre que el 2 i el 4 s'apaguen.
REPTE 6.
Encesa-apagat de diversos leds de forma seqüencial (Arduino 2). Recolzant-nos a l'Sketch 5, vam fer una escombrada d'encesa-apagada de tots els leds de forma seqüencial. El programa comença estant tots apagats, després s'encén l'1 i s'apaga, s'encén el 2 i s'apaga i així successivament.
REPTE 7-0.
Encesa d' Arduino amb un interruptor. En aquest repte, han de controlar l'encesa i apagada d'Arduino mitjançant l'interruptor I1, que està al costat del LEDA (led groc) que es va utilitzar en el repte 1. Quan adopti la posició d'"Arranque" s'encendran Arduino i el led. I amb la d'Apagat s'apagaran tots dos. Aquest repte no precisa control mitjançant programació. Únicament haurem de connectar els terminals del nostre polsador a un pin qualsevol d'Arduino, utilitzant G i S.
REPTE 7.
Encesa d'un led amb polsador i de dues leds amb un interruptor de dues posicions. La primera part d'aquest repte consisteix a encendre el LEDV mentre estem polsant P3 i apagant-se en deixar de polsar. Físicament, hem de tenir en compte que els polsadors que fem servir precisen una resistència per al seu correcte funcionament. Hem de connectar la resistència en pull-up o pull-down en funció de com vulguem que funcioni i haurem de tenir en compte també si el nostre polsador és NC o NO. La segona part d'aquest repte consisteix a substituir el polsador per un interruptor de dues posicions, de manera que cadascuna de les seves posicions controli l'encesa/apagada de dues leds. Haurem de col·locar les resistències en l'interruptor de la mateixa manera que fem abans en el polsador.
REPTE 8.
Encesa d'un led amb polsador actuant com a interruptor (Arduino 2).
El led es controla amb un polsador actuant aquest com un interruptor: si posem s'encén i continua encès fins que tornem a polsar per apagar-lo.
Per a aquest repte vam utilitzar el polsador P4 i el LEDR.
Per evitar confusions en els programes més complicats, se solen emprar variables, per la qual cosa en el següent codi s' han assignat les variables P4 al pin 7 i LEDR al pin 8.
Cal tenir en compte que el polsador en ser un component mecànic té contactes elèctrics que produeixen rebots, és a dir, en pressionar el polsador per breus períodes de temps, els contactes reboten i generen pulsacions fantasmes fins que s'estabilitzen. Un polsador en la vida real no passa de forma instantània d'obert a tancat, sinó que empra un breu instant. Atès que Arduino és capaç de detectar microsegons, cal afegir en el programa rutines antirebots. Una forma de controlar el led i el botó és la següent, en la qual emprem la funció xili: La funció while avalua la seva condició de manera que si es compleix executa el que tingui entre les seves claus; quan deixi de complir-se aquesta condició, passa a la següent línia de codi.
Hem d'afegir una variable més, a la qual anomenarem ESTAT. Ens indicarà com està el led, si HIGH o LOW i en funció de com estigui l'encendrà o l'apagarà. Col·locarem el símbol! per indicar "contrari".
REPTE 9.
Encesa d'un led RGB (Arduino 3). Vam connectar els tres pins dels colors a pins PWM. Utilitzarem per poder controlar els nivells de color.
REPTE 10.
Encesa d'un led RGB emprant procediments (Arduino 3). El repte consisteix a encendre el LEDRGB en diversos colors diferents, de manera que canviaran de color automàticament cada segon.
REPTE 11.
Encesa d'un led RGB amb polsador (Arduino 3). Anem ara a encendre el LEDRGB en diversos colors diferents en funció del polsador que controlem. Vam recolzar-nos en els reptes anteriors. Utilitzem en aquest repte els polsadors P1 (NA) i P2 (NC) per encendre el LED RBG.
REPTE 12.
Regulació de la intensitat d'un led amb un potenciòmetre (Arduino 2). Utilitzant un led del simulador, vam regular la seva intensitat emprant un dels dos potenciòmetres.
REPTE 13.
Encesa d'un motor de corrent continu amb un polsador (Arduino 1). Polsant el polsador P7, el motor girarà a màxima velocitat.
REPTE 14.
Regulació de la velocitat d'un motor de cc amb un potenciòmetre (Arduino 1). Aquest repte és igual al 12 amb la diferència que en aquest cas no tenim un led, sinó un motor de cc. A l'sketch, substituïm els terminals del led pels del motor.
REPTE 15.
Control de la posició de l'eix d'un servomotor amb un potenciòmetre (Arduino 1). A partir d'un potenciòmetre, vam aconseguir girar l'avió del simulador.
REPTE 16.
Encendre la pantalla LCD i donar missatge de benvinguda a l'aeroport (Arduino 2). En aquest repte vam encendre la LCD i mostrar un missatge de benvinguda a l'aeroport i avís d'arribades i sortides. Per a això, utilitzem el mòdul adaptador de LCD a I2C i així podrem controlar la pantalla amb només dos pins del nostre Arduino. Les connexions són:
Gnd-Gnd Arduino
Vcc – Vcc Arduino
SDA- A4 Arduino
SDL- A5 Arduino
REPTE 17.
Control mitjançant polsador del missatge de sortida d'una LCD (Arduino 2). En aquest repte, la pantalla ens indicarà arribades o sortides en funció de la posició que tingui l' interruptor.