arduino-scratch

Entrades analògiques i potenciòmetres

Objectiu

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.

Material

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

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.

Esquema elèctric potenciòmetre

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:

Muntatge

Si anem ajustant el potenciòmetre veurem com varia la intensitat de la lluentor del LED.

Les entrades analògiques

Realitzarem un muntatge en el qual llegirem el valor a l’eixida del potenciòmetre amb l’entrada analògica A0.

Esquema elèctric

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.

Valors de l'entrada analògica

Controlar objectes en l’escenari

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.

Escenari amb dron

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.

Coordenades de l'escenari

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.

Blocs de moviment

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.

Bloc fixar 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.

Centre de l'objecte

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 …“.

Possició x = entrada analògica

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:

Moviment dron

Si ho executem de nou i girem el potenciòmetre veurem que ara funciona d’una forma més adequada.

Algunes coses útils

Utilitats d'escenari

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.

Moviment eix Y Moviment X - Y

Resum de la lliçó

En aquesta lliçó hem aprés diverses coses importants:

Veure també