Electronique > Réalisations > Bougie 002 (simulation flamme)

Dernière mise à jour : 13/06/2010

Présentation

Cette bougie électronique, composée de bien peu de composants, est censée simuler la lueur d'une flamme vacillante. Le circuit met en oeuvre un PIC 12F675 dont 5 de ses broches pilotent des leds de façon "pseudo-aléatoire". L'idée n'est pas de moi. On m'a demandé de l'aide pour un circuit équivalent mais je n'avais pas d'autres solution que de "refaire" le code. Hors de question en effet de recopier bêtement un code existant, puisque ce genre de pratique nuit gravement au cerveau. Même si j'avais voulu, je n'aurais pas su (le langage C et moi ça fait au moins deux). Le rendu visuel de cette bougie 002 me semble moins bon que celui obtenu avec la bougie 001 basé sur un générateur de bruit analogique, mais le circuit est tellement simple à faire et tellement simple à modifier d'un point de vue logiciel, que l'expérimentation vaut sans doute le coup.

Schéma

Voici le schéma. S'il vous fait peur, peut-être faut-il songer dès maintenant à changer de métier.

Bougie 002

Principe de fonctionnement
Oh, ça va être vite vu. On se contente d'allumer les leds dans un ordre plus ou moins aléatoire, avec des vitesses de variation elles aussi plus ou moins aléatoire. Pour plus de détails, merci de vous reporter au code source. Ca va, je n'ai pas été trop dûr avec vous ?

Prototype

Réalisé "en l'air", sans circuit imprimé.

bougie_002_proto_001a bougie_002_proto_001b bougie_002_proto_001cbougie_002_proto_001d bougie_002_proto_001e bougie_002_proto_001f

J'avoue que le rendu n'est pas aussi extraordinaire que je l'avais espéré, sans doute parce que les délais entre changements d'états sont parfois un peu trop long (je voulais imaginer qu'il n'y avait pas toujours de courant d'air dans la pièce). Sans doute est-ce améliorable simplement en changeant (diminuant) un peu les valeurs de retard dans le code logiciel, je n'ai pas pris le temps de le faire. Ce petit proto permet toutefois de se rendre compte qu'on peut faire assez petit et que le tout peut tenir sans soucis dans une grosse bougie de cire ou en plastique.

Usage détourné

Hum... Et si on supprimait les leds pour disposer d'un point de sommation délivrant une tension continue aléatoire ? Ah, ça ne fonctionne pas car toutes les résistances se retrouvent alors à la masse et la tension de sortie est toujours de 0 V. Bon dans ce cas il suffit d'ajouter une résistance entre le point de sommation et la masse. Ca va mieux mais les variations sont "bizarres" et pas très variées. Normal car toutes les résistances ont la même valeur. Bien, alors donnons à chaque résistance une valeur différente, de façon à lui donner un "poids" différent. De la sorte nous obtenons 32 niveaux de tension différents au lieu de seulement 5. Mais maintenant les variations sont trop brutales, trop "numérisées". Qu'à cela ne tienne, il suffit d'ajouter une résistance et un condensateur pour arrondir les angles. Et on obtient le schéma suivant.

bougie_002b

Résultat des courses, on dispose maintenant d'une courbe d'évolution assez sympathique, qui ressemble à ce qui suit.

bougie_002b_graphe_001a

A vous d'en faire ce que vous voulez !

Code source et fichier compilé

Pour vous être agréable, je mets à disposition deux liens pour récupérer le code logiciel (format MikroPascal V3.8) et le fichier hexa compilé (*.hex) prêt à flasher dans le PIC. Les deux liens sont certes identiques mais je suis sûr que vous ne pouvez pas rester indifférent à pareille attention.
Bougie 002 - 12F675 (13/06/2010) - Lien original
Bougie 002 - 12F675 (13/06/2010) - Lien bonus
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Circuit imprimé

Non réalisé. Mais entre nous, y en a-t-il vraiment besoin ?