neopixel_pulsation.py

Adafruit Feather nRF52840 Express · Archivo : neopixel_pulsation.py · Lenguaje : Python · Uso : Faire pulsoter le NeoPixel embarqué

El primer saludo de la Feather: el NeoPixel soldado en la placa pulsa en naranja. board.NEOPIXEL es el pin dedicado que CircuitPython define para este board exacto: sin cableado, sin resistencia, la corriente pasa por el regulador embarcado.

Hardware

Una Adafruit Feather nRF52840 Express (nRF52840, BLE 5) con NeoPixel, LED rojo, 2 MB de flash QSPI para CircuitPython y conector LiPo. Solo la Feather nRF52840 Express alimentada por su conector USB. La librería neopixel viene en el bundle de Adafruit.

Cableado

Ninguno. Para una tira NeoPixel externa: DATA a un pin libre (D5 por ejemplo), VOUT a 5 V si se alimenta por USB, masas comunes.

Funcionamiento

neopixel.NeoPixel pilota la trama WS2812 por hardware; el bucle sube la componente roja de 0 a 255 en pasos de 4 con pausas de 10 ms: una respiración de ~1,3 s.

Ejecución

CircuitPython (build feather_nrf52840_express) vía bootloader UF2 (doble reset); editar code.py en la unidad CIRCUITPY.

Variantes

Cambiar el motivo (arcoíris, persiana), conectar una tira de N píxeles en D5, o ligar el color a un sensor I2C para testigo ambiental.

neopixel_pulsation.py

# Pulsation du NeoPixel embarqué de la Feather nRF52840 Express.
# Bibliothèque : adafruit_neopixel (incluse dans la distribution).
import time
import board
import neopixel

# Un seul pixel, liaison NeoPixel du board (broche dédiée, déjà câblée)
pixel = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2)

while True:
    # Montée progressive orange (R > G), 0 -> 255
    for i in range(0, 256, 4):
        pixel[0] = (i, i // 4, 0)
        time.sleep(0.01)
    # Descente symétrique
    for i in range(255, -1, -4):
        pixel[0] = (i, i // 4, 0)
        time.sleep(0.01)

← Volver a la ficha