Pour une variable "A" ,
Led 1 - si A!=0 ou A!= 29 ou A!=57 alors led1 clignote , si non led 1 éteinte
Led 2 - si A=29 alors led 2 allumée, si non led 2 éteinte
Led 3 - si A=57 alors led 3 allumée, si non led 3 éteinte
Ce que j'ai écrit , a mon avis , c'est pas top
Ps : 0,29,57 correspondent à des positions, 0 = position 1 , vers 29=position 2 ,vers 57 position =3 et vice et versa
La compiltation fonctionne mais qu'en pensez vous?
const int led1= 2;
const int led2= 3;
const int led3= 4;
void setup()
{
pinMode(2, OUTPUT); // Led éteinte en position 0 et clignotante si A != 0,29,59
pinMode(3, OUTPUT); // Volet sortis en position 1 led allumé si A = 29
pinMode(4, OUTPUT); // Volets sortis en position 2 , led allumée si A = 57
Serial.begin(115200);
}
void loop() {
if (led1 != 0 || led1 !=29 || led1 != 57);
{
digitalWrite(led1,HIGH); // allume la led1
delay(100); // pause
digitalWrite(led1,LOW); // éteint la led1
delay (100);}
if (led2 !=29)
digitalWrite (led2,LOW);// led reste éteinte
else
digitalWrite (led2,HIGH);//led reste allumée
if (led3 !=57)
digitalWrite (led3,LOW);// led reste éteinte
else
digitalWrite (led3,HIGH);//led reste allumée
}
soran:
La compiltation fonctionne mais qu'en pensez vous?
const int led1= 2;
const int led2= 3;
const int led3= 4;
void setup()
{
pinMode(2, OUTPUT); // Led éteinte en position 0 et clignotante si A != 0,29,59
pinMode(3, OUTPUT); // Volet sortis en position 1 led allumé si A = 29
pinMode(4, OUTPUT); // Volets sortis en position 2 , led allumée si A = 57
Serial.begin(115200);
}
void loop() {
if (led1 != 0 || led1 !=29 || led1 != 57);
{
digitalWrite(led1,HIGH); // allume la led1
delay(100); // pause
digitalWrite(led1,LOW); // éteint la led1
delay (100);}
if (led2 !=29)
digitalWrite (led2,LOW);// led reste éteinte
else
digitalWrite (led2,HIGH);//led reste allumée
if (led3 !=57)
digitalWrite (led3,LOW);// led reste éteinte
else
digitalWrite (led3,HIGH);//led reste allumée
}
Il y a quand meme un gros problème dans ce bout de code, je n'ai absolument pas compris ce que tu voulais faire mais là tu definis les variables led1 led2 et led3 comme des constantes puis tu essaies de tester leurs valeurs ?
Tu parles aussi de "A" qui n’apparaît nulle part dans ce bout de code, honnetement j'ai pas du tout compris comment tu voulais faire changer tes leds sachant qu'il n'y a aucune entrée, ni via serial ni via un I/O port.
(je passe sur le point virgule qui rend le test inopérant)
soit :
(led1 != 0 || led1 !=29 || led1 != 57)
l'application du théorème de De Morgan permet de rendre l'interprétation plus facile:
!(led1 == 0 && led1 ==29 && led1 == 57)
On voit que les 3 égalités ne pourront jamais être vrais en même temps et par conséquent le résultats des 3 ET sera toujours faux et la proposition finale sera toujours vrai
Comme un con j'ai répondu à son MP, maintenant je sais je ne répondrais plus aux question directement liés à un post, il devrait poster les question réponses ici
Enfin comme souvent, c'est du copier coller mal fait, il a supprimé la partie qui récupérait la valeur venant du serial qu'il veut tester
Viproz:
Comme un con j'ai répondu à son MP, maintenant je sais je ne répondrais plus aux question directement liés à un post, il devrait poster les question réponses ici
Enfin comme souvent, c'est du copier coller mal fait, il a supprimé la partie qui récupérait la valeur venant du serial qu'il veut tester
Effectivement, j'ai déjà rencontré le problème.
Personnellement, je demande à la personne de poster sa question sur le forum. C'est le principe du forum d'exposer ses problèmes pour que tous le monde puisse profiter des réponses et aussi de pouvoir profiter de plusieurs réponses car on est pas parfait et on peut des fois donner des réponses erronées ou moins pertinentes.
soran: Comme un con j'ai répondu à son MP, maintenant je sais je ne répondrais plus aux question directement liés à un post, il devrait poster les question réponses ici
Je dois avouer mon incompréhension pour cette réponse "énervée" .
Je t'ai effectivement contacter en MP , pensant que serait mieux , mais bon ce n'est pas le cas , désolé.
Tu as eu la gentillesse de me répondre,et je t'ai remercié pour cela. Tu oublies au passage de dire que je comprennais parfaitement que ma demande soit confuse et que tu ne souhaiterai pas t'y attarder.
Aider une personne qui débute demande patiente , indulgence et pédagogie, si ce n'est pas dans tes compétences , alors ne le fait pas et crois moi personne ne t'en voudras.Tu as peut etre eu la possibilité d'apprendre via un cursus scolaire ou professionel , c'est à dire avec la possibilité d'échanger verbalement , poser une question, pouvoir dire ,là je n'ai pas compris...comment tu fais pour ça ? etc.....c'est énorme comme avantage.Moi , il n'en est rien, des tutos par ci par là , faut traduire la plupart (pas simple ) , et les forums c'est mieux que rien mais on en arrive très vite au limite de système. Tu en as la preuve ici.
Signé:
Edouard Molinao .1973 8)
Le comme un con n'est pas à prendre pour toi, il est pour moi, j'ai été con de réponde à un MP vu que quel est l’intérêt de s'adresser à une personne seulement quand ça peut profiter à tout le monde ? En plus comme le dit fdufnews tout le monde fait des erreurs
La seule chose qui me chagrine dans tout ceci, c'est que tu attends qu'on te donne le code fini, par exemple pleins de remarques ont été faites sur ton if qui contient 3 ou, tu n'as pas non plus essayer de corriger ce que je te disais, tester une constante définie en global au début n'a aucun sens, vu que c'est une constante elle ne changera jamais
J'ai posté ici mon analyse finale sur le principal problème en m'adressant aux autre, les problèmes de copier coller sont TRÈS courant et j'ai développé en MP en te disant ce que tu avais supprimé qui permettais de récupérer la valeur qui suit <G
Il n'y a pas de raison pour que tu n'y arrives pas. Il faut y aller progressivement en exploitant les exemples livrés avec l'IDE Arduino et en les modifiants petit à petit.
Ensuite quand tu te lances, il faut écrire des petits morceaux de programmes les tester séparément et les assembler ensuite.
Et surtout essayer de comprendre ce que tu fais.