Erreur de compilation

Bonjour,

Je travaille actuellement sur un projet arduino qui a pour but d’allumer différentes leds en fonction d’une puissance reçue.

Malheureusement j’ai une erreur de compilation que je ne comprends pas. On est plusieurs à avoir relu le code sans y trouver d’erreur et la compilation a été testée sur différents PC.

Voici le code

// capteur
 
int pinMesureTension = A0 ;
int pinMesureCourant = A1 ;

//Relais (7);(KA1,KA2,KA3,KA4,KA5,KA6,KA7)

//declaration courant,tension,puissance à calculer 
float valeurPuissance;
float Tension = A0 ; 
float valeurCourant = A1 ;

//declaration variables seuilles

 //produites
 int TensionMax = 28 ;
 int TensionMin = 24 ;
 float coeffTension =  TensionMax / 1023 ;

    

 
 int pinRelais1 = 2 ;
 int pinRelais2 = 3 ;
 int pinRelais3 = 4 ;
 int pinRelais4 = 5 ;
 int pinRelais5 = 6 ;
 int pinRelais6 = 7 ;
 int pinRelais7 = 8 ;
 int pinRelais8 = 9 ;
 int pinRelais9 = 10 ;
 int pinRelais10 = 11 ;

 int puissance_1 = 80 ;
 int puissance_2 = 180 ;
 int puissance_3 = 280 ;
 int puissance_4 = 380 ;
 int puissance_5 = 480 ;
 int puissance_6 = 500 ;

void  setup() {
  Serial.begin(9600);
    
  //pin_relais {2;3;4;5;6;7;8}
  pinMode(pinRelais1, OUTPUT) ;  // Activer le relais KA1
  pinMode(pinRelais2, OUTPUT) ;  // Activer le relais KA2
  pinMode(pinRelais3, OUTPUT) ;  // Activer le relais KA3
  pinMode(pinRelais4, OUTPUT) ;  // Activer le relais KA4
  pinMode(pinRelais5, OUTPUT) ;  // Activer le relais KA5
  pinMode(pinRelais6, OUTPUT) ;  // Activer le relais KA6
  pinMode(pinRelais7, OUTPUT) ;  // Activer le relais KA7
  pinMode(pinRelais8, OUTPUT) ;  // Activer le relais KA8
  pinMode(pinRelais9, OUTPUT) ;  // Activer le relais KA9
  pinMode(pinRelais10, OUTPUT) ; // Activer le relais KA10

valeurPuissance = Tension*valeurCourant;


coeffTension = TensionMax / 1023;
}


  
void loop()
{
   
  //lecture de la valeur de la tension
  Tension = analogRead(A0) * coeffTension;
  
  //lecture de la valeur du courant
  valeurCourant = analogRead(A1);
      
      
  // calcul de la puissance
  valeurPuissance = Tension*valeurCourant;
  
  while ( Tension >=  TensionMin)
  
  {
    
  //Activation des relais 
  if  (valeurPuissance >= puissance_1 ) 
    {  
      digitalWrite(pinRelais1, HIGH);
    }
  else 
    {
      digitalWrite(pinRelais1, LOW);
    }
      
  if (valeurPuissance >= puissance_2) 
    {
      digitalWrite(pinRelais2, HIGH);
    }
  else 
    {
      digitalWrite(pinRelais2, LOW);
    }
      
  if  (valeurPuissance >= puissance_3)
    {
      digitalWrite(pinRelais3, HIGH);
    }
  else 
    {
      digitalWrite(pinRelais3, LOW);
    
    }
    
  if  (valeurPuissance >= puissance_4) 
    {
      digitalWrite(pinRelais4, HIGH);
    }
    
  else
    { 
  
     digitalWrite(pinRelais4, LOW);
    }

    
    
  if  (valeurPuissance >= puissance_5)
    {
     digitalWrite(pinRelais5, HIGH);
    }
  else 
    {
     digitalWrite(pinRelais5, LOW);
    }

    
    if (valeurPuissance >= puissance_6) 
    {
      digitalWrite(pinRelais7, HIGH);
      delay(1000);
      
      digitalWrite(pinRelais8, HIGH);
      delay(1000);
      
      digitalWrite(pinRelais9, HIGH);
      delay(1000);
      
      digitalWrite(pinRelais10, HIGH);
      delay(1000);
    }
  else 
    {
      digitalWrite(pinRelais7, LOW);

      digitalWrite(pinRelais8, LOW);

      digitalWrite(pinRelais9, LOW);

      digitalWrite(pinRelais10, LOW);
    }
  }
 } // fin du loop

Je mets l’erreur en pièce jointe à ce poste sous forme de fichier texte.

Si quelqu’un parvient à m’aider ce serait super !

Merci d’avance.

Message_d’erreur.txt (9.39 KB)

On dirait que vous compilez deux sketchs en un

Il dit par exemple:

F:\NOM\APRES1\sketch_jan09a\sketch_jan09a modifé.ino:3:5: error: redefinition of 'int pinMesureTension'
F:\NOM\APRES1\sketch_jan09a\sketch_jan09a.ino:3:5: note: 'int pinMesureTension' previously defined here

Auriez vous par hasard dans la même fenêtre de l’IDE 2 onglets, un qui s’appelle sketch_jan09a modifé et un qui s’appelle sketch_jan09a ?

(Et Ne mettez pas d’espace ni d’accents dans les noms de fichiers)

Oui mais je comprends pas pourquoi parce que le code il me semble que il est bon

Le code est OK mais si vous avez 2 onglets dans la MÊME fenêtre vous dites en fait à l’IDE que ce sont 2 bouts de programme à mettre ensemble donc il voit deux fois la loop() le setup() et toutes vos variables et c’est donc pas bon.

Copier le code, mettez le dans une NOUVELLE fenêtre et compilez ça.

Vous ne pouvez pas avoir dans le même répertoire deux sketchs non plus. sinon quand vous ouvrez un sketch, il prend celui qui porte le nom du répertoire comme sketch principal et ouvre tout le reste qui ressemble à du code et considère que ce sont des bouts de code à aussi ajouter à votre projet —> un sketch = un répertoire (dossier)

Merci beaucoup pour votre aide, c'est résolu et je m'excuse si l'erreur est un peu bête en fait j'avais pas fait attention à ça.

Pas de soucis - bonne continuation