Dernière mise à jour :
19/04/2008
Article non terminé, volontairement non
référencé dans les sommaires du
site
Présentation
Extension de mon
lampadaire
multicolore 002, qui lui même faisait suite à mon
lampadaire
multicolore 001. Cette version est
basée sur l'utilisation d'un PIC de type 16F877. L'occasion pour
moi de me pencher encore un peu plus sur la
programmation des PICs.
Fonctions implémentées ou à venir
Variation manuelle et indépendante des trois couleurs RVB
(minimum vital).
Variation automatique et aléatoire des couleurs, avec vitesse
réglable (pour
permettre des variations plus lentes que celle offertes par la lampe
Colors de
Philips).
Ajout
d'une couleur jaune aux trois couleurs existantes, si cela
s'avère vraiment indispensable.
Télécommande à infrarouge.
Affichage LCD permettant de visualiser le rapport cyclique
affecté à chaque couleur, et
le mode de fonctionnement en cours.
Sauvegarde presets utilisateur
--------------
= fait
=
à faire
Le schéma
Schéma provisoire, juste pour montrer l'idée
générale et l'état d'avancement. Comme pour le
lampadaire 002, le schéma ne représente qu'une simple led
pour chaque sortie R, V et B, mais la mise en place de plusieurs leds
par sortie ne pose aucun soucis, moyennant l'ajout des composants de
"puissance" qui vont bien (un simple transistor peut suffire, tout
dépend de vos ambitions).
Idée générale
Le principe général repose sur la
modulation
de largeur d'impulsion (PWM ou MLI), que j'avais déjà
mise en oeuvre pour mon premier lampadaire multicolore. La grosse
différence ici est le nombre de composants nécessaires.
Alors que dans la première version j'utilisais un NE555 avec
tous ses composants satellite pour chaque voie R, V et B, un seul
composant est désormais requis. Contrepartie non
négligeable, le composant en question doit être
programmé, ce qui impose d'avoir le matériel
nécessaire pour le faire, ou de connaitre quelqu'un qui peut le
faire pour vous. Je ne conseille pas une méthode plus que
l'autre (NE555 ou PIC), à chacun ses préférences.
Bien,
modulation de largeur d'impulsion, donc. Certains PIC offrent de
façon "native" ce type de fonction (cas du 16F877 par exemple),
d'autres non (cas du 16F84). Le 16F877 n'offre que deux modules PWM, et
il m'en
fallait au moins trois. Je devais donc trouver une autre
solution que d'utiliser les fonctions natives. J'ai donc
développé mon programme pour produire des signaux
modulés en largeur d'impulsion sur quatre sorties (trois
seulement utilisées pour le moment), avec
possibilité de modifier chacune d'elle de façon
indépendante. Pour cela, je stocke dans un tableau, les valeurs
de luminosité en cours pour chaque couleur, ces valeurs pouvant
être comprises entre 0% et 100%, une valeur de 50% correspondant
à une luminosité médiane, la valeur de 0%
correspondant à l'extinction complète et la valeur de
100% correspondant à l'allumage plein feu. Pour modifier le taux
de luminosité d'une des couleurs, il suffit de
sélectionner la sortie correspondante (bouton SW1 pour
sélectionner la sortie 1 Rouge, bouton SW2 pour la sortie 2
Vert, bouton SW3 pour la sortie 3 Bleu), puis d'appuyer sur le bouton
SW4 ou SW5 pour respectivement descendre ou monter la
luminosité. Les autres boutons serviront à des fonctions
de sauvegarde et de rappel de configurations toutes faites pour obtenir
immédiatement un mélange de couleurs particulier.