Electronique > Réalisations > Lampadaire multicolore 008

Dernière mise à jour : 25/04/2021

Présentation

Ce lampadaire permet d'obtenir une lumière dont la couleur varie selon votre envie (avec un potentiomètre) ou de manière aléatoire (en fonction du champ électromagnétique/électrostatique ambiant).


lampadaire_multicolore_008_pcb_3d_a  lampadaire_multicolore_008_pcb_3d_b  

Le nombre de couleurs est limité à 1023, ce qui peut-être ne fait pas "super-hi-tech", mais l'effet est bien là... Le montage s'appuie sur un PIC 12F1572 et ne requiert que très peu de composants. Une couleur vous plaît ? Appuyez sur le bouton Save...


Schéma

Ce schéma est complet.


lampadaire_multicolore_008

Le PIC comporte 1048 octets de mémoire programme et le logiciel en utilise... 1045 !
Hum... que pourrais-je bien faire des 3 octets restants ?


Horloge / oscillateur

Pas de quartz dans ce montage, l'oscillateur interne du PIC fait l'affaire.


PWM et luminosité variable

Les variations de luminosité des LED est assuré par une variation du rapport cyclique des signaux périodiques appliqués aux LED. La fréquence de clignotement de ces dernières est de 20 kHz, pas de risque donc de perturber vos équipements audio ni de laisser paraître un scintillement gênant. Un signal PWM indépendant est utilisé pour chacune des trois puces de couleur RGB (rouge, vert et bleu).

Pour plus de détails concernant ce mode de fonctionnement appelé PWM ou MLI, voir page Modulation de largeur d'impulsion.


Modes de variation des couleurs

En utilisant des rapports cycliques différents pour chacune des trois puces de couleur RGB, on peut (en théorie) obtenir n'importe quelle couleur. Mais comme vous pouvez le remarquer sur le schéma, il n'y a qu'un seul potentiomètre de réglage pour modifier les trois couleurs. L'astuce consiste à séparer la plage de réglage en plusieurs zones, chacune représentant les couleurs séparées. Cela engendre une amusante (et peu conventionnelle) façon de régler les couleurs, en plus d'une diminution des possibilités (1000 couleurs seulement, au lieu des traditionnelles 16 millions). C'est un choix que j'assume.

Réglage par potentiomètre (cavalier JP1 côté potentiomètre RV1)

Le réglage par potentiomètre permet de choisir la couleur que l'on veut, mais la course du potentiomètre permet d'obtenir 1024 valeurs différentes, de 0 à 1023, plage liée à la résolution de 10 bits du CAN interne du PIC que j'ai décidé de conserver telle quelle (sans réduction). Un petit problème se pose avec cette façon de faire : le moindre petit mouvement de l'axe du potentiomètre se traduit par une variation de couleur, même avec la présence du condensateur C1 qui filtre les éventuels "crachements" du potentiomètre susceptibles d'occasionner des sautes brutales de changement de couleur. Pour contourner ce petit point noir (qu'on peut toutefois trouver drôle quand on est ouvert aux situations inattendues), un bouton Save (SW1) permet de figer la couleur en cours. Pour la débloquer, il suffit de tourner un peu le potentiomètre dans un sens ou dans l'autre (au moins 5% de variation).

Fonctionnement aléatoire (cavalier JP1 côté antenne ANT1)

Dans ce mode, le potentiomètre ne sert plus à rien, son curseur étant purement déconnecté. L'entrée analogique du CAN intégré au PIC est alors reliée à une petite antenne (simple fil électrique rigide) de longueur comprise entre 10 cm et 20 cm, et les mesures (acquisitions) régulièrement cadencées permettent d'obtenir des valeurs aléatoires qui dépendent de l'environnement. C'est une méthode que j'ai déjà adoptée pour une guirlande de Noël et qui chez moi donne des résultats intéressants. Les diodes D1 et D2 protègent l'entrée RA4 du PIC contre toute surtension éventuelle. Si aucune variation de couleur n'est observée chez vous quelque soit la position de l'antenne, cela signifie probablement que vous vivez dans un environnement trop sain et qu'il est temps de déménager dans une grande ville.


Choix de la LED RGB (RVB)

Il faut impérativement une LED tricolore (ou trois LED séparées) dont le courant nominal n'excède pas 20 mA par couleur. Bien que le schéma fasse mention d'une LED à cathode commune (CC = Common Cathode), vous pouvez également utiliser une LED RGB à anode commune (CA = Common Anode). Dans ce cas, le "plan d'évolution des couleurs" est inversé, et il faut câbler la LED autrement :

Ce n'est pas plus compliqué ;)

En ce qui concerne les différences de luminosité entre puces rouge, verte et bleue que vous pourriez constater en fonction du modèle de LED retenu, vous pourrez toujours effectuer quelques ajustements de valeurs sur R1, R2 et R3, sans jamais descendre sous 150 ohms pour chacune d'elle. Pour info, j'ai mis des 150 ohms avec ma LED RVB standard et suis ébloui sans regarder dans l'axe.


Prototypes

-

Prototype 001

Premier prototype réalisé sur une plaque sans soudure, en attente de réception des PCB commandés.


lampadaire_multicolore_008_proto_rm_001a lampadaire_multicolore_008_proto_rm_001b lampadaire_multicolore_008_proto_rm_001c  

Prototype 002

Puis second prototype réalisé avec un splendide PCB... sur lequel j'avais oublié de placer une piste d'alimentation.


lampadaire_multicolore_008_proto_rm_002b lampadaire_multicolore_008_proto_rm_002a   

Un petit strap bien caché "côté cuivre" a été nécessaire pour réparer mon erreur, le PCB mis à disposition est corrigé. 

Sur ce second prototype, le condensateur C2 vaut 47 uF (au lieu de 1 uF) et le potentiomètre RV1 fait 470 kO (au lieu de 10 kO). Le mode de fonctionnement obtenu avec ces nouvelles valeurs permet un changement de couleurs qui persiste pendant quelques secondes, avec un ralentissement progressif quand on arrête de manoeuvrer le potentiomètre. Cet effet sympathique est lié à la plus grande constante de temps pour la charge ou décharge du condensateur C2 vers la nouvelle valeur de tension imposée par le curseur du potentiomètre RV1. Sympathique certes, mais inutile dans ce cas d'essayer de choisir une couleur particulière...


Habillage de la LED RVB

Une LED multicolore laissée à l'air libre n'offre pas un rendu extraordinaire, et celle que j'ai utilisée m'éblouit, ce qui n'est pas très agréable. Une telle LED mérite un habit qui la met en valeur, par exemple une fleur synthétique ou un oeuf d'alien. Pour ma part, j'ai utilisé le crâne d'une souris ayant grandi à Tchernobyl.


lampadaire_multicolore_008_proto_rm_001d

Manque de chance, pas de signaux parasites majeurs dans mon environnement, les variations aléatoires étaient très limitées lors des tests. Faudra-t-il attendre le 25 décembre pour les reprendre ?


PCB (circuit imprimé)

Réalisé sur une surface fort modeste de 33 x 31 mm. Pas de piste oubliée sur cette version du 23/04/2021...  Le choix du mode de variation des couleurs se fait avec le cavalier (jumper) JP1 : position [P-C] pour Potentiomètre ou position [C-A] pour Antenne (C = Commun).


lampadaire_multicolore_008_pcb_top_components    lampadaire_multicolore_008_pcb_jumper-pca

Typon au format PDF


Logiciel du PIC

Programme compilé (*.hex) disponible dans l'archive suivante. 

Lampadaire multicolore 008 - 12F1572.zip (11/04/2021)

Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.


Historique

25/04/2021
- Assemblage des composants sur un PCB tout neuf, tout propre... mais incomplet ;)
- Correction erreur PCB oubli alimentation VDD du PIC. C'est bête, hein ?
- Ajout de trous au pas de 2,54 mm à l'emplacement du potentiomètre pour pouvoir utiliser un modèle de tableau ou un multitours.

11/04/2021
- Première mise à disposition.