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
# Programme essai néopixel
import machine, neopixel, time
# importation des bibliothèques de l'ESP, néopixel, temporisation
n = 3 # nombre de led du stick
p = 5 # n° broche sur laquelle on branche le stick
np = neopixel.NeoPixel(machine.Pin(p), n)
# np sera l'objet néopixel correspondant à la broche 5 avec 3 LEDs
#allumer la première led en vert(faible intensité)
np[0] = (0, 25, 0) # réglage à partir d'une liste
np.write() # envoie du pilotage néopixel
print ("vert")
time.sleep(1)
#allumer la première led en rouge(faible intensité)
np[0] = (25, 0, 0)
np.write()
print ("rouge")
time.sleep(1)
#allumer la deuxième led en bleu(faible intensité)
np[1] = (0, 0, 25)
np.write()
print ("bleu")
time.sleep(1)
#allumer la première led en rouge(forte intensité intensité)
np[0] = (255, 0, 0)
np.write()
print ("rouge")
time.sleep(1)
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
#fonction effacement
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
#fonction effacement
def clear():
for i in range(n):
np[i] = (0, 0, 0)
np.write()