Leds Néopixels

Les NéoPixels sont des LEDS RGB[1] intelligentes. On peut les associer pour former des bandeaux, des rectangles etc....

Vous allez utiliser un stick 10 leds Néopixels :

Chaque NeoPixel possède

  • une LED  RVB

  • un  circuit électronique intégré, le WS2812B [pdf], permettant de communiquer avec les différentes leds du stick

  • une broche Data in (données entrantes) et une broche Data out (données sortantes).

Exemple de programme

1
# Programme essai néopixel
2
import machine, neopixel, time
3
# importation des bibliothèques de l'ESP, néopixel, temporisation
4
n = 3 # nombre de led du stick
5
p = 5 # n° broche sur laquelle on branche le stick
6
np = neopixel.NeoPixel(machine.Pin(p), n)
7
# np sera l'objet néopixel correspondant à la broche 5 avec 3 LEDs
8
9
#allumer la première led en vert(faible intensité)
10
np[0] = (0, 25, 0) # réglage à partir d'une liste
11
np.write() # envoie du pilotage néopixel
12
print ("vert")
13
time.sleep(1)
14
15
#allumer la première led en rouge(faible intensité)
16
np[0] = (25, 0, 0)
17
np.write()
18
print ("rouge")
19
time.sleep(1)
20
21
#allumer la deuxième led en bleu(faible intensité)
22
np[1] = (0, 0, 25)
23
np.write()
24
print ("bleu")
25
time.sleep(1)
26
27
#allumer la première led en rouge(forte intensité intensité)
28
np[0] = (255, 0, 0)
29
np.write()
30
print ("rouge")
31
time.sleep(1)
32

Question

Proposer un programme pour configurer le stick fourni et le piloter par la broche 23

Indice

# mettre la bonne config par rapport à l'exemple

n = 3 # nombre de led du stick

p = 5 # n° broche sur laquelle on branche le stick

Solution

n = 10 # nombre de led du stick

p = 23 # n° broche sur laquelle on branche le stick

Question

Proposer un fonction permettant d'éteindre toutes les leds

Indice

1
#fonction effacement
2
def clear():

Indice

Il faut ensuite définir une boucle pour qui viendra mettre la valeur nécessaire pour éteindre la led

Indice

éteindre une led = (0, 0, 0)

Indice

for i in range(n):

Solution

1
#fonction effacement
2
def clear():
3
  for i in range(n):
4
    np[i] = (0, 0, 0)
5
    np.write()