Dans ce projet on réalise une barre lumineuse dont les variations de couleur sont pilotées par un module Arduino.
Une couleur est obtenue par la synthèse additive des 3 couleurs rouge, vert et bleu. Pour bien comprendre le fonctionnement de la synthèse additive : une animation sur la synthèse additive.
L'intensité de chacune des composantes est codée par un nombre compris entre 0 et 255. Cela provient du fait que cette intensité est codée sur un octet. Un octet est un regroupement de 8 bits qui peut être utilisé pour représenter un nombre entier écrit en binaire compris entre 0 et 255.
Pour plus de détails : Numération binaire
On réalise une barre lumineuse à partir de 3 LED : une rouge, une verte et une bleue. Chaque LED est reliée par son anode (patte la plus longue) à une broche du module arduino sur laquelle il est possible de moduler la tension. Les broches pour lesquelles la modulation de tension est possible sont les broches 3, 5, 6, 9, 10 et 11. Pour ce projet nous utiliserons les broches 9, 10 et 11.
Enfin les cathodes des LED (pattes les plus courtes) sont reliées ensemble à une borne GND
du module Arduino avec des résistances de 330 $\Omega$.
L'instruction analogWrite(broche,valeur)
, permet de moduler la tension sur la broche indiquée par la donnée d'un nombre compris entre 0 et 255. La tension peut donc prendre 256 valeurs possibles équiréparties entre 0 et 5V.
Avec le code source proposé ici, vous obtenez une transition douce entre les couleurs bleue, magenta et rouge.
Code source de la barre lumineuse
Pour finaliser le projet on peut créer un tube en papier sulfurisé pour coiffer les 3 LED afin d'obtenir une bonne diffusion du mélange des couleurs.