La present sessió en servirà per conèixer els potenciòmetres, comprendre el funcionament de les entrades analògiques i utilitzar una entrada analògica per a controlar un objecte en l’escenari.
Imatge | Descripció |
---|---|
Arduino Uno o compatible amb S4A i amb el firmware per S4A carregat. | |
Una protoboard | |
Cables de connexió | |
Un díode led | |
Una resistència de 330 Ohms | |
Un potenciòmetre |
Els potenciòmetres són resistències que tenen un mecanisme per a variar el seu valor. En aquest cas el nostre potenciòmetre pot prendre valors de 0 a 10kΩ.
Hi ha molts tipus de potenciòmetres, però tots ells tenen 3 pins en fila.
Per a comprendre el funcionament del potenciòmetre muntarem un circuit compost pel potenciòmetre, un LED i una resistència de la següent forma:
Utilitzant el Arduino simplement per a donar tensió, el muntatge en la protoboard quedaria de la següent manera:
Si anem ajustant el potenciòmetre veurem com varia la intensitat de la lluentor del LED.
Realitzarem un muntatge en el qual llegirem el valor a l’eixida del potenciòmetre amb l’entrada analògica A0.
Variant la resistència del potenciòmetre el que busquem és modificar la tensió a l’eixida del pin central. Així podrem modificar el valor dels senyals que llegirem amb les entrades analògiques de Arduino, que com ja sabem, lligen tensió.
El que farà la nostra placa Arduino serà convertir el valor de la tensió que llig, entre 0 i 5V, a un valor entre 0 i 1023.
Encara que no construïm cap programa, si anem ajustant el potenciòmetre, veurem com va variant el valor de l’entrada analògica a la qual hem connectat el potenciòmetre.
Aprofitarem el muntatge que tenim per a moure un objecte en l’escenari utilitzant el potenciòmetre. El primer que farem serà crear una disfressa, dibuixant-lo, o important-lo.
Jo he importat un dron i li he posat un fons d’un cel amb núvols, com vam fer en la lliçó 5.
Fins ara, quan hem volgut posicionar un objecte en l’escenari l’hem col·locat manualment arrossegant-lo per ell. Com ara es mourà, ens podria interessar que quan el programa comence a executar-se, l’objecte comence en una posició determinada.
Utilitzarem blocs de “Moviments” que no hem usat fins ara, relacionats precisament amb la posició, la direcció i la velocitat dels objectes en l’escenari. Són els que estan al final de la llista de blocs de moviment i venen separats dels altres per una xicoteta ratlla.
Per a seleccionar les coordenades per a la posició d’un objecte utilitzarem els blocs de “Moviments” “fixa x a …” i “fixa y a …“.
Com en aquest cas la posició inicial en X de l’objecte ve donada per l’ajust inicial del potenciòmetre, en iniciar el programa només fixarem la posició en Y.
El que col·loquem en donar-li les coordenades és el centre de l’objecte. Podem seleccionar o canviar el centre d’un objecte en l’editor gràfic de les seues disfresses i posar-lo en un lloc en el qual ens facilite posicionar-lo.
Una vegada seleccionades les condicions inicials, col·locarem el bloc “per sempre”, i dins d’ell, fixarem la posició en X al valor de l’entrada analògica a la qual està connectat el potenciòmetre, en aquest cas l’A0, utilitzant els blocs de “Moviments” “fixar x a …” i “valor del sensor …“.
Si en aquest moment executem el programa i girem el potenciòmetre veurem com es mou el nostre objecte, en el meu cas com vola el dron.
Però encara hi ha diversos defectes que haurem de corregir:
Per a poder aprofitar tot l’ample de l’escenari, la qual cosa farem és restar-li 240 al valor de l’entrada analògica A0. D’aquesta forma quan la resistència del potenciòmetre aquest al màxim, la tensió mesurada serà 0V, i en restar-li 240, tindrem el valor -240, que coincideix amb l’extrem esquerre de l’escenari.
Per a aprofitar tot el gir del potenciòmetre per al moviment el que hem és de calcular la relació que hi ha entre els valors que poden prendre l’entrada analògica, 1024, i l’eix X de l’escenari, 480.
El que vol dir això és que l’entrada analògica pot prendre 2,13 vegades més valors que l’eix X. Per tant, el que hem de fer és dividir l’entrada analògica entre 2,13 i així quedarà també amb valors entre 0 i 480.
Per a fer aquestes operacions dins del nostre programa utilitzarem els blocs de “Operadors” “ / “ i “… – …“.
Per tant el nostre programa quedaria d’aquesta forma:
Si ho executem de nou i girem el potenciòmetre veurem que ara funciona d’una forma més adequada.
Per a continuar practicant, us recomane que feu el mateix però movent l’objecte verticalment. Si teniu dos potenciòmetres, podeu provar de moure-ho en les dues direccions en un només programa.
Us deixe els programes per si se us resisteix i necessiteu una xicoteta ajuda.
En aquesta lliçó hem aprés diverses coses importants: