Extraire une information d'une variable dans un menu pour ef

Fermé
rm - Modifié le 9 avril 2022 à 23:29
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 10 avril 2022 à 23:14
Bonjour,
je suis débutant en c++ et j'aimerais extraire une valeur que j'ai mise dans une variable "numéro" où on peut choisir le numéro 1, 2 ou 3 grâce à un bouton poussoir.
Je fais valider le choix dans un deuxième menu de l'écran LCD à l'aide d'un autre bouton poussoir.
Le problème étant que je voudrais prendre le chiffre dans la variable "numéro" donc soit 1,2, 3 une fois qu'il a été validé et faire allumer 1 LED différente en fonction du numéro.

Je ne sais pas si cela est comprensible car moi je travaille dessus mais j'aimerais bien de l'aide.
merci ; )

voici un bout du code

case 1:
// message pour selectionner
    lcd.setCursor(0,0);    
    lcd.print("Selectionner un");
    lcd.setCursor(0,1);
    lcd.print("numero:");
    lcd.setCursor(9,1);
   {numero ++;}
   delay(100);
 
 //permet de ne pas dépasser 3 
  if(numero >3)
     {numero =1;}
     {lcd.print(numero);}
    break;
 
  case 2:
//message validation 
    lcd.setCursor(0, 0);
    lcd.print("vous avez fais");
    lcd.setCursor(0, 1);
    lcd.print("le choix:");
    lcd.setCursor(14, 1);
    lcd.print(numero);
   break;}
 
// partie qui ne fonctionne pas  
if(numero =1)
   {digitalWrite(led1, HIGH);}
 
 if(numero  =2)
   {digitalWrite(led2,HIGH);}
 
 if(numero =3)
   {digitalWrite(led3, HIGH);} 
  }




Message modifié par la modération
Pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE
A voir également:

2 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 330
10 avril 2022 à 00:53
Dans les langages type C (C, C++, C#, Java, PHP, ...) :
Un simple = est une assignation
2 == est un test d'égalité

Donc dans tes tests, tu vérifie si tu peux assigner la valeur à ta variable.

Pour éviter ce type d'erreur (courante, normalement, ça donne un warning) il peut être utile d'inverser le test :
(Variable = 1)
passe alors que
(1 = Variable)
Remonte une erreur et t'indique qu'il te faut un double = pour tester.
0
Merci beaucoup ça fonctionne !! c'est souvent sur des erreurs bêtes qu'on reste bloqué.
J'ai une autre petite question comment on avance d'un menu automatiquement à partir d'un "delay" . En mode afficher le menu 1 pendant 2 seconde et passer au menu 2.
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 330
10 avril 2022 à 23:14
En faisant des pauses (il devrait y avoir une fonction de temps à dispo).
Après, je ne peux pas vraiment répondre, ça sort de mes compétences et dépend de ta plateforme de dev.
1