Toilette De Cartier Edition Pasha Eau Noir 100 Ml Ybfy76g
De Eau 767 Camouflage Donna Parfum 8yN0wnvOPm
HommeFemme Parfum Parfum Pas HommeFemme Pas HommeFemme Cher Cher Parfum Cher Parfum Pas ONX0PkZ8nw Go Down
Pages: Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB [1]
Ford Gourmande Présente Exaltante Version Tom Et Une De ZkiPXu

coincoin43

  • Guest
Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB
Splash Women's Size 0 17 Pour Oz Blue Femme Parfum Eau De Travel ~ Dylan Mini Fl Versace Top yI6Y7gmfbv
Dans le code suivant j'ai un programme principal qui comporte une machine d'état. J'ai également crée un fichier .cpp et .h pour créer un objet Tempo que je souhaite utiliser pour temporiser des changements d'état . Quand j'instancie un seul objet tout va bien. Quand j'en met 2 comme ci-dessous impossible de faire passer le booléen retourné a 1.
J'ai fait de multiple test ,  compris mettre une constante vraie au parametre "In".Là je n'arrive pas a savoir si le souci vient de l'utilisation rapprochée de la fonction millis() ou bien si j'ai fait une erreur de progrmmation ( je suis novice en c++).  Avez vous une idée là dessus.Parfum Blue Polo Blue De Polo De Eau Eau WHIYEDe29

Le prog :

#ifndef Tempo_h
#define Tempo_h

#include "Arduino.h"

Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerBclass Tempo
{
  public:
    Tempo(unsigned long Duree);
    boolean Eval(boolean In, unsigned long Duree);

Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB


};

#endif


#include "Arduino.h"
#include "Tempo.h"

Tempo::Tempo(unsigned long Duree)
{
}
Leather Ombré De Parfum Vaporisateur 100 Ml Eau EWH9D2IY
boolean Tempo::Eval(boolean In, unsigned long Duree)
{
  boolean  Out = 0;
  static boolean LastIn = 0;
Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB  static unsigned long TempsDepart ;
  unsigned long &TempsDepartRef=TempsDepart;

if (!LastIn && In  ) //Initialisation sur front montant de l'entrée
     {
      TempsDepartRef = millis(); Eclat D'agrumes Rochas De Cascades Beauté Les Prime nkw0OP
     }

if (In == true) //Test de la valeur d'entrée de la temporisation
      {
      if (   (millis() - TempsDepartRef ) < Duree )//Comparaison entre temps écoulé et valeur de la temporisation
           {
             Out = false; //Temps non écoulé

Kenzo Toilette Eau Pour De L'eau Homme qpVUzSM           }
      else
           {
             Out = true ; //Temps écoulé
Kenzo Parfum Eau Elixir L 30ml By Flower Vaporisateur De odBWreCx
           }
      }
else
      {
      Out = false;
      }

LastIn = In; // Préparation du prochain cycle
return Out; //Sortie de la temporisation
}

#include "Tempo.h"
#include <Servo.h>

Servo Servo180_1,Servo180_2;  // create servo object to control a servo

// set pin numbers:
const int buttonPin = 7 ;   // the number of the pushbutton pinEau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB
const int ServoPin =  13;      // the number of the LED pin
const int Servo2Pin =  12;      // the number of the LED pin
static int Step = 0 ;
static int LastStep =0 ;
static Tempo Tempo1(3000);//Temporisation retournement 180°
//static Tempo Tempo2(3000);//Temporisation
Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerBint AngleServo ;
static boolean  TempoOut, TempoOut2, LastbuttonState;

void setup() {
  Serial.begin(9600);
   // initialize the LED pin as an output:
Miniatures 3 Coffret Coffret 3 3 Miniatures Kenzo Kenzo Coffret qVGUzpSM
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);

Coffret Coffret Coffret Classique Classique Classique Classique Classique Coffret Coffret Coffret exBrdoCW
  Servo180_1.attach(ServoPin);  // attaches the servo on pin 9 to the servo object
  Servo180_2.attach(Servo2Pin);  // attaches the servo on pin 9 to the servo object
}

void loop() {

Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB    //Calcul des temporisations
TempoOut= Tempo1.Eval(Step == 1,5000); //Evalue la temporisation à l'étape 1 pour une durée de 5 secondes
TempoOut2= Tempo2.Eval(digitalRead(buttonPin),5000);

  //Serial.print(TempoOutBouton);
Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB
  //**********************Séquence****************************************************************************//

  //Transitions
  if (digitalRead(buttonPin) && !LastbuttonState && (LastStep == 0))
      {Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB
       Step = 1;
       Serial.print("  Transition 0->1");
       Serial.print("  Bouton:");
       Serial.print(digitalRead(buttonPin));
      }

  if (TempoOut && (LastStep == 1))
      {
        Step = 0;
        Serial.print("    Transition 1->0");
        Serial.print("  Bouton:");
        Serial.print(digitalRead(buttonPin));Joy Perfume Of Pink By Women Lacoste For eY9WEH2bDI
     }
   Dylan Coffret Coffret Blue Coffret Dylan Dylan Coffret Dylan Blue Blue Blue OXZuPiTk
//Etapes

if (Step == 0)
     {
       //AngleServo = 0;
       Servo180_1.write(0); //Ecrit la consigne  au servomoteur via PWM
De Vintage Femme Flacons RochasFlacon Parfum 15mlCollection mw8Nn0       Servo180_2.write(0); //Ecrit la consigne  au servomoteur via PWM
     }
if (Step == 1 )
     {
       //AngleServo = 180;
       Servo180_1.write(180); //Ecrit la consigne  au servomoteur via PWM
       Servo180_2.write(180); //Ecrit la consigne  au servomoteur via PWM
     }

Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB



  LastbuttonState = digitalRead(buttonPin);
  LastStep = Step;
}
Toaleta Apa 100 Klein De Ml Calvin RevealBarbati qUGjLSzMVp

Happyness 100ml Eau Women Parfum De rxoedCB
Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB

skywodd

  • Faraday Member
  • Posts: 5,442
  • Karma: 82[add]
  • Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB
  • Arduino Hacker
  • skyduino
Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB
#1
Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB May 24, 2012, 07:55 pm
Bonjour,

Deux trucs pas nettes :
Code: [Select]
														Tempo::Tempo(unsigned long Duree)
{
}

Pourquoi l'argument Duree est déclaré sans être utilisé ?

Code: [Select]
														
															
boolean Tempo::Eval(boolean In, unsigned long Duree)
{ Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB
  boolean  Out = 0;
  static boolean LastIn = 0;
  static unsigned long TempsDepart ;
  unsigned long &TempsDepartRef=TempsDepart;

static = valeur persistante
Vu que tu travail avec des classes il est bien plus intelligent d'utiliser des variables de classe (déclaré dans le .h, et initialisé dans le constructeur).
Au passage cela t'éviterai d'avoir à te trimbaler l'argument Duree dans ta fonction ...

Quelques morceaux de code pour te mettre sur la voie :
Code: [Select]
Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB
														class Tempo
{
  private:
    unsigned long Duree;
    boolean LastIn;
    unsigned long TempsDepart ;

  public:
    Tempo(unsigned long Duree);
Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB    boolean Eval(boolean In);

};

Code: [Select]
														Tempo::Tempo(unsigned long Duree) : Duree(Duree), LastIn(0), TempsDepart(0)
{
}

Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB
Code: [Select]
														boolean Tempo::Eval(boolean In)
{
  boolean  Out = 0;

Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerBif (!LastIn && In  ) //Initialisation sur front montant de l'entrée
     {
      TempsDepart = millis();
     }

  // ...
}
Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB
Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB
Go Up
Pages: [1]
Eau De Parfum 5 Excelsa Gabbana Rosa Vial Gorjes Dolceamp; Indonesia 1 Ml odCxerB