Auteur Sujet: simuler l'éclairage d un tube néon et de rampes de tubes néons  (Lu 12243 fois)

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Bonjour

Je cherche à mettre au point une "micro animation" consistant à simuler la phase d allumage d'un tube néon ( et donc par la suite de rampes de néons).

Une première idée peut être de mettre en œuvre une animation "blink" avec quelques paramètres (canal (0 à N), état (0 ou 1), nombre cycle (0 à N), durée on (0 à N), durée off (0 à N),... ) pour le nombre d éclats avant de passer en mode continue

On a ainsi une base pour générer cette effet.

Par ailleurs et pour optimiser des câblages, je souhaiterais pouvoir utiliser le bus I2C pour transmettre ce type d information. (vers un PCA9685 par exemple à 16 canaux et qui est bien connu)

Est ce que cela vous emble une approche valable? Auriez vous quelques suggestions à me donner pour y parvenir?


Laurent



Remi

  • Newbie
  • *
  • Messages: 36
  • HO en 3 rails (Marklin)
    • Voir le profil
Re : simuler l'éclairage d un tube néon et de rampes de tubes néons
« Réponse #1 le: mars 13, 2022, 07:13:20 pm »
Bonjour,

Peut être un exemple de commande de néon dans cette vidéo de "Julaye".!
https://forum.locoduino.org/index.php?topic=1293.msg14032#msg14032

A+  Rémi

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : simuler l'éclairage d un tube néon et de rampes de tubes néons
« Réponse #2 le: mars 13, 2022, 09:10:55 pm »
Bonsoir

Oui ca ressemble bien à l effet à atteindre en cible mais ce n est pas si "évident" de prime abord..

A creuser donc :)

Laurent

CATPLUS

  • Sr. Member
  • ****
  • Messages: 435
    • Voir le profil
Re : simuler l'éclairage d un tube néon et de rampes de tubes néons
« Réponse #3 le: mars 14, 2022, 12:37:09 pm »
Bonjour

A utiliser avec un DigisParck
Pour utilisation avec un tube à Néon (12 volts) donc pour plus de puissance  insérer un transistor
 
« Modifié: mars 14, 2022, 12:45:05 pm par CATPLUS »
Best Regards

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 810
    • Voir le profil
Re : simuler l'éclairage d un tube néon et de rampes de tubes néons
« Réponse #4 le: mars 14, 2022, 03:25:52 pm »
Bonjour

Appeler le setup() à partir du loop() est vraiment une très mauvaise idée. Déjà pour l'appel à pinMode qui va être fait à chaque fois, et pour le principe du développement Arduino en général. Mieux vaut créer une autre fonction neon() par exemple qui fait juste le travail de lumière et qui ne sera appelée que dans loop(). setup doit rester un appel unique !

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : simuler l'éclairage d un tube néon et de rampes de tubes néons
« Réponse #5 le: mars 14, 2022, 08:00:24 pm »
Bonsoir

Je me suis pose la question de combiner les fonctions de la lib lightdimmer (blink, tempo, blink, tempo.... et  on() dans une fonction globale neon()

Cette approche parait elle préférable?

Laurent.

CATPLUS

  • Sr. Member
  • ****
  • Messages: 435
    • Voir le profil
Re : simuler l'éclairage d un tube néon et de rampes de tubes néons
« Réponse #6 le: mars 15, 2022, 06:58:52 am »
Bonjour

Désolé, je n'ai rien inventé, j'utilise ce programme & il fonctionne.

Qu'il y est des lignes de codes pas conforment, je n'en sais rien, le principe c'est le résultat.

Cordialement
« Modifié: mars 15, 2022, 07:00:50 am par CATPLUS »
Best Regards

chris_bzg

  • Sr. Member
  • ****
  • Messages: 319
    • Voir le profil
Re : simuler l'éclairage d un tube néon et de rampes de tubes néons
« Réponse #7 le: mars 15, 2022, 09:21:28 am »
Bonjour

Je cherche à mettre au point une "micro animation" consistant à simuler la phase d allumage d'un tube néon ( et donc par la suite de rampes de néons).

Une première idée peut être de mettre en œuvre une animation "blink" avec quelques paramètres (canal (0 à N), état (0 ou 1), nombre cycle (0 à N), durée on (0 à N), durée off (0 à N),... ) pour le nombre d éclats avant de passer en mode continue

Laurent

Bonjour Laurent,

Tu peux peut-être partir de ce que j'avais fait pour le simulateur de soudure à arc en adaptant le tempo (plus lent) et en remplaçant les digitalWrite par des analogWrite (pour Duree_flash) afin de reproduire un néon qui ne s'allume pas à son maximum dans sa phase de démarrage.

Lien vers l'article : https://www.locoduino.org/spip.php?article90

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : simuler l'éclairage d un tube néon et de rampes de tubes néons
« Réponse #8 le: avril 02, 2022, 07:47:38 pm »
Bonjour Christian, bonjour à tous

Merci pour le tuyau! J ai pu reprendre la trame principale en m'en inspirant fortement.
la modification des timing permet en effet d émuler le mode d allumage néon.

Quelques optimisations que j ai cherche à mettre en œuvre, l'air de rien ce n est pas si évident!
plages de temps aléatoires différents entre allumage et extinction, offset, ...

Mon "cahier des charges"  me dit de remplacer DELAY par MILLIS afin d être non bloquant dans l exécution.

La définition d une fonction "tube" avec des paramètres ( durée min max, etc.) puis l appel de cette fonction dans la LOOP.

Globalement j arrive à simuler un effet  visuel satisfaisant MAIS ( bah oui y  a forcement un MAIS !)

Si j essaye de paralléliser l utilisation de cette fonction bah c est la cata! enfin plutôt ca ne produit pas l effet attendu. Des séquences semblent  s'arrêter ou ne pas aller au bout.

Pour un seul néon pas de soucis à priori mais si on en met par exemple 3  bah boom c est pas ca!

J explique
On démarre l allumage de 3 néons ( 1 ON et 2 OFF) puis on permute)

Chacun peut s allumer et s éteindre et clignoter selon les paramètres qu' il reçoit.
Jusque la ca va

Mais visuellement il n y  pas d alignement ( logique les durée globales sont toutes différentes..)

J ai triché en nommant 3 fonctions " de forme identique" mais idem ca ne passe pas de jeton pour synchro TOP départ ou TOP FIN.

Donc réflexions sur le sujet…

  • A jouter un token type bool ci ou la . pour lancer ou pas une séquence et attendre que le GO soit obtenu?
  • Ajouter une notion d interupt la aussi qq part!... Mais si on fait une interruption ne vas ton pas "couper une séquence en cours"?...
  • une autre piste qui m'échappe encore ...?
  • découpage en sous fonctions?




La je sèche encore un peu…

Voila le code en l état ( non encore nettoyé mais qui permet de comprendre le cheminement des étapes passées, et il y en a eu!!)

Des idées? Ce ne sont pas les optimisation qui doivent manquer!

Au final l idée sera de mettre à dispo une petite biblio capable de faire l'effet néon et transposable ( ATTINY, ATMEGA, AVR…)

D'avance merci! pour votre aide à tous.

Laurent

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : simuler l'éclairage d un tube néon et de rampes de tubes néons
« Réponse #9 le: avril 02, 2022, 07:57:22 pm »
idée ... un fork de lightdimmer pour un effet neon ( et d autre comme gyrophare??)

Ltr

chris_bzg

  • Sr. Member
  • ****
  • Messages: 319
    • Voir le profil
Re : simuler l'éclairage d un tube néon et de rampes de tubes néons
« Réponse #10 le: avril 03, 2022, 10:04:37 am »
Bonjour Laurent,
Tu devrais contacter Julaye car il me semble qu'elle a réalisé un petit programme qui simule l'éclairage au néon : https://forum.locoduino.org/index.php?topic=1293.msg14032#msg14032
Peut-être qu'elle pourra t'apporter des idées.
Remplacer les delay() par des millis() est une bonne idée. A l'époque, je publiais un montage pour débutant qui n'était supposé faire que la soudure à l'arc.
Pour paralléliser tes tubes, tu peux peut-être leur appliquer les mêmes paramètres aléatoires, mais avec un temps de retard (lui-même aléatoire) de l'un à l'autre.
Enfin, c'est une idée, mais je n'ai pas vraiment creusé la question et peut-être que ce n'est pas la solution non plus.
Une interruption coupera la séquence en cours qui sera reprise ensuite, là où elle a été arrêtée.
As-tu cherché si une bibliothèque n'existe pas déjà ? C'est incroyable tout ce qui a été développé pour Arduino. A voir...

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : simuler l'éclairage d un tube néon et de rampes de tubes néons
« Réponse #11 le: avril 04, 2022, 03:43:34 pm »
Bonjour

J ai pris le temps de chercher mais je n ai rien trouvé de clé en main.
Ce qui s en rapproche le plus est ce que tu as proposé avec des ajustements. ( millis, ransoms,…)

Simuler l effet néon/tube n est pas si évident qu il y parait
Basiquement un blink rapide puis une bascule sur un état On fait illusion grossièrement.
Si on veut aller un peu plus loin on doit pouvoir  gerer les temps et les rendre aléatoires pour éviter une symétrie qui n existe pas en réalité

D un tube à l autre il y a qq écarts donc on doit pouvoir s approcher de cela avec des offset sur une base commune.

Ce que je remarque le plus souvent en allumage de tube on a une série d éclairs qui sont les uns à la suite souvent plus long du début à la fin et avec des temps entre chaque flash qui sont aussi plus long

C est donc ce qui va être recherché comme mise en œuvre
Et avec une portabilite et idéalement sans delay.

J ai regardé les structures des lignes de lightdimmer. Pour moi il y mànque un timeoff ou timewait avec un compteur qui permettrait d avoir un tout en un…

D un autre côté j ai dans mes  recherches trouvé une biblio nommée millistimer qui a aussi qq fonctions interessantes.
C est a priori cross plateforme ce qui est aussi au cahier des charges pour tourner sur arduino mais aussi d autre avr type tiny ou mega.

En les combinant on doit pouvoir générer
Des temps de flash aléatoire (led on)
Des temps de off aléatoire (led off)
Des temps on et off croissant ( avec l
Offset )
Un nombre de cycles aléatoires avec décompte jusqu a maintien en état continue ( led on après séquence d allumage )
Des gestions d intervals… si par exemple on veut une synchro multi sorties ( tous demare leur séquence en même temps …)


Sûrement qu’on codeur doue peut se passer de cette tambouille mais en l état je vais voir comment combiner ces différents éléments pour produire cette effet allumage de tube de manière complète et esthétique !

Y a plus Qu a!

Bon si Jean Luc passe par la et qu il update lighdimmer dans une direction analogue ca nous conviendra bien aussi! :)

Laurent

Julaye

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : simuler l'éclairage d un tube néon et de rampes de tubes néons
« Réponse #12 le: avril 04, 2022, 06:36:46 pm »
Bonjour

Pas besoin de tambouille :). Le petit automate que je propose peut gérer 10 sorties indépendantes, chacune d'entre elle peut etre configurée pour gérer un néon neuf ou ancien (la différence étant le glitch aléatoire quand il est fatigué) et gérer aussi un aléa pour décaler la séquence d'allumage. Il est possible aussi d'ajouter de la conditionnalité sur l'allumage/extinction avec l'une des quatre entrées.

La documentation est ici : https://docs.google.com/document/d/1chZwYiFPMKlHFLLsJ7WHy0EHtaLVpebEK52L9wi9J30/

A moins de n'avoir pas compris votre besoin, je pense que ce petit automate bien configuré fait l'affaire car il est basé sur une FSM et gère "simultanément" les 10 sorties (à quelques dizaines de micro secondes près). Il faudra bien évidemment relayer ces sorties avec un transistor.
« Modifié: avril 04, 2022, 06:42:16 pm par Julaye »

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : simuler l'éclairage d un tube néon et de rampes de tubes néons
« Réponse #13 le: avril 05, 2022, 11:11:56 pm »
Bonjour Julie

Merci pour les info que tu donnes et il me faut analyser ton code ( et sa syntaxe) pour bien comprendre ce qui est réalisé et m approprier le phénomène de reproduction.( pas trop mon domaine le codage mais je dois m y plonger!)

Toutefois mon ambition de portabilité n'est pas "neutre".
J ai en effet l ambition de porter ce bout de code de simu néon/tube sur différents CPU dont l'ATTINY85 qui est déjà occupe au niveau ressource de la partie décodage et traitement du signal DCC.

J ai donc "besoin" d une solution légère et portable". Je n ai pas encore assez regarder comment le faire avec tes éléments mais je pense que cela ne sera pas simple du tout, raison pour laquelle je souhaite trouver une solution qui réponde à ce "cahier des charges ambitieux!) ( ta solution en revanche est bien adaptée à une installation fixe type bâtiment, donc le challenge c est de passer "en mobilité"...

J explore plusieurs pistes... loin d être aussi évident qu'il n y parait à première vue!

Laurent