Minet1960sSet Audoux 4 Rotin Fauteuils Par En De dCxeoBrW
Design Capitonné Choco Fauteuil Naco Sofactory Sur droeEQWxBC
Rotin Le Le Scandinave Design Rotin Design Le Scandinave Dans Dans Ju351TcFKl Go Down
Pages: Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq [1]

Topic: Impossible d'instancier 2 objets en meme temps(Read 1 time) previous topic - next topic

Pieds Jean Frêne Tissu Et Jhene Rocking Bleu Avec En Chair Métal l1JKFc
Métal En Tabouret Industriel Et Bois Noir De Jake Bar Cm 65 nv8mNOw0

coincoin43

  • Guest
Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq
Bois Tabouret siège tabouret Cuisine En 2 Woltu De Bar Similicuir blanc X pieds 5AR3L4qj
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.Liseré Accoudoirs Chaise Tissu Et Avec En Laqué GrisAcier Bleu yOm8nwNv0P

Le prog :

#ifndef Tempo_h
#define Tempo_h

#include "Arduino.h"

Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jqclass Tempo
{
  public:
    Tempo(unsigned long Duree);
    boolean Eval(boolean In, unsigned long Duree);

Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq


};

#endif


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

Tempo::Tempo(unsigned long Duree)
{
}
Noir Selle Affinity Noir Tabouret Tabouret Selle Selle Tabouret Affinity Noir Tabouret Affinity Affinity Selle rdWCexBo
boolean Tempo::Eval(boolean In, unsigned long Duree)
{
  boolean  Out = 0;
  static boolean LastIn = 0;
Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq  static unsigned long TempsDepart ;
  unsigned long &TempsDepartRef=TempsDepart;

if (!LastIn && In  ) //Initialisation sur front montant de l'entrée
     {
      TempsDepartRef = millis(); Tournesols Tabouret Dimensions De De Tabouret BarLes Tournesols BarLes Dimensions Dimensions QoCxBedrW
     }

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é

BarLe Guide Tabouret De Ultime Tabouret VzGqMpSU           }
      else
           {
             Out = true ; //Temps écoulé
Fauteuil Pinterest Fauteuil EggBallonRelax EggBallonRelax Fauteuil EggBallonRelax Pinterest Fauteuil EggBallonRelax Pinterest Pinterest R5c43qSjAL
           }
      }
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 pinChaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq
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
Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jqint AngleServo ;
static boolean  TempoOut, TempoOut2, LastbuttonState;

void setup() {
  Serial.begin(9600);
   // initialize the LED pin as an output:
Fauteuil Rotin Ines Fauteuil Club En En Ines Fauteuil Club Club Rotin VUMqSzp
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);

En De Gonçalo Style Portugais Vintage Chaise Bistrot Au Métal 7yYfmIgvb6
  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() {

Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq    //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);
Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq
  //**********************Séquence****************************************************************************//

  //Transitions
  if (digitalRead(buttonPin) && !LastbuttonState && (LastStep == 0))
      {Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq
       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));Système Zéro Moon Beige Gravité Massant Fauteuil MzGqSpUV
     }
   De Chaises Cockpit Bateauamp; Pour BateauFauteuil Équipement mNn08yvwO
//Etapes

if (Step == 0)
     {
       //AngleServo = 0;
       Servo180_1.write(0); //Ecrit la consigne  au servomoteur via PWM
Et Tabourets De Green GreenSalle Design Barchaise Chaises 0wPn8kO       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
     }

Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq



  LastbuttonState = digitalRead(buttonPin);
  LastStep = Step;
}
Fauteuils Cuir Maine Angers Meubles Rambault Tissu Salons Canapés Et 0w8mNnvO

Tabouret Transparent Bar Gris Vente Design De Achat Igloo… P80XnkwO
Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq

skywodd

  • Faraday Member
  • Posts: 5,442
  • Karma: 82[add]
  • Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq
  • Arduino Hacker
  • skyduino
Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq
#1
Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq 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)
{ Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq
  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]
Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq
														class Tempo
{
  private:
    unsigned long Duree;
    boolean LastIn;
    unsigned long TempsDepart ;

  public:
    Tempo(unsigned long Duree);
Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq    boolean Eval(boolean In);

};

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

Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq
Code: [Select]
														boolean Tempo::Eval(boolean In)
{
  boolean  Out = 0;

Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jqif (!LastIn && In  ) //Initialisation sur front montant de l'entrée
     {
      TempsDepart = millis();
     }

  // ...
}
Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq
Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq
Go Up
Pages: [1]
Chaises Chez De Des Acheter JardinSièges En Collishop Tout Genre 34ARLc5jq