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

Sensor de llum de la placa Circuit Playground Express

Aquesta pàgina fa referència al sensor de llum integrat a la placa Circuit Playground Express d'Adafruit.

La lectura del sensor l'obtindrem amb board.LIGHT o amb board.A8. El següent programa encén el primer NeoPixel amb més llum com més foscor detecta el sensor. El valor llegit (entre 0 i 65535) el convertim en un valor adequat als NeoPixel (entre 0 i 255) amb la funció map_range. Després el convertim en un valor enter.

import time
import board
import neopixel
import analogio
import simpleio
led = neopixel.NeoPixel(board.NEOPIXEL, 1, auto_write=False, brightness=0.1)
entrada = analogio.AnalogIn(board.A8)
while True:
    valor = simpleio.map_range(entrada.value, 0, 65535, 255, 0)
    valor = int(valor)
    print(entrada.value)
    print(valor)
    led.fill((valor, valor, valor))
    led.show()
    time.sleep(0.2)

Una altra opció seria encendre més o menys LED en funció de la quantitat de llum. Com més llum, menys LED. Atès que disposem de deu NeoPixel, la funció map_range ens ha de donar un valor entre 0 i 10, on 0 significa que no n'encenem cap. Cada LED estarà encès si el valor és superior o igual al seu número d'ordre, en cas contrari estarà apagat.

import time
import board
import neopixel
import analogio
import simpleio
leds = neopixel.NeoPixel(board.NEOPIXEL, 10, auto_write=False, brightness=0.1)
entrada = analogio.AnalogIn(board.LIGHT)
while True:
    valor = simpleio.map_range(entrada.value, 0, 65535, 10, 0)
    valor = int(valor)
    print(entrada.value)
    print(valor)
    for k in range(10):  # De 0 a 9
        if k <= valor:
            leds[k] = (255, 255, 255)
        else:
            leds[k] = (0, 0, 0)
    leds.show()
    time.sleep(0.2)

Encara que només dóna resultats aproximats i no gaire fiables, hi ha qui fa servir aquest sensor per determinar el color d'objectes propers al sensor. El sistema consisteix en fer servir el segon NeoPixel de la placa (el número 1, el més proper al sensor) per iluminar l'objecte amb llum de colors vermell, blau i verd successivament. A cada mesura es veurà quina quantitat de llum del color corresponent es reflecteix i així es pot determinar el color aproximat de l'objecte. Evidentment, si es volen obtenir resultats més satisfactoris convindrà emprar un sensor de color.

 

 

 

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.