Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - petitrain

Pages: 1 2 3 [4] 5 6
46
Vos projets / Re : Un Arduino par module....ou pas.
« le: janvier 16, 2016, 12:36:34 am »
Suite de mon projet et plein de problème que je ne sais pas comment résoudre, si une bonne âme pouvait me venir en aide...
Je rappelle brièvement mon projet, toujours le même: je voudrais commander l'éclairage de mon réseau par des bandeaux de ledsRGB et blanc chaud commandés eux-mêmes par un arduino+ des MOSFETS.
J'aimerai avoir plusieurs programmes ( chaude journée d'été, dans le froid de l'hiver, jour et nuit , maintenance, etc..)
Je compte utiliser les ScheduleTable et aussi une machine à état qui, dans le principe me parait simple...
J'ai testé un premier programme et rien ne marche comme je l'avais imaginer.
Je n'arrive pas à démarrer les Tables dans la machine.
La machine à états marche très mal:
La commande d'extinction des leds (for(byte i;i<7;i++){digitalWrite(leds,LOW);}) est inopérante
Je ne peux pas passer d'un programme à un autre...
Je pense avoir fait pas mal d'erreurs, si vous pouviez me mettre sur la voie
/********************************BIBLIOTHEQUE UTILE POUR GERER LES BOUTONS**********************/
#include <RBD_Timer.h> 
#include <RBD_Button.h>
/********************************BIBLIOTHEQUE POUR LE CHENILLARD*******************************/
 #include <ScheduleTable.h>
  ScheduleTable Chenillard(12,12,200);// création de la table : 12 actions, 12 périodes de 200ms.
/********************************DECLARATION DES ETATS DE LA MACHINE***************************/

enum{INITIAL, ATTENTEPROG1, PROG1, ATTENTEPROG2, PROG2, ATTENTEPROG3, PROG3, ATTENTEPROG4, PROG4,
 ATTENTEPROG5, PROG5, ATTENTEPROG6, PROG6, ATTENTEPROG7, PROG7,};
 int etat = INITIAL;
/******************************DECLARATION DES BROCHES POUR LES LEDS TEST**********************/

byte leds[] = {2,4,7,8,11,12,13};
/*******************************CONSTRUCTEUR POUR LES BOUTONS**********************************/

RBD::Button boutonIncrementation(17, false);
RBD::Button boutonValidation(16, false);
RBD::Button boutonDecrementation(15, false);
RBD::Button boutonReset(14, false);
boolean etatVal = 0;                          // Variable pour la validation
boolean ancienEtatVal = 0;                    // Précédent état de la validation
byte compteur=0;                              // Compteur des différents programmes
const byte valeurMin=0;                       // Valeur minimum du compteur
const byte valeurMax=7;                       // Valeur maximum du compteur
/******************************INITIALISATION**************************************************/

void setup() {
    Serial.begin(9600);
    for(int i=0;i<7;i++){
    pinMode(leds[i],OUTPUT);
    }
    Chenillard.at(1,Chenillard1);
    Chenillard.at(2,Chenillard2);
    Chenillard.at(3,Chenillard3);
    Chenillard.at(4,Chenillard4);
    Chenillard.at(5,Chenillard5);
    Chenillard.at(6,Chenillard6);
    Chenillard.at(7,Chenillard7);
    Chenillard.at(8,Chenillard8);
    Chenillard.at(9,Chenillard9);
    Chenillard.at(10,Chenillard10);
    Chenillard.at(11,Chenillard11);
    Chenillard.at(12,Chenillard12);
   

}
/*****************************LOOP*************************************************************/

void loop() {
/**************************TEST DES BOUTONS****************************************************/

  if(boutonIncrementation.onPressed()){if(compteur< valeurMax)compteur++;}
  if(boutonDecrementation.onPressed()){if(compteur>valeurMin)compteur--;}
  if(boutonValidation.onPressed()){etatVal=!etatVal;}
  Serial.print("compteur :   ");
  Serial.println(compteur);
  Serial.print("Validation :      ");
  Serial.println(etatVal);
/****************************MACHINE A ETAT****************************************************/
  switch (etat){
    case INITIAL:                                        // Dans cet état, il n'y a qu'un motif
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);} // qui défile sur la rangée de leds
         Chenillard.start();               // En attente du compteur pour choisir
         if(compteur==1){etat=ATTENTEPROG1;}             // le programme à jouer.
    break;
    case ATTENTEPROG1:                                   // Le programme 1 est en attente de
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);} // validation.La led 1 clignote.
         Clignote(0);
         if(etatVal!=ancienEtatVal){etat=PROG1;}
    break;
    case PROG1:                                          // Le programme est validé. la led 1
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);} // est allumée. La validation est
         digitalWrite(leds[0],HIGH);                     // remise à zéro et le programme 1 se
         etatVal=ancienEtatVal;                          // déroule.
         //programme1
         if(compteur==2){etat=ATTENTEPROG2;}
    break;
    case ATTENTEPROG2:                                   // idem pour le programme2...
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);}
         Clignote(1);
         if(etatVal!=ancienEtatVal){etat=PROG2;}
    break;
    case PROG2:
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);}
         digitalWrite(leds[1],HIGH);
         etatVal=ancienEtatVal;
         //programme2
         if(compteur==3){etat=ATTENTEPROG3;}
    break;
    case ATTENTEPROG3:                                   // idem pour le programme3...
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);}
         Clignote(2);
         if(etatVal!=ancienEtatVal){etat=PROG3;}
    break;
    case PROG3:
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);}
         digitalWrite(leds[2],HIGH);
         etatVal=ancienEtatVal;
         //programme3
         if(compteur==4){etat=ATTENTEPROG4;}
    break;
    case ATTENTEPROG4:                                   // idem pour le programme4...
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);}
         Clignote(3);
         if(etatVal!=ancienEtatVal){etat=PROG4;}
    break;
    case PROG4:
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);}
         digitalWrite(leds[3],HIGH);
         etatVal=ancienEtatVal;
         //programme4
         if(compteur==5){etat=ATTENTEPROG5;}
    break;
    case ATTENTEPROG5:                                   // idem pour le programme5...
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);}
         Clignote(4);
         if(etatVal!=ancienEtatVal){etat=PROG5;}
    break;
    case PROG5:
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);}
         digitalWrite(leds[4],HIGH);
         etatVal=ancienEtatVal;
         //programme5
         if(compteur==6){etat=ATTENTEPROG6;}
    break;
    case ATTENTEPROG6:                                   // idem pour le programme6...
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);}
         Clignote(5);
         if(etatVal!=ancienEtatVal){etat=PROG6;}
    break;
    case PROG6:
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);}
         digitalWrite(leds[5],HIGH);
         etatVal=ancienEtatVal;
         //programme6
         if(compteur==7){etat=ATTENTEPROG7;}
    break;
    case ATTENTEPROG7:                                   // idem pour le programme7...
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);}
         Clignote(6);
         if(etatVal!=ancienEtatVal){etat=PROG1;}
    break;
    case PROG7:
         for(byte i;i<7;i++){digitalWrite(leds[i],LOW);}
         digitalWrite(leds[6],HIGH);
         etatVal=ancienEtatVal;
         //programme7
         if(compteur==6){etat=ATTENTEPROG6;}
    break;
   
   
  }


}
void Clignote(byte numLed){
  //for(byte i;i<7;i++){digitalWrite(leds[i],LOW);}
  digitalWrite(leds[numLed],millis()/200%2);
}
/*                         Quand aucun programme est appelé, les leds clignotent suivant le mode chenillard:
 * allumé=x    eteint=-                               ORDRE D'ALLUMAGE DES LEDS
 *                   
 *        actions  :  0(led2)  :  1(led4)  :  2(led7)  :  3(led8)  :  4(led11)  :  5(led12)  :  6(led13)  :  périodes
 *        -----------------------------------------------------------------------------------------------------------
 *           1     :     x     :     -     :     -     :     -     :      -     :      -     :     -      :     1
 *           1     :     -     :     x     :     -     :     -     :      -     :      -     :     -      :     2
 *           1     :     -     :     -     :     x     :     -     :      -     :      -     :     -      :     3
 *           1     :     -     :     -     :     -     :     x     :      -     :      -     :     -      :     4
 *           1     :     -     :     -     :     -     :     -     :      x     :      -     :     -      :     5
 *           1     :     -     :     -     :     -     :     -     :      -     :      x     :     -      :     6
 *           1     :     -     :     -     :     -     :     -     :      -     :      -     :     x      :     7
 *           1     :     -     :     -     :     -     :     -     :      -     :      x     :     -      :     8
 *           1     :     -     :     -     :     -     :     -     :      x     :      -     :     -      :     9
 *           1     :     -     :     -     :     -     :     x     :      -     :      -     :     -      :     10
 *           1     :     -     :     -     :     x     :     -     :      -     :      -     :     -      :     11
 *           1     :     -     :     x     :     -     :     -     :      -     :      -     :     -      :     12
 */




 void Chenillard1(){digitalWrite(leds[0],HIGH);digitalWrite(leds[1],LOW);}  //Les fonctions qui définissent les actions
 void Chenillard2(){digitalWrite(leds[1],HIGH);digitalWrite(leds[0],LOW);}  //de la Table.
 void Chenillard3(){digitalWrite(leds[2],HIGH);digitalWrite(leds[1],LOW);}
 void Chenillard4(){digitalWrite(leds[3],HIGH);digitalWrite(leds[2],LOW);}
 void Chenillard5(){digitalWrite(leds[4],HIGH);digitalWrite(leds[3],LOW);}
 void Chenillard6(){digitalWrite(leds[5],HIGH);digitalWrite(leds[4],LOW);}
 void Chenillard7(){digitalWrite(leds[6],HIGH);digitalWrite(leds[5],LOW);}
 void Chenillard8(){digitalWrite(leds[5],HIGH);digitalWrite(leds[6],LOW);}
 void Chenillard9(){digitalWrite(leds[4],HIGH);digitalWrite(leds[5],LOW);}
 void Chenillard10(){digitalWrite(leds[3],HIGH);digitalWrite(leds[4],LOW);}
 void Chenillard11(){digitalWrite(leds[2],HIGH);digitalWrite(leds[3],LOW);}
 void Chenillard12(){digitalWrite(leds[1],HIGH);digitalWrite(leds[2],LOW);}

47
Vos projets / Re : Un Arduino par module....ou pas.
« le: janvier 06, 2016, 07:17:19 pm »
Tout d'abord merci pour tes vœux. A mon tour, je souhaite à toute l'équipe une Bonne et Chaleureuse Année 2016 avec beaucoup de joie à manipuler les Arduinos et les petits trains.
Pour les ScheduleTables, bravo et merci: C'est très pratique...
J'avais trouvé entre-temps l'explication pour les montées/descente de la PWM.
Dans un programme plus important, (mais je pense qu'il n'y aura pas de problème, il faut juste que j'essaye..), je peux démarrer les ScheduleTables dans un switch(compteur)....case:0...1....x...., le compteur étant incrémenter par un BP.
Ça me permettra d'avoir plusieurs animations lumineuses sur mon réseau.   

48
Vos projets / Re : Un Arduino par module....ou pas.
« le: décembre 28, 2015, 10:58:50 pm »
Bonjour,
Je sais que Jean Luc est très pris, aussi, j'espère que quelqu'un d'autre pourra répondre à mon questionnement...
Voilà, je travaille sur les "ScheduleTable". J'ai bien compris comment tout cela marchait pour des sorties digitales.
Pour les sorties PWM, on crée la Table principale(nbre d'actions,nbre de périodes), puis on crée des Tables filles pour la montée et la descente de la PWM. Pour définir le nbre de périodes, il divise la durée de montée ou de descente souhaitée par 255 ( surement la valeur max de la PWM).
On a donc:
ScheduleTable greenLEDPWMIncreaseCycle(1,28);    // 1 action, period duration = 7200 / 255 = 28
ScheduleTable greenLEDPWMDecreaseCycle(1,42);// 1 action, period duration = 10800 / 255 =42
mais, après, dans ces fonctions, il démarre ses Tables avec 255 périodes imposées. Pouquoi?
Voilà, si quelqu'un peut m'éclairer.
A part cette incompréhension, c'est un plaisir de se servir de ces tables . J'ai vu qu'on peut démarrer les Tables ailleurs que dans le setup(), il faut que j'essaye de les démarrer avec des boutons ( on pourra ainsi choisir différents choix d'animation). 
 

49
Ce n'est qu'une bibliothèque de plus pour l'Arduino. On peut très bien combiner les méthodes de la "library" avec le langage Arduino ou du C/C++.
Dans les dernières pages du guide de l'utilisateur, il explique comment écrire le code après avoir fait son grafcet sur papier avec quelques exemples.On part de l'état initial, puis on code  chaque état et chaque transition,on vérouille l'état précédant, après on s'occupe des sorties et des variables pour chaque état.  Je trouvais que de cette manière, c'était plus intuitif. La gestion de millis() est assez délicate a manier (pour des apprentis programmeurs), là, on débroussaille le problème.

50
Bonjour à tous,
Je lis avec intérêt vos échanges, même si je ne comprends pas toujours tout. Je suis un menuisier à la retraite,
aimant bien les petits trains mais très limité en programmation et en anglais...
J'ai découvert la plateforme Arduino depuis quelques temps déjà et, comme tous les néophytes, on commence par recopier des petits programmes à droite et à gauche, émerveillé que cela marche...puis on a envie d'écrire ses propres sketches.... Par manque d'expérience et de méthode, on est souvent déçu et même découragé.
Aussi quand je vous ai lu, j'ai cherché du côté des machines à état, évoquées sur plusieurs sites. J'ai découvert que le Grafcet est une des méthodes d'approche pour écrire un programme clair et je suis tombé sur ce site:
http://www.electronics-micros.com/software-hardware/plclib-arduino/
Il propose une bibliothèque Arduino, très bien documentée pour transformer un Arduino  en un automate programmable (PLC). On nous explique que l'on peut facilement retranscrire un Grafcet , mais aussi écrire du code supplémentaire qui ne serai pas pris par la bibliothèque. Depuis quelques temps, j'écris des petits Grafcets que je transpose en code et ça marche!... La vision que l'on a du code à écrire s’éclaircit beaucoup et c'est un grand bonheur à concevoir. Allez faire un tour sur ce site, il me semble intéressant pour les petits trains.

51
Vos projets / Re : Nouveau projet : un petit locodrome
« le: juillet 04, 2015, 01:27:14 pm »
Salut Guillaume,
  J'ai un petit PDF qui peut,peut-être, t'aider ou te donner d'autres idées.
  Mais je ne sais pas comment le faire passer, il pèse 668Ko et on est limité à 192Ko pour les pièces jointes....

52
Bibliothèques / Re : Bibliothèque animations lumineuses
« 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 ....  :(

53
Bibliothèques / Re : Bibliothèque animations lumineuses
« 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'

54
Bibliothèques / Re : Bibliothèque animations lumineuses
« 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...

55
Vos projets / Re : Un Arduino par module....ou pas.
« le: mai 18, 2015, 01:35:47 pm »
Voilà le croquis

56
Vos projets / Re : Un Arduino par module....ou pas.
« le: mai 17, 2015, 11:58:21 pm »
Bonsoir à tous,
  Je reprends un peu l'Arduino et mon projet.
  J'ai relu les pages du forum, les observations et les commentaires de chacun et j'ai repensé mon projet dans ce sens :
  Je vous joints le synoptique modifié. Quelques observations explicatives:
  - Toujours une carte sous chaque module. Elle commande les différents éclairages, les aiguillages,etc...
  - L'éclairage général des modules est confié à une carte ( via des mosfets de puissance) qui gère aussi l'affichage.
  - Une carte Horloge déjà faite.
  - L'Alim est assurée par une alimentation de PC ( le 5v ne sert que pour des petits lecteurs MP3)
  - Eventuellement, je peux rajouter des cartes d'extension si le besoin de broches se fait sentir (en I2c).
 J'ai prévu quatre boutons : 2(incrémentation et decrémentation) pour sélectionner différents programmes signalés par 8 leds.
 1 bouton de validation et 1 bouton que j'appelle programmation ( j'ai imaginé pouvoir changer directement quelques variables sans passer par l'ordinateur).
  - Un Afficheur 4*20 en I2c permet d'afficher les indications et messages dont j'aurai besoin.
Avant de commencer mes cartes, j'aurai aimé avoir vos avis, voir si c'est réaliste .
 J'ai dessiné un mini sur mes cartes mais ne vaut-il pas mieux mettre un nano qui a la liaison USB ( j'en ai vu un chez Electrodragon pas très cher mais le micro-controleur n'ait pas le même que sur la carte Arduino uno,est-ce gênant?)
  J'ai testé mes boutons sur une entrée analogique, ça a l'air de bien marcher. J'ai testé aussi l'afficheur avec une bibliothèque,
l'affichage scintille... J'ai vu sur des sites qu'il faut mettre des résistances de rappel au +, je vais essayer.
  Voilà, j'arrête là mon bavardage...
Je n'arrive pas à passer mon fichier image, j'ai un message qui me dit qu'il est trop gros, pourtant il ne fait que 106k, désolé....
 

57
Présentez vous ! / Re : Bonjour d'un petit nouveau
« le: mai 03, 2015, 01:25:11 pm »
Bienvenue à toi, sur ce forum ou l'on apprend beaucoup de choses et chaque pierre déposée, si modeste soit-elle, apporte aux autres...

58
Bibliothèques / Re : Bibliothèque animations lumineuses
« 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?

59
Bibliothèques / Re : Bibliothèque animations lumineuses
« 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.

60
Présentez vous ! / Re : Bonjour de Savignyexpress
« le: avril 22, 2015, 01:29:40 pm »
Bienvenue sur le forum,
Pour le néophyte que je suis, je vais de ce pas visiter ton site et glaner quelques informations....

Pages: 1 2 3 [4] 5 6