Les NeoPixels sont des LEDS RVB intelligentes ultra lumineuses. On peut les associer pour former des bandeaux, des rectangles etc....

     


Ce module Grove, sous la forme d'un stick, est équipé de 10 NeoPixels WS2813 mini


Chaque NeoPixel possède à l’intérieur : 

    • une LED  RVB,
    • un  circuit électronique intégré,
    • une patte Data IN (données entrantes) et une patte Data OUT (données sortantes).


Les NeoPixel sont chainable entre eux, c’est à dire que les données entrantes de l’un vont être les données sortantes du suivant et ainsi de suite. 

Cette information est transmise très rapidement d’un NeoPixel à l’autre et chaque NeoPixel prend l’information qui le concerne.

Le 1er NeoPixel aura l'adresse 0, le suivant l'adresse 1 etc.....

Les données viennent d'une seule broche d’un microcontrôleur comme Microbit, ESP, Raspberry Pi Pico ou Arduino.


Le microcontrôleur doit envoyer une information  concernant :

    • la luminosité de 0 à 255 pour chaque canal en Rouge Vert Bleu, ex : (255, 0, 0)
    • l'adresse du NeoPixel concerné.


Raspberry Pi Pico MicroPython Neopixel WS2813 mini Grove

Programme pour allumer les 3 premiers NeoPixels du stick connecté à la broche GP16 (repère D16 shield Grove)


from machine import Pin
from neopixel import NeoPixel    # import de la bibliothèque NeoPixel

np = NeoPixel(Pin(16), 10)       # crée un objet np de 10 Néopixels connectés broche GP16 (repère D16 shield Grove)

np[0] = (255, 0, 0)              # affecte du rouge au 1er NeoPixel (adresse = 0)
np[1] = (0, 255, 0)              # affecte du verte au 2ème NeoPixel (adresse = 1)
np[2] = (0, 20, 0)               # affecte du vert pale au 3ème NeoPixel (adresse = 2)
np.write()                       # écriture des données vers les NeoPixels



Raspberry Pi Pico MicroPython Neopixel WS2813 mini Grove 

Programme pour allumer 3 NeoPixels en bleu du stick


from machine import Pin
from neopixel import NeoPixel    # import de la bibliothèque NeoPixel

np = NeoPixel(Pin(16), 10)       # crée un objet np de 8 Néopixels connectés broche GP16 (repère D16 shield Grove)

for x in range(2, 5):            # boucle pour x de 2 à 4 (2 compris, 5 non compris)
    np[x] = (0, 0, 20)           # affecte du bleu au NeoPixel d'adresse x

np.write()                       # écriture des données vers les NeoPixels



Raspberry Pi Pico MicroPython Neopixel WS2813 mini Grove

Programme pour affecter une couleur et une intensité aléatoire aux 10 NeoPixels


from machine import Pin
from neopixel import NeoPixel
from time import sleep_ms
from random import randint

np = NeoPixel(Pin(16), 10)

while True:
    # Pour chaque NeoPixel, de x = 0 à 9
    for x in range(0, 10):
        # intensité aléatoire entre 0-60 par canaux RVB 
        r = randint(0, 60)
        v = randint(0, 60)
        b = randint(0, 60)

        # Affecte le tuple (r, v, b) au NeoPixel
        np[x] = (r, v, b)

        # Envoi des données aux Neopixels
        np.write()
        sleep_ms(100)























Créé avec HelpNDoc Personal Edition: Créer des livres électroniques facilement