Auteur Sujet: Bibliothèque animations lumineuses  (Lu 43094 fois)

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Bibliothèque animations lumineuses
« le: avril 17, 2015, 03:59:58 pm »
Bonjour,
quelques animations ont fait l'objet d'articles sur le site, d'autres ont été créées. Bref, celles-ci ont été compilées dans une bibliothèque très simple.
https://git.framasoft.org/g.macfly/AnimLum/tree/master

Vous trouverez sur cette page les explications. Je la mets dans un premier temps ici avant de faire un article. Elle a besoin de tests supplémentaires pour parfaire certaines animations comme la cheminée avec une DEL rgb que je n'ai pas encore ;).
Rien de difficile, il suffit de créer l'objet que l'on veut avec les numéros de broches. Dans le setup la méthode setup avec le sens du courant ;) et après dans le loop la méthode update. Et la méthode off pour arrêter.
Voilà, amusez-vous bien.
G.

DDEFF

  • Hero Member
  • *****
  • Messages: 760
    • Voir le profil
Re : Bibliothèque animations lumineuses
« Réponse #1 le: avril 17, 2015, 05:38:25 pm »
Sympa, comme bibliothèque.

J'ai eu la curiosité d'acheter 100 LED pour 1,78 €, port compris !!!
Elles sont arrivées, mais, bien qu'éclairant de 3 couleurs (environ 30 vertes, 30 jaunes et 30 rouges), elles sont transparentes quand elles sont éteintes.
Comme il va falloir que je les teste une par une pour les trier (quel piège !), autant m'amuser un peu.
Merci Guillaume
J'ai bien aimé aussi le nom du site à la "Retour vers le futur"  ;D
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

petitrain

  • Jr. Member
  • **
  • Messages: 86
    • Voir le profil
Re : Bibliothèque animations lumineuses
« Réponse #2 le: avril 23, 2015, 03:06:53 pm »
Salut Guillaume,
Bravo pour l'idée de la bibliothèque, facile à inclure dans des animations de décor plus complexes; mais ça serait bien de mettre un exemple ou deux dans ton dossier de téléchargement.

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Re : Bibliothèque animations lumineuses
« Réponse #3 le: avril 23, 2015, 03:28:28 pm »
C'est prévu le dossier est déjà créé plus qu'à écrire et pousser sur le dépôt.
Je ne les ai pas fait car des améliorations sont à faire et les exemples changeront.
C'est encore en travaux, bcp de choses sont encore à faire pour parfaire la biblio, le readme manque de saut de lignes d'ailleurs.

Voici l'exemple général :
#include <animlum.h>
//entre parenthèses après le nom de l'objet ici animation, les broches utilisées pour les DEL

Chenillard animation(2,3,4,5,6,7); //broches non PWM
//Enseigne animation(2,3,4,5,6,7); //broches non PWM
//Phare animation(3); //broche PWM
//Feu animation(2,3,4,5,6,7); //broches non PWM RVO (feu 1) RVO (feu 2) pour l'ordre des broches
//SoudureArc animation(2);//broche non PWM
//Cheminee animation(9,10,11);//DEL RGB ordre : VRB, PWM au minimum sur le rouge.
//Lampadaire animation(3); //broche PWM

void setup() {
  animation.setup();
}

void loop() {
  animation.update();
}

Après il  faut jouer avec le commentage/décommentage et revoir les numéros de broches si nécessaire.
Le plus après est de combiner les animations ce qui sera facile. Si questions, j'essayerai d'y répondre.
« Modifié: avril 23, 2015, 03:43:20 pm par Guillaume »
G.

petitrain

  • Jr. Member
  • **
  • Messages: 86
    • Voir le profil
Re : Bibliothèque animations lumineuses
« Réponse #4 le: avril 23, 2015, 03:50:39 pm »
Encore bravo, on reconnait les pros...
Est-ce qu'on peut les mettre dans les Scheduletables de jean luc?

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Re : Bibliothèque animations lumineuses
« Réponse #5 le: avril 23, 2015, 04:05:36 pm »
Un pro moi non.

Tel quelle non pour les tables de JLB, je l'avais écrite bien avant l'écriture de celle de JLB. J'avais même commencé une autre version pour gérer en fonction du temps, mais celle de JLB est plus simple. J'ai donc abandonné et me suis tourné vers la lib de Jean-Luc comme pour la simulation jour/nuit. Cela fait un bon exercice de code et je découvre encore plein de trucs

Après, je n'ai pas en tête tous les trucs de sa biblio. Je m'y mettrais quand j'aurais déterminé le sujet et le nombre des animations que j'aurais sur le réseau, avec la gestion manuelle et automatique et voir si on peut facilement l'incorporer ou pas.
G.

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Re : Bibliothèque animations lumineuses
« Réponse #6 le: mai 26, 2015, 11:51:06 am »
Bonjour,
mise à jour de la bibliothèque avec mise en ligne de deux exemples.
La bibliothèque a aussi migré sous drapeau Locoduino.org à l'adresse :
https://git.framasoft.org/locoduino.org/AnimLum

Le développement vers une v2 est en cours. Il faut que je règle quelques problèmes.
G.

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Re : Bibliothèque animations lumineuses
« Réponse #7 le: mai 29, 2015, 11:33:28 pm »
Problème résolu. Et le nettoyage a été fait.
La bibliothèque a changé, plus d'argument dans le constructeur, mise en place de tableaux pour les animations de plusieurs broches, etc...
Voir le readme pour les explications ainsi que les exemples.
https://git.framasoft.org/locoduino.org/AnimLum/

A vous de jouer

G.

petitrain

  • Jr. Member
  • **
  • Messages: 86
    • Voir le profil
Re : Bibliothèque animations lumineuses
« Réponse #8 le: juin 01, 2015, 01:45:55 pm »
Bonjour Guillaume,
J'ai chargé ta version 2 de la bibliothèque.
Quand j'essaie de compiler tes exemples, l'IDE me dit : "erreur de compilation"
et je ne comprend pas pourquoi...

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Re : Bibliothèque animations lumineuses
« Réponse #9 le: juin 01, 2015, 03:26:26 pm »
Ben c'est une bonne question. De mon coté cela compile et ont été testés sur un arduino pro mini.
D'une part, tout programme compile ou pas ?
Et ensuite il nous faut plus d'informations sur l'IDE version et le système.

Je suis sous Linux avec la 1.6.4 d'Arduino.cc.
Mes exemples compilent sur plusieurs ordis et distributions ;)
Ouvre peut être un nouveau post pour décrire ton problème si cela n'est pas dû à ma biblio. J'en doute elle est parfaite ;)
G.

petitrain

  • Jr. Member
  • **
  • Messages: 86
    • Voir le profil
Re : Bibliothèque animations lumineuses
« Réponse #10 le: juin 01, 2015, 07:02:43 pm »
Moi je suis sur Mac(OS X version 10.6.8 )  8)  mais ma version de l'IDE est un peu ancienne (version 1.0.1). :-\
Aucun des exemples que tu donnes compile : toujours "erreur de compilation".
Dessous il y a tout un tas d'explication mais je suis incapable de comprendre:

In file included from chenillard.cpp:1:
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:17: error: ISO C++ forbids initialization of member 'eOFF'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:17: error: making 'eOFF' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:17: error: ISO C++ forbids in-class initialization of non-const static member 'eOFF'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:18: error: ISO C++ forbids initialization of member 'eON'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:18: error: making 'eON' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:18: error: ISO C++ forbids in-class initialization of non-const static member 'eON'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:33: error: ISO C++ forbids initialization of member 'temps'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:33: error: making 'temps' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:33: error: ISO C++ forbids in-class initialization of non-const static member 'temps'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:34: error: ISO C++ forbids initialization of member 'compteur'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:34: error: making 'compteur' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:34: error: ISO C++ forbids in-class initialization of non-const static member 'compteur'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:49: error: ISO C++ forbids initialization of member 'temps'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:49: error: making 'temps' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:49: error: ISO C++ forbids in-class initialization of non-const static member 'temps'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:51: error: ISO C++ forbids initialization of member 'compteur'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:51: error: making 'compteur' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:51: error: ISO C++ forbids in-class initialization of non-const static member 'compteur'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:52: error: ISO C++ forbids initialization of member 'b'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:52: error: making 'b' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:52: error: ISO C++ forbids in-class initialization of non-const static member 'b'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:53: error: ISO C++ forbids initialization of member 'c'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:53: error: making 'c' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:53: error: ISO C++ forbids in-class initialization of non-const static member 'c'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:71: error: ISO C++ forbids initialization of member 'temps'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:71: error: making 'temps' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:71: error: ISO C++ forbids in-class initialization of non-const static member 'temps'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:72: error: ISO C++ forbids initialization of member 'compteur'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:72: error: making 'compteur' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:72: error: ISO C++ forbids in-class initialization of non-const static member 'compteur'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:73: error: ISO C++ forbids initialization of member 'e'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:73: error: making 'e' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:73: error: ISO C++ forbids in-class initialization of non-const static member 'e'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:86: error: ISO C++ forbids initialization of member 'compteur'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:86: error: making 'compteur' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:86: error: ISO C++ forbids in-class initialization of non-const static member 'compteur'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:87: error: ISO C++ forbids initialization of member 'temps'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:87: error: making 'temps' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:87: error: ISO C++ forbids in-class initialization of non-const static member 'temps'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:89: error: ISO C++ forbids initialization of member 'montageinverse'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:89: error: making 'montageinverse' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:89: error: ISO C++ forbids in-class initialization of non-const static member 'montageinverse'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:102: error: a brace-enclosed initializer is not allowed here before '{' token
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:102: error: ISO C++ forbids initialization of member 'lum'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:102: error: making 'lum' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:102: error: invalid in-class initialization of static data member of non-integral type 'int [32]'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:103: error: ISO C++ forbids initialization of member 'compteur'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:103: error: making 'compteur' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:103: error: ISO C++ forbids in-class initialization of non-const static member 'compteur'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:104: error: ISO C++ forbids initialization of member 'temps'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:104: error: making 'temps' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:104: error: ISO C++ forbids in-class initialization of non-const static member 'temps'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:117: error: ISO C++ forbids initialization of member 'boucle'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:117: error: making 'boucle' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:117: error: ISO C++ forbids in-class initialization of non-const static member 'boucle'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:119: error: ISO C++ forbids initialization of member 'temps'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:119: error: making 'temps' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:119: error: ISO C++ forbids in-class initialization of non-const static member 'temps'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:120: error: ISO C++ forbids initialization of member 'compteur'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:120: error: making 'compteur' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:120: error: ISO C++ forbids in-class initialization of non-const static member 'compteur'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:137: error: ISO C++ forbids initialization of member 'temps'
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:137: error: making 'temps' static
/Applications/Arduino 2.app/Contents/Resources/Java/libraries/AnimLum/animlum.h:137: error: ISO C++ forbids in-class initialization of non-const static member 'temps'

petitrain

  • Jr. Member
  • **
  • Messages: 86
    • Voir le profil
Re : Bibliothèque animations lumineuses
« Réponse #11 le: juin 01, 2015, 07:37:09 pm »
Je viens d'essayer sur un portable PC avec Windows 7 et une version de l'IDE de 1.0.5 mais ça ne compile pas non plus
Les mêmes commentaires apparaissent ....  :(

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Re : Bibliothèque animations lumineuses
« Réponse #12 le: juin 01, 2015, 08:30:02 pm »
Et si tu mettais à jour ;)

J'ai installé la v1.0 sous mon nux et cela compile. C'est une erreur de lib plus globale, il ne reconnait pas certains types de variables.
Si dominique ou jlb ne répond pas, aborde les ;)
Je n'y connais rien en mac. GNU/Linux c'est mieux ;)
G.

DDEFF

  • Hero Member
  • *****
  • Messages: 760
    • Voir le profil
Re : Bibliothèque animations lumineuses
« Réponse #13 le: juin 09, 2015, 12:58:34 pm »
Bonjour PetitTrain,
C'est effectivement très important de mettre à jour, surtout qu'il y a eu un gros changement, justement après la version 1.0.1.
Je suis sur windows 8.1 (une merveille ...  ;)  ) et ça fonctionne parfaitement. Version IDE : 1.6.4.
Juste un problème : j'ai dû changer #include <animlum.h> en #include "animlum.h" au début du .ino. Un problème classique.
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Re : Bibliothèque animations lumineuses
« Réponse #14 le: juin 09, 2015, 01:22:59 pm »
Les <> et "" permettent normalement de différencier les biblio officielles ou non mais l'IDE ne fait pas la différence. J'ai pris les <> car c'est ce qu'il me sortait lors de l'inclusion de la lib. ET ca marche comme cela.

Une merveille... je ne sais pas tu es seul juge ;) je ne connais plus windows depuis un grand moment.
G.