LOCODUINO

Parlons Arduino => Vos projets => Discussion démarrée par: Guillaume le janvier 25, 2015, 09:29:14 am

Titre: Animations lumineuses
Posté par: Guillaume le janvier 25, 2015, 09:29:14 am
Bonjour,
un petit avis à la population ici :
je suis en train de recoder des programmes d'animations lumineuses qui emploient la fonction delay() afin de passer à la fonction millis(). En effet, la fonction delay() est bloquante et ne permet pas d'ajouter d'autres choses à coté puisque le programme patiente tranquillement pendant le delay(), d'où ce changement de code.
Pour le moment, des animations que vous voyez sur le site, feu tricolore, chenillard et enseigne ont été transcrits. D'autres viendront à savoir soudure à l'arc et phare.

D'où cette demande, avez-vous des idées d'animations lumineuses que l'on peut trouver sur un réseau ?

ps : le cycle jour/nuit est dans mes tuyaux mais est un peu plus spécial
Titre: Re : Animations lumineuses
Posté par: Hubert le janvier 26, 2015, 07:17:56 pm
Bonjour Guillaume,

il y a le feu de cheminée dans une maison campagnarde mais aussi l'incendie d'un immeuble.
une télévision dans un salon
Des néons avec un problème de starter dans une usine.
Des manèges d'un parc.

Ps: Pour le jour et nuit, j'ai déjà fait un programme avec le détecteur de luminosité LTD si tu veux.
en reprenant par exemple le code du feu et du chenillard pour un fonctionnement différent la nuit.
Titre: Re : Animations lumineuses
Posté par: Guillaume le janvier 26, 2015, 07:29:38 pm
Je retiens toutes tes propositions et les mets dans ma to do list.
Je suis preneur de tes exemples, et même mieux on a tjs besoin d'aide.

Edit : même en ville maintenant c'est bon le feu ;)
Titre: Re : Animations lumineuses
Posté par: francis8 le janvier 26, 2015, 10:19:43 pm
Il y a aussi :
Bref, il y a de quoi faire pas mal de choses.
Titre: Re : Animations lumineuses
Posté par: Hubert le janvier 26, 2015, 11:38:17 pm
Bonsoir Francis8,

Merci t'apporter tes lumières  ;D
Titre: Re : Animations lumineuses
Posté par: plf56 le janvier 26, 2015, 11:44:10 pm
Il y a aussi les chenillards des lampes de travaux, les girophares, les lanternes de phares et les communications code morse lumineux pour les marins...
Sans oublier les signalisations clignotantes des PN,...
Titre: Re : Animations lumineuses
Posté par: Guillaume le janvier 29, 2015, 01:04:52 pm
Quelques animations sont rapport avec un système de détection :
flash de radar avec voiture, feux de PN avec le train, flash photographe avec un truc qui arrive vers lui. Ca peut faire l'objet de module indépendants.

Faire un girophare ou phare dans le vrai est difficile, une application approchante a été réalisée.
Réverbère et lumières dans les maisons/appartements sont dans la todo list.

Merci
 
Réponse de Hubert

Pour le phare de type marin, j'ai fais un projet en ho mais pour un gyrophare, vu la petitesse du système, j'ai pas encore trouvé une solution performante sauf masqué l'arrière de la lanterne, celà reviens à un chenillard bleu (rampe véhicule de gendarmerie).
Pour type unique il faut trouver une astuce qui permet de faire tourner la DEL dans un espace très restreint.
Sinon il existe en HO le type de gyrophare bleu ou orange tournant sur certains véhicule, pas besoin d'un Arduino.
http://youtu.be/VbrunyxboB8 (http://youtu.be/VbrunyxboB8)
ou
http://youtu.be/5WlfLPvy5SA (http://youtu.be/5WlfLPvy5SA)
 
Titre: Re : Animations lumineuses
Posté par: petitrain le février 01, 2015, 05:13:55 pm
Ne peut on pas tout simplement refaire la fonction delay() mais qui ne soit pas bloquante ...
Titre: Re : Animations lumineuses
Posté par: Guillaume le février 01, 2015, 06:34:27 pm
Réécrire la fonction delay(). Cela veut dire qu'il faut toucher à la syntaxe Arduino et cela est bien au dessus de mes maigres compétences.
Coder avec des millis() est vraiment différent de delay mais pas bien plus difficile. Il est sûr que coder avec delay est plus proche de notre facon de voir mais millis() s'en approche tout autant, l'histoire de l'oeuf et du postier est marquante. Après cela développe aussi beaucoup la panoplie des différentes fonctions que l'on utilise avec millis() : des if switch for etc ainsi que la manipulation des variables.
Titre: Re : Animations lumineuses
Posté par: Jean-Luc le février 01, 2015, 07:24:55 pm
Réécrire delay n'est pas si simple. D'accord au lieu d'attendre que le temps passe, on bloque l'appelant de delay. Ensuite que fait-on ? Il faudrait pouvoir donner la main à un autre programme. Puis quand le temps serait écoulé, préempter cet autre programme et redonner la main à celui qui était bloqué. Évidemment cet autre programme peut lui même appeler delay.

Réécrire delay c'est en fait ecrire un système d'exploitation multitâche préemptif. Pas aussi compliqué qu'un système d'exploitation pour machine de bureau mais quand même assez compliqué à ecrire.
Titre: Re : Animations lumineuses
Posté par: Guillaume le février 01, 2015, 07:31:53 pm
Si je ne m'abuse, on peut jouer au trampoline donc
private joke.
Titre: Re : Animations lumineuses
Posté par: petitrain le février 01, 2015, 08:12:07 pm
Les idées basiques ne sont pas toujours les meilleures, mes connaissances en programmation sont assez limitées.
Titre: Re : Animations lumineuses
Posté par: Guillaume le février 01, 2015, 08:16:24 pm
Pas de souci, c'est une question comme il en existe d'autres. (J'en ai posé des questions comme cela ne t'inquiète pas et j'avais même la réponse sous les yeux...)
Titre: Re : Animations lumineuses
Posté par: Jean-Luc le février 01, 2015, 09:52:05 pm
L'idée est très bonne. Mais c'est diablement coton a mettre en oeuvre  :)
Titre: Re : Re : Animations lumineuses
Posté par: Hubert le février 02, 2015, 10:45:06 am
Ne peut on pas tout simplement refaire la fonction delay() mais qui ne soit pas bloquante ...
Bonjour,
Pour cela la fonction millis() existe en remplacement de delay().
le delay() bloque l'execution sur le processeur pendant le temps donné en variable qui s'exprime en milliseconde.
Pour éviter que le registre d'éxecution soit bloqué, on utilise la fonction millis() qui permet aux instructions de continuer en séquence.
Il est plus difficile de gerer cette fonction mais quand on comprend le fonctionnement, c'est facile.