Tecnologia vestible

Per començar Elements d'entrada Programació CircuitPython   Recursos CITCEA
Elements no electrònics Elements de sortida Programació Arduino    
Projectes Elements de control Dades pràctiques   Inici

Entrades analògiques

Les entrades analògiques permeten llegir la tensió elèctrica que hi ha connectada a l'entrada. Les tensions poden anar, en principi, de 0 a 3,3 V i se'ls assignen uns valors entre 0 (corresponent a 0 V) i 65535 (corresponent, en principi, a 3,3 V).

Per fer servir les entrades analògiques cal primer definir un objecte per a cada una d'elles. Per llegir l'entrada mirem el seu valor.

Aquí definim un objecte corresponent a l'entrada analògica A0:

sensor = analogio.AnalogIn(board.A0)

I aquí escrivim el valor llegit:

    print(sensor.value)

Atenció: Tingueu present que en molts casos les entrades binàries i analògiques corresponents a la mateixa pota no tenen el mateix número. Convé mirar la descripció de la placa per veure com es diu cada una.

El següent programa, pensat per a una placa Circuit Playground Express, ens permet variar el color d'uns NeoPixel a partir d'una entrada analògica. Una bona manera de provar-ho és amb un Potenciòmetre tèxtil.

Atès que el sensor dóna valors entre 0 i 65535 i, en canvi, els NeoPixels necessiten valors entre 0 i 255, hem agafat una variable on calculem el valor enter que ha llegit el sensor dividit per 256. Aquest valor el fem servir per variar la intensitat de vermell del primer NeoPixel. En el cas del segon NeoPixel hem posat aquest valor com a vermell i el seu complementari com a verd i així el color variarà entre verd i vermell passant pel groc, el taronja i altres colors intermedis.

import board
import neopixel
import time
import analogio
cadena = neopixel.NeoPixel(board.D8, 2, brightness=0.3)  # Dos NeoPixel a la pota D8 (els de la placa)
sensor = analogio.AnalogIn(board.A2)
while True:
    color = sensor.value//256
    print(color)
    cadena[0] = (color, 0, 0)    # Pixel 0 vermell
    cadena[1] = (color, 255-color, 0)    # Pixel 1 entre vermell i verd
    cadena.write()
    time.sleep(1)

 

 

 

En aquest web, les fotografies marcades amb [AF] són del web d'Adafruit, les marcades amb [SF] del web d'Sparkfun i les marcades amb [AU] del web d'Arduino.

 

 

 

 

 

 

 

 

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.