Les leds WS2812, encore appelées NeoPixels, sont des leds RGB programmables pour lesquelles il existe des bibliothèques (en C) et des modules (en Python). Mais comment faire lorsque l'on a commandé une matrice de leds et que l'on voudrait commencer à programmer ? Créer un émulateur bien sûr !
Pour un hors-série du magazine Hackable devant paraître sous peu, j'ai travaillé sur un écran de leds sous la forme d'une matrice de 8 x 8 leds WS2812. Mais pour pouvoir publier ce hors-série sur le développement en Python sous Raspberry Pi, il fallait que les lecteurs ne disposant pas encore de tout le matériel nécessaire puissent tout de même programmer. J'ai donc développé un émulateur permettant de remplacer le module neopixel [1] et de simuler le comportement de l'écran de leds. Je vous propose ici un retour d'expérience.
1. Le module neopixel
Je me suis donc basé sur le module neopixel (voir encadré) pour communiquer avec l'écran et, pour pouvoir émuler l'affichage, il me faut reproduire le fonctionnement de ce module. La première des choses à faire est de savoir ce que fait le module !
$ python 3
...
>>> import neopixel
>>> help(neopixel)
Help on module neopixel:
NAME
neonpixel
DESCRIPTION
# Adafruit...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première