Différences entre versions de « FEATHER-MICROPYTHON-NEOPIXEL »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 17 : Ligne 17 :
  
 
== NeoPixel sur ESP8266 MicroPython ==
 
== NeoPixel sur ESP8266 MicroPython ==
{{ambox-stop|text=La bibliothèque contenue dans firmware MicroPython convient uniquement pour la génération de NeoPixel avec flux de donnée à 800 KHz.}}
+
La bibliothèque {{fname|neopixel}} est déjà présente dans les Firmwares MicroPython. Cela permet de démarrer rapidement, il y a cependant quelques restrictions.
 +
 +
{{ambox-stop|text=La bibliothèque convient uniquement pour la génération de NeoPixel avec flux de donnée à 800 KHz.}}
  
 
Le bibliothèque '''ne prend pas''' en charge:
 
Le bibliothèque '''ne prend pas''' en charge:
Ligne 23 : Ligne 25 :
 
* les LEDs NeoPixel RGBW.
 
* les LEDs NeoPixel RGBW.
  
Les broches compatibles pour commander des NéoPixels sont les suivantes:
+
Les broches de l'ESP8266 compatibles pour commander des NéoPixels sont les suivantes:
  
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"

Version du 14 janvier 2018 à 13:10


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Introduction

L'arrivée de LEDs disposant d'une puce pilote dédicacée facilite grandement l'intégration de LEDs RGB dans change radicalement la donne en allégeant le travail du microcontrôleur, le câblage et permet au développeur de se concentrer sur l'application.

Le WS2812 avec source de lumière intégrée (WS2812 Integrated Light Source) — plus communément nommé NeoPixel par Adafruit — est la dernière avancée dans la quête pour obtenir des LEDs pleine de couleurs, simple a mettre en oeuvre, évolutive et abordable. Les leds rouge, vert et bleue sont intégrées côte à côte sur un petit composants montés en surface, lui-même intégré sur la puce du pilote (le contrôleur de la LED), le tout contrôlé par un simple fil de donnée qui passe d'une LED à l'autre.

NeoPixel-UserGuide-01.jpg

Les LEDs NeoPixel peuvent être utilisés individuellement, arrangés pour former une longue chaîne ou assemblés pour réaliser des formes intéressantes.

Ces LEDs sont arrangées sous différentes formes (voir la gamme disponible chez MC Hobby):

NeoPixel-UserGuide-21.jpg

NeoPixel-UserGuide-22.jpg

NeoPixel sur ESP8266 MicroPython

La bibliothèque neopixel est déjà présente dans les Firmwares MicroPython. Cela permet de démarrer rapidement, il y a cependant quelques restrictions.

Le bibliothèque ne prend pas en charge:

  • l'ancienne génération de NeoPixel (flux de donnée à 400 KHz)
  • les LEDs NeoPixel RGBW.

Les broches de l'ESP8266 compatibles pour commander des NéoPixels sont les suivantes:

Broche Compatibilité
14 NeoPixel compatible.
12 non testé.
13 NeoPixel compatible.
15 NeoPixel compatible.
0 NE PAS UTILISER. Broche de boot.
16 NON FONCTIONNEL pour NeoPixel
2 NeoPixel compatible.
5 NeoPixel compatible. Bus I2C (SCL)
4 NeoPixel compatible. Bus I2C (SDA)

Raccordement

FEATHER-MICROPYTHON-NEOPIXEL-10.jpg

Broche ESP8266 Broche NeoPixel Note
GND GND Masse commune
3V 5V Neopixel fonctionne aussi sous 3.3V. Elles sont moins brillante et ont plus de mal à produire du bleu.
Attention: le signal doit aussi être en 3.3V
2 DIN Le signal doit entrer par la broche Data IN.
Ne pas se tromper avec Data OUT! si le signal est branché sur DOUT (Data Out) alors les LEDs ne recevront pas les informations de couleur.

Code d'exemple

Le script d'exemple suivant montre comment commander un NeoPixel Stick de 8 LEDs

# Utilisation de la bibliothèque neopixel avec Feather ESP8266 
# sous MicroPython
#
# Shop: https://shop.mchobby.be/55-leds-neopixels-et-dotstar
# Wiki: https://wiki.mchobby.be/index.php?title=MicroPython-Accueil#ESP8266_en_MicroPython

from machine import Pin
from neopixel import NeoPixel
from time import sleep

# NeoPixel( broche_signal, nbre_de_led )
np = NeoPixel( Pin(2), 8 )

# Fixer la couleur la couleur du premier pixel
# avec un tuple (r,g,b) ou chaque valeur est 
# située entre 0 et 255
np[0] = (255,0,0) # rouge

# couleur des autres pixels
np[1] = (0, 255, 0) # vert
np[2] = (0, 0, 128) # bleu (1/2 brillance)

# Voir aussi HTML Color Picker
# https://www.w3schools.com/colors/colors_picker.asp
np[3] = (255, 102, 0) # Orange
np[4] = (255, 0, 102) # Rose bonbon
np[5] = (153, 51, 255) # Violet
np[6] = (102, 153, 255) # bleu pastel
np[7] = (153, 255, 153) # vert pastel

# Envoyer l'info au NeoPixels
np.write()

sleep(2)

# fill() permet de remplir tout
# le NeoPixel avec une seule couleur
colors = [ (255,0,0), (0, 255, 0), (0, 0, 128),
    (255, 102, 0) , (255, 0, 102), (153, 51, 128), 
    (102, 153, 128), (153, 255, 128) ]

for color in colors:
    np.fill( color )
    np.write()
    sleep(2)

# Eteindre les NeoPixels
np.fill( (0,0,0) )
np.write()

Ressouces

Où acheter


Tutoriel réaliser par Meurisse D. pour MC Hobby SPRL

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.