Message d'erreur sur IF

francky
mar, 04/05/2016 - 22:06
Bonjour,
Je m'amuse a faire une jauge avec 5 LEDS et un Potentiomètre. Quand je tourne le potentiomètre, je veux que les leds s'allume ou s'eteigne suivant la valeur du potentiomètre.
Voila le code
long PortLed1 = 6;
long PortLed2 = 5;
long PortLed3 = 4;
long PortLed4 = 3;
long PortLed5 = 2;
long Potentiometre = A0;
long ValeurPoten;void setup() {
// put your setup code here, to run once:
pinMode(PortLed1,OUTPUT); //led verte 1
pinMode(PortLed2,OUTPUT); //led verte 2
pinMode(PortLed3,OUTPUT); //led verte 3
pinMode(PortLed4,OUTPUT); //led verte 4
pinMode(PortLed5,OUTPUT); //led rouge
Serial.begin(9600);
}void loop() {
//Valeur du potentiometre
ValeurPoten = analogRead(Potentiometre);
delay(1);
Serial.println(ValeurPoten);
if (ValeurPoten > 1023*0.80) {
//Entre 100 et 80
digitalWrite(PortLed1,HIGH);
digitalWrite(PortLed2,HIGH);
digitalWrite(PortLed3,HIGH);
digitalWrite(PortLed4,HIGH);
digitalWrite(PortLed5,HIGH);
}else if (ValeurPoten <= 1023*0.80 && ValeurPoten > 1023*0.60 ) {
//Entre 80 et 60
digitalWrite(PortLed1,LOW);
digitalWrite(PortLed2,HIGH);
digitalWrite(PortLed3,HIGH);
digitalWrite(PortLed4,HIGH);
digitalWrite(PortLed5,HIGH);
}else if (ValeurPoten <= 1023*0.60 && ValeurPoten > 1023*0.40){
// entre 60 et 40
digitalWrite(PortLed1,LOW);
digitalWrite(PortLed2,LOW);
digitalWrite(PortLed3,HIGH);
digitalWrite(PortLed4,HIGH);
digitalWrite(PortLed5,HIGH);
}
}
Quand je compile j'ai le message d'erreur suivant
Arduino : 1.6.8 (Windows XP), Carte : "Arduino/Genuino Uno"
collect2.exe: error: ld returned 5 exit status
exit status 1
Error compiling for board Arduino/Genuino Uno.Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.
Je ne comprend pas l'erreur.
Le message se fait sur la compilation du code. Cela ne vient pas de la carte.
Merci d'avance pour votre aide.
Francky
fram
mer, 04/06/2016 - 22:09
Bonsoir Francky et bienvenue sur le forum.
Première "mauvaise nouvelle", je n'ai aucun problème à la compilation de ton code avec l'IDE 1.6.7 sous Lubuntu...
Bon, je n'ai comme solution que te proposer quelques légères modifications:
Dans le détail:
- j'ai remplacé tes déclarations long en int, les entiers étant nettement inférieurs à 32 767, tu gagnera en espace mémoire (ouais, bon, d'accords, 1% tout de même !),
- j'ai parenthésé tes tests pour lever toute ambiguité sur la comparaison de ValeurPotent (entier) avec un calcul incluant un décimal (0.40, 0.60...).
Dit moi que ça marche ;-P
Fram
francky
jeu, 04/07/2016 - 12:35
Bonjour,
J'ai fais les petites modifs et j'ai toujours le même soucis. Apparamment ça vient de windows et peut être des logiciels malveillants. C'est un PC que j'ai récupéré et qui a encore un XP, sans antivirus.
Je vais en profiter pour faire le grand pas vers le coté obscur Linuxien et installer sur un autre PC UBUNTU.
- UBUNTU 15.10 :téléchargé et installé.
-Arduino : on va voir ce soir.
Fram, as tu des conseils pour ce changement ??
Merci
Francky
Alex
mar, 04/12/2016 - 21:33
Salut,
Je confirme aucun problème à la compilation du code.
Windows 7 et Arduino 1.6.7.
francky
mar, 04/26/2016 - 14:56
Bonjour,
Je l'ai compilé sur un autre PC et tout ce passe bien. C'est bien le Pc qui merde.
Merci de votre expertise.
Francky