PYBStick-RP2040 : Documentation NeoPixel / WS2812
Bonsoir à tous,
Encore une petite avancée sur la documentation de la PYBStick-RP2040.
Cette fois, nous nous sommes concentrés sur l'utilisation des LEDs NeoPixels (WS2812) sous MicroPython avec le processeur RP2040.
NeoPixel sous 3.3V
Le montage est relativement simple si l'on a besoin de contrôler quelques Pixels.
Il est évidemment hors de question d'alimenter un ruban ou un anneau néopixel avec le régulateur de tension de la PYBStick!
Source: PYBStick-RP2040 |
Très simple à utiliser en fin de compte.
Attention:
Contrairement à de nombreux exemples sur Internet, le niveau logique du signal de donnée doit correspondre à la tension d'alimentation des pixels. Alimenter les pixels sous 5V avec un signal 3.3V, c'est prendre le risque d'avoir des surprises et des instabilités.
NeoPixel sous 5V
Utiliser des NeoPixels sous 5V, c'est s'assurer une meilleur luminosité mais aussi l'opportunité de pouvoir compter sur une alimentation 5V 10A... car les NeoPixels sont vraiment très énergivores.
Voici comment amener le signal logique 3.3V du RP2040 à 5V à l'aide d'un 74AHCT125.
Source: PYBStick-RP2040 |
Du Code
Hormis quelques fonctions utilitaires (voir exemple) que l'utilisation des NeoPixels est relativement simple.
# Tous les pixels de la même couleur # pixels_fill( RED ) # Remplir en Rouge pixels_show() # Envoi des données sur le Ruban time.sleep( 2 ) # Attendre 2 seconde pixels_fill( GREEN ) # en Vert pixels_show() time.sleep( 2 ) pixels_fill( BLUE ) # en Bleu pixels_show() time.sleep( 2 ) # Eteindre le ruban pixels_fill( BLACK ) # Remplir en noir pixels_show() time.sleep( 2 ) # Assigner la couleur Pixel par Pixel # pixels_set( 0, RED ) # Pixel 0 en Rouge pixels_set( 1, GREEN ) # Pixel 1 en Vert pixels_set( 2, BLUE ) # Pixel 1 en Bleu pixels_set( 3, YELLOW )# ... pixels_set( 4, CYAN ) pixels_set( 5, PURPLE ) pixels_set( 6, WHITE ) pixels_set( 7, RED ) pixels_show() # Envoi des données sur le Ruban time.sleep( 4 ) # Attendre 4 secondes # Eteindre le Ruban pixels_fill( BLACK ) pixels_show() time.sleep( 2 )
Ressources
- PYBStick RP2040 - dispo chez MCHobby
- Documentation PYBStick-RP2040
Écrire un commentaire