Un seul bouton plusieurs variables


bonjour,

j'ai une question qui concerne l'élaboration d'un menu et je n'ai pas trouvé d'information ce sujet.

peut on utiliser un même bouton pour contrôler plusieurs variables je m'explique avec ce code simplifié schématisé :
code: [select]
//utilisation pour un menu

void menu(){
 
 //appuyer sur le bouton pour incrementer le menu
if (encodeur = tourné) {
   sousmenu++;
   else {
   sousmenu--;
   }
 }
   
   //en fonction de la valeur de "sousmenu" aller dans une fonction
   switch (sousmenu) {    
     case 1 :
       if (poussoir = appuyé) {
       fonction1(); //appuyer pour valider son choix
       }
       break;
     case 2 :
       if (poussoir = appuyé) {
       fonction2(); //appuyer pour valider son choix
       }
       break;
   }
}


void fonction1(){
 if (encodeur = tourné) {
   reglage++;
   else {
   reglage--;
   }
   switch (reglage) {    
     case 1 :
       if (poussoir = appuyé) {
       fonction3(); //appuyer pour valider son choix
       }
       break;
     case 2 :
       if (poussoir = appuyé) {
       fonction4(); //appuyer pour valider son choix
       }
       break;

code: [select]
  if (encodeur = tourné) {

cette ligne ne teste pas l'égalité entre encodeur et tourné
il faut écrire
code: [select]
  if (encodeur == tourné) {


maintenant concernant ta question principale. tu peux parfaitement utiliser un seul bouton pour gérer plusieurs fonctionnalités. c'est à toi de prévoir l'algorithmie en conséquence. en particulier, si un même état est utilisé dans des menus en cascade il faut faire attention à ne pas passer à travers tous les niveaux de sous-menus d'un coup. typiquement, lorsqu'on rentre dans un sous-menu, attendre le relâché du bouton avant d'aller plus avant dans le nouveau menu sinon tu risques de faire une sélection non désirée.


Arduino Forum > International > Français (Moderators: jfs, Snootlab) > Un seul bouton plusieurs variables


arduino

Comments

Popular posts from this blog

Convierte tu Raspberry en un NAS. Firmware fvdw-sl 15.3 - Raspberry Pi Forums

How to format a Get Request

avrdude: verification error, first mismatch at byte 0x0000 0x0c != 0x62