Go Down

Topic: Une bougie électronique à base d'ATTiny pour illuminer une sculpture métallique (Read 2 times) previous topic - next topic

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.

J'ai profité d'une contribution de Skywodd qui a fait un programme qui donne un résultat vraiment sympathique ( http://skyduino.wordpress.com/2011/11/10/arduino-bougie-virtuelle-a-led/ )

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:
http://www.youtube.com/watch?feature=player_embedded&v=H4HumDdL-UA

Sympa, non?
Mes Arduineries: http://breizhmakers.over-blog.com/

Jean-François

Belle réalisation.... ça me fait penser que je devrais commencer à préparer mes citrouilles  XD
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Artouste


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  :smiley-mr-green:
http://forum.arduino.cc/index.php?topic=158784.msg1189000#msg1189000

MP si tu veux un capteur d'extinction  8)


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  :smiley-mr-green:

icare

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. (http://forum.arduino.cc/index.php?topic=111109.0)
Les meilleurs effets visuels je les ai obtenu avec du papier calque.
Bravo
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

patg_

En effet j'avais vu ta réalisation à l'époque.
Je trouve que le papier sulfurisé est souvent un meilleur diffuseur que le calque.
Mes Arduineries: http://breizhmakers.over-blog.com/

Artouste

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

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)

icare

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

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 :)
@+
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

patg_


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 :)
@+


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  :smiley-mr-green:
Mes Arduineries: http://breizhmakers.over-blog.com/

icare

Bonsoir,
Qui a raison qui a tord ?
Pour ATtiny85 je trouve 6 PWM channels : http://www.atmel.com/devices/ATTINY85.aspx?tab=parameters
@+
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

fdufnews

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.

icare

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

icare

Bonsoir,
Pour l'ATtiny85, analogWrite fonctionne sur PB0, PB1 et PB4 ce qui permet d'avoir 3 sortie PWM
@+
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

zoroastre

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.
Gné! ;)

Super_Cinci

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é.

Go Up