IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Résultat étrange sur un compteur


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut Résultat étrange sur un compteur
    Bonjour,

    avec mon arduino Uno je cherche à allumer 3 LED avec ce programme.
    J'utilise la librairie elapsedMillis pour mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    #include <elapsedMillis.h>
     
    const int LED_COUNT = 2;    // Les LED sont sur les sorties paires (LED1 = pin 2; LED2 = pin4; LED3 = pin6; etc.)
    int CLOCK_INTERVAL = 1000;   // période de clignotement 
     
    int ledOutput[LED_COUNT];
    boolean ledState[LED_COUNT];
    elapsedMillis timeElapsed[LED_COUNT];
     
    int i = 0;
     
    // the setup routine runs once when you press reset:
    void setup() 
    { 
      for (i=0; i<LED_COUNT; i++)
      {
        ledOutput[i] = (i + 1) * 2;
        ledState[i] = LOW;
     
        pinMode(ledOutput[i], OUTPUT);
        digitalWrite(ledOutput[i], ledState[i]);
      }
     
      Serial.begin(115200);
      i = 0;
     
    }
     
    // the loop routine runs over and over again forever:
    void loop() 
    {
          if (timeElapsed[i]  > CLOCK_INTERVAL && i < LED_COUNT)
          {
            ledState[i] = !ledState[i];
            digitalWrite(ledOutput[i], ledState[i]);
            timeElapsed[i] = 0;
          }
     
          Serial.print("i=");
          Serial.print(i);
          Serial.print(" c=");
          Serial.println(LED_COUNT);
     
          i = i + 1;
          if (i > LED_COUNT)
          {
            i = 0;
          }
    }
    J'affiche également le contenu de mon compteur i. Le code tel que je l'ai posté fonctionne. Voici le contenu de la console :
    i=0 c=2
    i=1 c=2
    i=2 c=2
    i=0 c=2
    i=1 c=2
    i=2 c=2
    i=0 c=2
    i=1 c=2
    Mais si je remplace la condition if (timeElapsed[i] > CLOCK_INTERVAL && i < LED_COUNT) par if (timeElapsed[i] > CLOCK_INTERVAL) voici le contenu de la console :
    i=25288 c=2
    i=0 c=2
    i=1 c=2
    i=25291 c=2
    i=0 c=2
    i=1 c=2
    i=25294 c=2
    i=0 c=2
    i=1 c=2
    i=25296 c=2
    Vous y comprenez quelque chose ? Où est le problème ? Pourquoi i prend ces valeurs ?

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bon j'ai trouvé l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
          i = i + 1;
          if (i >= LED_COUNT)
          {
            i = 0;
          }
    et non pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Résultat étrange sur une requête
    Par ninouee dans le forum Débuter
    Réponses: 3
    Dernier message: 05/10/2014, 20h52
  2. [XL-2007] Résultats étranges sur Excel
    Par L'Ogre dans le forum Excel
    Réponses: 3
    Dernier message: 23/03/2014, 22h20
  3. Résultat étrange sur une recherchev
    Par ANOVA dans le forum Excel
    Réponses: 3
    Dernier message: 29/04/2011, 08h53
  4. Résultat étrange avec les lumières.
    Par MaxPayne dans le forum OpenGL
    Réponses: 4
    Dernier message: 12/04/2005, 18h04
  5. Erreur étrange sur recvfrom
    Par Gore dans le forum Développement
    Réponses: 2
    Dernier message: 17/02/2005, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo