neopixel_pulsation.py

Adafruit Feather nRF52840 Express · Fichier : neopixel_pulsation.py · Langage : Python · Usage : Faire pulsoter le NeoPixel embarqué

Premier bonjour de la Feather : la LED NeoPixel soudée sur la carte pulse en orange. board.NEOPIXEL est la broche dédiée définie par CircuitPython pour ce board exact — aucun câblage, aucune résistance, le courant passe par le régulateur embarqué.

Matériel requis

Une Adafruit Feather nRF52840 Express (SoC nRF52840 Cortex-M4F, BLE 5 / 802.15.4) avec NeoPixel embarqué, LED rouge, 2 Mo de flash QSPI pour le système de fichiers CircuitPython et connecteur batterie LiPo. La Feather nRF52840 Express seule, alimentée par son connecteur USB. La bibliothèque neopixel est fournie dans le bundle Adafruit.

Câblage

Aucun. Pour un ruban NeoPixel externe : DATA sur une broche libre (D5 par exemple), VOUT vers 5 V si alimenté en USB, masses communes.

Fonctionnement

neopixel.NeoPixel pilote la trame WS2812 en matériel ; la boucle rampe la composante rouge de 0 à 255 par pas de 4 avec 10 ms de pause, soit une respiration de ~1,3 s.

Exécution

CircuitPython (build feather_nrf52840_express) installé via le bootloader UF2 (double reset) ; éditer code.py sur le lecteur CIRCUITPY, console dans Mu/Thonny.

Variantes

Changer le motif (arc-en-ciel, chaland), brancher un ruban de N pixels sur D5, ou lier la couleur à un capteur I2C pour un voyant d’ambiance.

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)

← Retour à la fiche