Utiliser un bouton pour appeler une fonction ?


bonjour à tous.

je fais encore appel à votre savoir pour que vous veniez à mon aide.

j'ai écrit un code qui si il fonctionnait devrait allumer allumer mes leds et ensuite les remettre dans leur état initial via une fonction. voici le code :

code: [select]
const int ledfonction = 2;
const int ledchauffageon = 3;
const int ledventilationon = 4;

const int boutontest = 53;

int etatledchauffageon;
int etatledventilationon;
int etatboutontest;

void setup() {
pinmode(ledfonction, output);
pinmode(ledchauffageon, output);
pinmode(ledventilationon, output);
pinmode(boutontest, input);

digitalwrite(ledfonction, high);
digitalwrite(ledchauffageon, low);
digitalwrite(ledventilationon, low);
digitalwrite(boutontest, high);
}

void loop() {
    if(boutontest == low){ // si le bouton test est pressé
        test_led(); // on exécute la fonction test_led.
    }

}

void test_led() {
  etatledchauffageon = digitalread(ledchauffageon); // récupération de l'etat de la led chauffage (high ou low)
  etatledventilationon = digitalread(ledventilationon); // récupération de l'etat de la led ventilation
  while(boutontest == low){ // tant que le bouton test est appuyé, on boucle
  digitalwrite(ledchauffageon, high); // allumer led chauffage
  digitalwrite(ledventilationon, high); // allumer led ventilation
  }
  digitalwrite(ledchauffageon, etatledchauffageon); // remise au dernier état de la led chauffage d'après la variable
  digitalwrite(ledventilationon, etatledventilationon); // remise au dernier état de la led ventilation d'après la variable
}


mon problème est que ce code, qui me paraît pourtant simple par rapport à ce que j'ai pu voir, ne fonctionne pas et je ne comprends pas pourquoi.

pourriez-vous me dire ce que je ne fais pas correctement pour me permettre d'évoluer ?

merci d'avance.

explication sur la fonction :

on récupère l'état initial des leds dans des variables.

on allume les leds tant que le bouton est appuyé.

une fois que le bouton est relâché, on remet les leds à leur état initial.


Arduino Forum > International > Français (Moderators: jfs, Snootlab) > Utiliser un bouton pour appeler une fonction ?


arduino

Comments