Problème d'incrémentation

Bonjour tous le monde !
J’ai en ma possession un arLCD (écran tactile plus carte arduino au dos)
J’ai un problème lorsque que j’incrémente sur mon écran tactile, je souhaite incrémenter en pas de 5 en 5. Cependant lorsque j’appuie sur mon bouton “+” la valeur s’incrémente 2 fois. J’ai réussit a m’en apercevoir grâce a un delay de 200. On voit bien la valeur initiale prend +5 mais reprend directement une seconde fois +5 sans aucune action de ma part.

J’ai isolé la partie qui me pose problème dans mon programme pour vous facilité sa compréhension

#include <ezLCDLib.h>

ezLCD3 lcd;
int touch=0;
int xPos15 = 35;  
int yPos15 = 75; 
int width15 = 50; 
int height15 = 50; 
int radius = 10;  
int alignment = 0;
int option = 1;
int xPos10 = 120; 
int yPos10 = 60;  
int width10 = 80; 
int height10 = 80;
int option1 = 14;
int dp2 = 1;
int digits2 = 3;
int value=190;
int value2;

void setup() {
  lcd.begin( EZM_BAUD_RATE );
  lcd.cls( WHITE, BLACK );
  lcd.font("0");
  lcd.string( 15, "+" ); 
  lcd.button( 15, xPos15, yPos15, width15, height15, option, alignment, radius, 15, 15 );
  lcd.digitalMeter( 14, xPos10, yPos10, width10, height10, option1, value, digits2, dp2, 14);
  lcd.theme( 14, 155, 152, 3, 130, 0, 0, 1, 147, 153, 1 );
  
}

void loop() {
  touch=lcd.wstack(0);
  if (touch==15) {
    value2=value+5;
    value=value2;
    delay(400);
    incremente();
 }
  
}
void incremente(void) {
lcd.begin( EZM_BAUD_RATE );
  lcd.cls( WHITE, BLACK );
  lcd.font("0");
  lcd.string( 15, "+" ); 
  lcd.button( 15, xPos15, yPos15, width15, height15, option, alignment, radius, 15, 15 );
  lcd.digitalMeter( 14, xPos10, yPos10, width10, height10, option1, value, digits2, dp2, 14);
  lcd.theme( 14, 155, 152, 3, 130, 0, 0, 1, 147, 153, 1 );
}

Si quelqu’un pouvez m’expliquer ou est mon erreur je lui en serait reconnaissant ^^

Je ne connais pas ce composant, je vais donc répondre un peu "au hasard", vu ce que je viens de lire sur https://groups.yahoo.com/neo/groups/arLCD/conversations/messages/380 mais ça lancera peut être des pistes qui t'aideront dans le diagnostic. Il y a souvent deux causes possibles à ce genre de problèmes : - entre 2 tours de boucle "loop" le doigt est encore appuyé et le code prend ça pour un nouvel appui. là, ça semble pas être le cas, puisque la fonction wstack à l'air de servir à éviter ça - il peut y avoir un problème de "rebond" : une pression est vue comme plusieurs, avec un delai très court entre les 2 dans ce cas, puisque t'as aucune chance d'appuyer vraiment 2 fois assez vite pour le faire entre 2 tours de boucle, le plus simple et de vider la pile d'évènements dès que t'as lu une valeur. d'après le lien que j'ai cité plus haut, pour ça, tu peux ajouter un wstack(CLEAR) dans le if(touch==15), pour dire que si il y a une pression sur le bouton, on jette tout ce qui suit.

Hope this helps

Sa marche !! :) Un grand merci a toi.