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

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