Arduino UNO R4 - Bouton - anti-rebond
Lors de la programmation de l'Arduino Uno R4 pour détecter un événement d'appui sur un bouton, vous pouvez constater qu'une seule pression est détectée plusieurs fois. Cela se produit car, en raison de facteurs mécaniques, le bouton ou l'interrupteur peut basculer rapidement entre bas et haut à plusieurs reprises. Cela s'appelle le rebondissement. Le rebondissement peut faire en sorte qu'une seule pression sur le bouton soit détectée comme plusieurs pressions, ce qui peut provoquer des erreurs dans certaines applications. Ce tutoriel explique comment résoudre ce problème, un processus connu sous le nom d'anti-rebond du bouton.

Préparation du matériel
Ou vous pouvez acheter les kits suivants:
1 | × | Kit de Démarrage DIYables STEM V4 IoT (Arduino inclus) | |
1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du bouton
Apprenez-en davantage sur les boutons (répartition des broches, fonctionnement, programmation) dans les tutoriels suivants si vous n’êtes pas familier avec eux :
Diagramme de câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Examinons et comparons le code Arduino UNO R4 sans et avec anti-rebond, et observons leurs comportements.
Arduino Uno R4 - Bouton sans anti-rebond
Avant d'apprendre le debouncing, regardons le code sans lui et voyons comment il se comporte.
Étapes rapides
Suivez ces instructions étape par étape :
- Si c'est votre première fois que vous utilisez l'Arduino Uno R4 WiFi/Minima, reportez-vous au tutoriel sur Arduino UNO R4 - Installation du logiciel..
- Connectez les composants selon le schéma fourni.
- Connectez la carte Arduino Uno R4 à votre ordinateur à l'aide d'un câble USB.
- Lancez l'IDE Arduino sur votre ordinateur.
- Sélectionnez la carte Arduino Uno R4 appropriée (par exemple, Arduino Uno R4 WiFi) et le port COM.
- Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
- Cliquez sur le bouton Upload dans l'IDE Arduino pour envoyer le code à l'Arduino UNO R4.

- Ouvrez le moniteur série.
- Appuyez et maintenez le bouton enfoncé pendant quelques secondes, puis relâchez-le.
- Vérifiez le moniteur série pour le résultat.
Comme vous pouvez le voir, vous avez appuyé sur le bouton et l'avez relâché une seule fois. Cependant, l'Arduino le reconnaît comme plusieurs appuis et relâchements.
※ Note:
La valeur de DEBOUNCE_TIME varie selon les applications. Chaque application pourrait utiliser une valeur unique.
Arduino Uno R4 - Bouton avec anti-rebond
Étapes rapides
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino.
- Appuyez sur le bouton Upload dans l'IDE Arduino pour envoyer le code à l'Arduino UNO R4.
- Ouvrez le moniteur série.
- Maintenez le bouton enfoncé pendant quelques secondes avant de le relâcher.
- Consultez le moniteur série.
Comme vous pouvez le constater, vous avez appuyé et relâché le bouton une fois. L'Arduino le détecte correctement comme un seul appui et relâchement, éliminant tout rebondissement.
Nous l'avons rendu simple : code d'anti-rebond du bouton Arduino UNO R4 utilisant une bibliothèque
Nous avons créé une solution plus simple pour les débutants qui utilisent de nombreux boutons en créant une bibliothèque nommée ezButton. Vous pouvez en savoir plus sur la bibliothèque ezButton ici.
Voyons quelques codes d'exemple.
Code d'anti-rebond du bouton pour Arduino UNO R4 - un seul bouton
Code d'anti-rebond pour boutons multiples sur Arduino UNO R4
Appliquons le filtrage anti-rebond pour trois boutons. Voici le schéma de câblage entre l'Arduino UNO R4 et les trois boutons :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Voir Comment alimenter l'Arduino UNO R4..