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");
}
}
La vie, c'est comme une une bicyclette, il faut avancer pour ne pas perdre l'équilibre.
× 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.