Une bougie électronique à base d'ATTiny pour illuminer une sculpture métallique

On m'a offert une sculpture métallique en forme de coq dans laquelle on peut placer un photophore pour obtenir un bel effet lumineux.
C'est sympa mais j'avais envie de pouvoir profiter de cet effet à la demande, et de jouer un peu avec un ATTiny.

J'ai profité d'une contribution de Skywodd qui a fait un programme qui donne un résultat vraiment sympathique ( [Arduino] Bougie « virtuelle  à led | «Skyduino - Le DIY à la française )

Je l'ai simplement modifié pour n'utiliser que deux sorties PWM (le maximum disponible sur un ATTiny 85). J'ai aussi changé le mécanisme d'initialisation du générateur aléatoire.

Il y a 4 LED rouges et 4 LED jaunes, pilotées par deux transistors.

Le schéma est le suivant:

Le circuit est assez simple pour tenir sur une plaque pré-percée:

Le tout est placé dans un diffuseur fait d'un tube en carton de papier toilette évidé sur lequel j'ai collé deux épaisseurs de papier sulfurisé.

Voici ce que ça donne une fois installé dans le coq métallique:

Sympa, non?

Belle réalisation.... ça me fait penser que je devrais commencer à préparer mes citrouilles XD

patg_:
On m'a offert une sculpture métallique en forme de coq dans laquelle on peut placer un photophore pour obtenir un bel effet lumineux.
C'est sympa mais j'avais envie de pouvoir profiter de cet effet à la demande, et de jouer un peu avec un ATTiny.
...
Sympa, non?

Bonsoir Patg

une bonne bougie, ça doit toujours pouvoir être soufflée :grin:
http://forum.arduino.cc/index.php?topic=158784.msg1189000#msg1189000

MP si tu veux un capteur d'extinction 8)

Jean-François:
Belle réalisation.... ça me fait penser que je devrais commencer à préparer mes citrouilles XD

evidemment JF , ça vaut pour toi , si tu veux un capteur d'allumage extinction de citrouilles :grin:

Bonjour,
Très jolie réalisation.
J'ai fait un simulateur de feu pour un vieux fourneau sur la base de la publication de Skywodd. ([résolu] Effet feu - Français - Arduino Forum)
Les meilleurs effets visuels je les ai obtenu avec du papier calque.
Bravo

En effet j'avais vu ta réalisation à l'époque.
Je trouve que le papier sulfurisé est souvent un meilleur diffuseur que le calque.

et avant l'arduino et les leds
il y avait eu les buches factices electro-mecaniques dans les années 70/80 :grin:

1 linolite pour la source lumineuse et
2 rouleaux contro-rotatifs entrainé par 2 moteurs type "programmateurs de MAL" (Crouzet)

un rouleau comportait des motifs de blanc à rouge sombre
l'autre rouleau des effets d'occultation.

la desynchro entre les moteurs et diam rouleaux étant supposée rendre un effet suffisamment aléatoire et réaliste 8)

Bonjour,
Rien de plus inventif qu'un être humain dans le besoin. :slight_smile:

Bonsoir,
Je viens de parcourir la doc du ATtiny85 et dans un tableau de comparaison, j'ai vu qu'il avait 4 canaux PWM.
Finalement le 85 a :

  • 2 canaux PWM,
  • 4 canaux PWM,
  • 2 canaux PWM + 2 canaux complémentaires ?
    J'avoue que j'y perd un peu mes électrons :slight_smile:
    @+

icare:
Bonsoir,
Je viens de parcourir la doc du ATtiny85 et dans un tableau de comparaison, j'ai vu qu'il avait 4 canaux PWM.
Finalement le 85 a :

  • 2 canaux PWM,
  • 4 canaux PWM,
  • 2 canaux PWM + 2 canaux complémentaires ?
    J'avoue que j'y perd un peu mes électrons :slight_smile:
    @+

Moi aussi j'ai cru qu'il avait 4 canaux PWM mais je me suis vite rendu compte que ça ne fonctionnait pas (les LEDs s'éclairaient brutalement à partir d'une certaine valeur de PWM).
J'ai pas non plus trop compris cette notion de "canaux PWM complémentaires".
Mais le fait est que ça ne fonctionne que sur les pins 0 et 1 (broches 4 et 5 de l'ATTiny).
Faudrait que je relise une nouvelle fois la datasheet. Il me reste un ATTiny85 que je trouverai bien à utiliser un de ces jours :grin:

Bonsoir,
Qui a raison qui a tord ?
Pour ATtiny85 je trouve 6 PWM channels : http://www.atmel.com/devices/ATTINY85.aspx?tab=parameters
@+

Il y a une paire de PWM ayant des sorties complémentaires (liés au timer 1 si mes souvenirs sont bons). Du coup les 4 sorties sont comptés comme 4 PWM alors qu'en fait cela n'en fait que 2. Par contre ce qui est bien c'est qu'on peut les utiliser directement pour attaquer un push-pull de puissance car il y a gestion du temps mort entre les sorties complémentaires pour éviter la cross conduction.

Bonjour fdufnews,
Merci pour la précision

Bonsoir,
Pour l'ATtiny85, analogWrite fonctionne sur PB0, PB1 et PB4 ce qui permet d'avoir 3 sortie PWM
@+

Yep !

De mémoire, on peut utiliser les fonctionnalités d'un TIMER dans ses différents modes (CTC, PWM, FastPWM) pour piloter autant de sortie par port que l'on veut. Ainsi, on peut parfaitement piloter 8 servos sur un Attiny2313 par exemple.
Naturellement, il faut utiliser les REGISTRES et autres joyeusetés

@+

Zoroastre.

il y a deux sorties PWM par timer. maintenant, si on calcule bien son coup, on peut utiliser un timer qui appelle une ISR régulièrement, et dans cette ISR, on incrémente une variable et on compare avec une table de valeurs pour savoir si on doit allumer ou éteindre une sortie.

Bien-sûr, dans ce cas, il faut optimiser à fond le code, donc exit les digitalWrite etc etc... Si le timer déclenche toutes les 78µs (pour une PWM 8bits à 50Hz, minimum syndical), alors il faut que l'ISR puisse être traitée en moins de temps, sinon, plantage assuré.