Le passage de l'état haut à l’état bas, peut donc être … Les boutons ne sont pas des systèmes mécaniques parfaits. Expliquer le principe de fonctionnement du montage anti-rebonds à bascule RS à NAND. Figure 4: Schéma électrique d’un bouton-poussoir relié à la broche D4 avec résistance interne pull-up et une LED connectée connectée à la broche D7 . Commentaires 5.1. anti rebond ----- Bonjour je souhaterais avoir un ordre de grandeur du temps des rebond pour un bouton poussoir afin de bien déterminer le filtrage à mettre derrière pour éliminer le phénomène. C'est en faisant des erreurs, que l'on apprend le mieux !!! et ré-vérifier l’état haut pour valider l'action a faire.// On marque une pause pour attendre la stabilisation à l'état haut.// Je met les accolades par reflex même si avec une seule action dans le "if" je pouvais m'en passé.// Si après la pause l’état est toujours à 1 (Vcc) alors valide notre action , et on peut l’exécuter.// On marque une pause pour attendre la stabilisation à l'état haut// Je met les accolades par reflex même si avec une seule action dans le "if" je pouvais m'en passé.// Si après la pause l’état est toujours à 1 (Vcc) alors valide notre action , et on peut l’exécuter.// Ici notre boucle qui tourne sur elle même, tant que le BP est appuyé il faut donc obligatoirement relâché le BP pour sortir .// On marque une pause pour attendre la stabilisation à l'état bas. Figure 3: un bouton-poussoir relié à la broche D4 avec la résistance interne de pull-up et une LED connectée à D7. Alors c'est qu'il y a front descendant donc un appui est validé// Si notre BP n'avait pas été appuyé donc état_Bp =0 , nous aurions pas incrémenter notre chiffre.// Si notre BP à été appuyé mais que son état actuel est toujours appuyé , nous aurions pas incrémenter notre chiffre.// Résultat on as bien détecter un front montant ( BP appuyé) et un front descendant (BP relâché)// Ici on remet notre flag à 0 pour ré-armer notre détection de front montant// On fait une pause pour le éviter les rebonds au relâchement// Nous arrivons à la parenthèse de la boucle infini, donc on repart au début et ainsi de suite .// Fin de notre fonction principale //################################# Boucle infinie #########################################// ( nom du port, N° broche du BP, temporisation anti rebond (10ms), état du BP (0 ou 1) )// On met notre flag à 1, pour signaler que notre Bp à été appuyé// comparaison de notre ancien état(état BP) , à l’état actuel avec tempo ( fonction "button")// Ici on remet notre flag à 0 pour ré-armer notre détection de front montant// Nous arrivons à la parenthèse de la boucle infini, donc on repart au début et ainsi de suite .//################################# Boucle infinie #########################################// Si il est toujours appuyé ce n'est pas un rebond// Ici on boucle tant qu'on a pas relâché le BP.Delay_us Mais je n'aurai plus d'affichage // Comme ceci bloque, alors j'ai mis l’affichage dans la boucle pour la démo !// Nous arrivons à la parenthèse de la boucle infini, donc on repart au début et ainsi de suite .// Fin de notre fonction principale En prenant un temps suffisamment grand, la mesure devient fiable et il n’y a qu’un changement d’état par pression.Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Nous allons lire l’entrée digitale et valider son état en fonction de l’état précédent et d’un délai anti-rebond. Ok mazertoc, j'ai apporté la modification pour montrer la pull-up et la pull-down .C'est en faisant des erreurs, que l'on apprend le mieux !!! Du coup, lorsqu’un appui est fait dessus, le signal ne passe … On appelle phénomène rebond , le fait que le contact d'un BP n'est pas franc, de part l’élasticité des matériaux utilisés et de l'architecture mécanique , induisant plusieurs pic de tension, très rapide. Personnellement je suis pour un traitement anti rebond soft (discussion récurrente sur le forum).