--
Vue d’ensemble
Quand on veut un microcontrôleur pour envoyer et recevoir des données de/vers les périphériques à l’aide d’une forme de logique numérique, nous le faisons souvent par le biais de protocoles standard tels que SPI, I2C/TWI, UART, etc.. Cependant, il arrive un moment dans la vie de chaque interface de programmation du matériel embarqué où l'on pratique ou nécessaire de roll-up ses manches et manivelle à son propre protocole. Tel est le cas pour le contrôle de l’omniprésente LED RGB de WorldSemi : la série WS281X.
Il est à noter qu’il y ai eu tentatives réussies pour utiliser le protocole SPI pour le contrôle de ces LEDs. Néanmoins, étant donné la nature de leur protocole de communication (décrit ci-dessous) il s’agit d’un cadre idéal pour mettre en œuvre une solution personnalisée à l’aide d’une technique de programmation appelée bitbanging. Cette technique nous permet d’imiter les différentes fonctions du matériel spécialisé, à l’aide de logiciels. Dans ce cas, nous utiliserons il pour activer/désactiver une broche de sortie numérique sur le microcontrôleur ATMega328p de façon très précise, afin que le signal numérique créé nous permet d’allumer ou d’éteindre un tableau 1-par-60 de WS2812 RGB LED.
Niveau de Difficulté: débutant + (certaine familiarité avec la programmation de l’Arduino)
Temps d’exécution: 15-30 Minutes