Partage
  • Partager sur Facebook
  • Partager sur Twitter

bouton poussoir arduino

    1 janvier 2019 à 19:56:40

    Bonjour et bonne année 2019 a tous!!

    Voici de retour sur le forum d'arduino avec un probleme de bouton pousoir. En effet, j'ai un code qui permet de gerer les appuis multiples sur un Button mais il manque une amelioration concernant les rebonds généres par les pieces metaliques de BP. Voici le code que j'utilise avec un petit delay de 50 ms pour eliminer les rebons, sauf que je ne veux pas mettre le programme en pause. Donc, je sais que je dois utiliser la fonction millis mais je ne sais pas ou et comment. Merci par avance pour vos réponses.

    const unsigned char BP = 22;	// Bouton poussoir: BP
    boolean test = false;	        // Var de test BP
    
    void setup()
    {
        Serial.begin(9600);		
        pinMode(BP, INPUT_PULLUP);
    }
    
    
    
    void loop()
    {
       bool etatBP = digitalRead(BP);    // lecture si appui
        Serial.print(etatBP);   
        Serial.println(test);
        delay(50);                 // sert a eliminer la prise en compte des rebonds
    
       if (etatBP != test)	// test de diference : 01 ou 10
       {
    
       	  // La ligne suivante evite l'execution de if precedent si le BP ne change pas son etat
       	  test = etatBP;           
         // !test correspond à pull-up et test a pull-down
    	   if (!test)	
    	         Serial.println("BP appuye");
    	   else
    	   	 Serial.println("BP relache"); 
       }
    }
    



    • Partager sur Facebook
    • Partager sur Twitter
    La vie, c'est comme une une bicyclette, il faut avancer pour ne pas perdre l'équilibre.
      3 janvier 2019 à 13:44:03

      Quand le bouton change d'état, il te faut sauvegarder la valeur de millis dans une variable.

      Tu peux ensuite utiliser cette variable pour faire des comparaison ;)

      Si la valeur actuelle de millis moins cette valeur sauvegardée est inférieur à 50, alors le bouton a changé il y a peu donc il faut ignorer la valeur.

      • Partager sur Facebook
      • Partager sur Twitter

      bouton poussoir arduino

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown