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 :

Erreur de compilation


Sujet :

Arduino

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Erreur de compilation
    Bonjour à tous,

    Je suis débutant et m'entraine à réaliser des montages et leurs programmes.
    Là je suis bloqué sur quelque chose de simple sans doute mais je n'arrive pas à m'en sortir

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    const int led_verte=9;//Définition des broches Arduino des 3 led
    const int led_bleue=10;
    const int led_rouge=11;
    int compteur_defilement=0;//Mise a 0 du compteur qui fait changer de couleur
    void couleur();
     
    void setup() {
    pinMode(led_rouge,OUTPUT);//Les broches Arduino des 3 led sont des sorties
    pinMode(led_bleue,OUTPUT);
    pinMode(led_verte,OUTPUT);
     
    }
     
    void loop()
    {
    void couleur(compteur_defilement);//Appel SP affichage
    compteur_defilement++;//Incrementation de la couleur a afficher
    if(compteur_defilement>6)compteur_defilement=0;//Si compteur depasse 6 on le RaZ
    delay(2000);//attente
    }
     
    void (int numeroCouleur)//SP d'affichage
    {
    switch(compteur_defilement)
    {
    case0://rouge
    analogWrite(led_rouge,0);//Rapport cyclique mini = led allumée au max
    analogWrite(led_verte,255);
    analogWrite(led_bleue,255);
    break;
     
    case1://vert
    analogWrite(led_rouge,0);//Rapport cyclique mini = led allumée au max
    analogWrite(led_verte,255);
    analogWrite(led_bleue,0);
    break;
     
    case2://bleu
    analogWrite(led_rouge,0);//Rapport cyclique mini = led allumée au max
    analogWrite(led_verte,0);
    analogWrite(led_bleue,255);
    break;
     
    case3://jaune
    analogWrite(led_rouge,255);//Rapport cyclique mini = led allumée au max
    analogWrite(led_verte,255);
    analogWrite(led_bleue,0);
    break;
     
    case4://violet
    analogWrite(led_rouge,255);//Rapport cyclique mini = led allumée au max
    analogWrite(led_verte,0);
    analogWrite(led_bleue,255);
    break;
     
    case5://bleu ciel
    analogWrite(led_rouge,0);//Rapport cyclique mini = led allumée au max
    analogWrite(led_verte,255);
    analogWrite(led_bleue,255);
    break;
     
    case6://blanc
    analogWrite(led_rouge,255);//Rapport cyclique mini = led allumée au max
    analogWrite(led_verte,255);
    analogWrite(led_bleue,255);
    break;
     
    default://"noir"
    analogWrite(led_rouge,0255);//Rapport cyclique mini = led allumée au max
    analogWrite(led_verte,0);
    analogWrite(led_bleue,0);
    break;
    }
    }
    C'est un programme qui fait clignoter une led RGB dans 6 couleurs successivement mais à la ligne 16 la vérification me donne ce message que je n'arrive pas a comprendre :
    variable or field 'couleur' declared void
    Quelqu'un peut il m'aider
    Merci d'avance
    GIPI

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 647
    Points : 11 136
    Points
    11 136
    Par défaut
    bonsoir,

    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    void (int numeroCouleur)//SP d'affichage
    tu ne voulais pas plutôt écrire
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    void couleur (int numeroCouleur)//SP d'affichage
    ?

    puis l'appel de la fonction
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void loop()
    {
    couleur(compteur_defilement);    //enlève void
    // ...
    }

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 600
    Points : 56 698
    Points
    56 698
    Billets dans le blog
    40
    Par défaut
    Salut,

    On dirait que tu as voulu créer une fonction couleur :
    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
    51
    void couleur (int compteur) {
      switch (compteur)
      {
        case 0://rouge
          analogWrite(led_rouge, 0); //Rapport cyclique mini = led allumée au max
          analogWrite(led_verte, 255);
          analogWrite(led_bleue, 255);
          break;
     
        case 1://vert
          analogWrite(led_rouge, 0); //Rapport cyclique mini = led allumée au max
          analogWrite(led_verte, 255);
          analogWrite(led_bleue, 0);
          break;
     
        case 2://bleu
          analogWrite(led_rouge, 0); //Rapport cyclique mini = led allumée au max
          analogWrite(led_verte, 0);
          analogWrite(led_bleue, 255);
          break;
     
        case 3://jaune
          analogWrite(led_rouge, 255); //Rapport cyclique mini = led allumée au max
          analogWrite(led_verte, 255);
          analogWrite(led_bleue, 0);
          break;
     
        case 4://violet
          analogWrite(led_rouge, 255); //Rapport cyclique mini = led allumée au max
          analogWrite(led_verte, 0);
          analogWrite(led_bleue, 255);
          break;
     
        case 5://bleu ciel
          analogWrite(led_rouge, 0); //Rapport cyclique mini = led allumée au max
          analogWrite(led_verte, 255);
          analogWrite(led_bleue, 255);
          break;
     
        case 6://blanc
          analogWrite(led_rouge, 255); //Rapport cyclique mini = led allumée au max
          analogWrite(led_verte, 255);
          analogWrite(led_bleue, 255);
          break;
     
        default://"noir"
          analogWrite(led_rouge, 0255); //Rapport cyclique mini = led allumée au max
          analogWrite(led_verte, 0);
          analogWrite(led_bleue, 0);
          break;
      }
    Syntaxe d'appel dans ta loop() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void loop()
    {
      couleur(compteur_defilement);
     
      compteur_defilement++;//Incrementation de la couleur a afficher
      if (compteur_defilement > 6) compteur_defilement = 0; //Si compteur depasse 6 on le RaZ
      delay(2000);//attente
    }
    Edit : grillé ^^

Discussions similaires

  1. [NiCl3s] Bonjour a tous !
    Par NiCl3s dans le forum Présentations
    Réponses: 1
    Dernier message: 25/01/2011, 10h19
  2. bonjour a tous
    Par deubelte dans le forum C
    Réponses: 4
    Dernier message: 04/12/2006, 21h12

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