Les NeoPixels sont des LEDS RVB intelligentes ultra lumineuses. On peut les associer pour former des bandeaux, des rectangles etc....
Exemple : ce petit module sous la forme d'un stick, est équipé de 8 NeoPixels WS2812
|
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 WS2812
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), 8) # crée un objet np de 8 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 WS2812
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), 8) # 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 WS2812
Programme pour affecter une couleur et une intensité aléatoire aux 8 NeoPixels
from machine import Pin from neopixel import NeoPixel from time import sleep_ms from random import randint
np = NeoPixel(Pin(16), 8)
while True: # Pour chaque NeoPixel, de x = 0 à 7 for x in range(0, 8): # 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 facilement des fichiers Qt Help