Conception d'un émulateur de leds WS2812

Magazine
Marque
GNU/Linux Magazine
Numéro
202
Mois de parution
mars 2017
Spécialités


Résumé

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...

Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

« Je veux ma maquette de satellite » : analyse du format G3DB d’objets 3D en vue de leur impression

Magazine
Marque
GNU/Linux Magazine
Numéro
250
Mois de parution
juillet 2021
Spécialités
Résumé

Nous explorons le format G3DB exploité dans nombre de jeux programmés en Java sous Android s’appuyant sur la bibliothèque LibGDX. Cette étude sera l’occasion de découvrir le format universel binaire JSON, conçu pour sa compacité tout en conservant une facilité d’analyse bien connue de ce format de données. Nous aboutirons ainsi à un modèle 3D exploitable dans tout logiciel de conception assistée par ordinateur et conclurons par l’impression des divers éléments de la maquette et son assemblage.

Utilisez les énumérations en Python

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
115
Mois de parution
juillet 2021
Spécialités
Résumé

Il existe dans tout langage des éléments simples, pratiques, mais qui sont pourtant peu employés par les développeurs. En Python, les énumérations se retrouvent dans cette catégorie. Je vous propose dans cet article de découvrir leur intérêt.

Gérez vos projets Python avec Poetry

Magazine
Marque
GNU/Linux Magazine
Numéro
250
Mois de parution
juillet 2021
Spécialités
Résumé

« Un peu de poésie dans un monde de brutes », voilà ce que l'on pourrait se dire en lisant le nom de ce projet… pourtant, c'est à l'usage qu'il montre ses petits muscles et il vous deviendra rapidement indispensable !

Les bizarreries de l’isolation des IPC

Magazine
Marque
GNU/Linux Magazine
Numéro
250
Mois de parution
juillet 2021
Spécialités
Résumé

Le namespace IPC (Inter-Process Communication) isole les mécanismes de communication interprocessus (sémaphores, mémoire partagée et queues de messages) hérités d’UNIX Système V et bizarrement, seulement une partie de leurs pendants POSIX.

Des bots pour Discord

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
115
Mois de parution
juillet 2021
Spécialités
Résumé

T'as des bots, mon pote... Elles me bottent. Parfois simples lanceurs de dés ou générateurs de citations de films, les bots peuvent aussi être pensés comme de vrais outils d’automatisation. Qui n’a jamais eu envie de déployer en production avec un simple !deploy dans son outil de discussion d’équipe ? Venez découvrir comment le faire dans cet article !