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.
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é.
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.
Résultat
des courses, on dispose maintenant d'une courbe d'évolution
assez sympathique, qui ressemble à ce qui suit.
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 ?