Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2012-05-04 17:02:43 Appeler une fonction juste une fois

Taahl
membre
Date d'inscription: 2011-09-19
Messages: 28

Appeler une fonction juste une fois



Bonjour à tous,

Mon problème est sans doute très simple mais je n'arrive pas à le solutionner. Je récupère des valeurs Arduino dans Processing avec une fonction qui écoute la carte :

void sensorAlert(){
  int sensorValue = arduino.analogRead(0);
  if(sensorValue > 600){
    flip = true;
  }
  else{
    flip = false;
  }
}

Lorsque mon interrupteur est true j'appelle une autre fonction. Le problème est que cette fonction est appelée tant que l'interrupteur est sur true justement, et je souhaiterai n'appeler la fonction uniquement au changement d'état de l'interrupteur. A chaque fois que l'interrupteur passe à true, la fonction ne serait appelée qu'une seule fois et si l'interrupteur passe à false, la même fonction n'est également appelée qu'une seule fois.

Mon problème à l'heure actuelle et que la fonction est appelée tant que l'interrupteur est sur true, donc elle tourne en boucle...

Merci pour vos éventuelles pistes et bon week-end !

Hors ligne

 

#2 2012-05-10 21:04:41 Re : Appeler une fonction juste une fois

Makio135
membre
Lieu: Lyon
Date d'inscription: 2010-11-11
Messages: 89
Site web

Re: Appeler une fonction juste une fois



tu peux créer un second boolean:

if(flip == true){
  if(once == true){
    mafonction();
    once = false;
  }
}
else{
  if(once == false){
    mafonction();
    once=true;
  }
}

Dernière modification par Makio135 (2012-05-10 21:05:04)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024