Raspberry Pi Pico - Bouton - Anti-rebond
Lorsque vous programmez le Raspberry Pi Pico pour détecter quand un bouton est pressé, vous pourriez constater qu'une seule pression est lue plusieurs fois. Cela est dû au fait que le bouton peut osciller rapidement entre ON et OFF en raison de sa conception. Ce phénomène, appelé rebondissement, peut donner l'impression que le bouton a été pressé plusieurs fois, ce qui peut entraîner des erreurs dans certains programmes. Ce guide montre comment résoudre ce problème, une méthode appelée anti-rebond du bouton.

Nous examinerons cinq exemples différents ci-dessous et expliquerons les différences entre eux :
- Raspberry Pi Pico sans anti-rebond d'un bouton.
- Le Raspberry Pi Pico utilise la fonction utime.sleep_ms() pour effectuer l'anti-rebond d'un bouton.
- Le Raspberry Pi Pico utilise la méthode non bloquante pour effectuer l'anti-rebond d'un bouton.
- Le Raspberry Pi Pico utilise la bibliothèque DIYables-MicroPython-Button pour gérer l'anti-rebond d'un bouton.
- Le Raspberry Pi Pico utilise la bibliothèque DIYables-MicroPython-Button pour gérer l'anti-rebond de trois boutons.
Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du bouton
Découvrez comment fonctionnent les boutons, y compris leur disposition, leur utilisation et comment les programmer, en consultant ces guides.
Diagramme de câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Regardons et comparons le code du Raspberry Pi Pico sans et avec anti-rebond, et voyons comment ils se comportent.
Raspberry Pi Pico - Bouton sans anti-rebond
Examinons d'abord le code sans debounce pour comprendre comment il fonctionne.
Étapes rapides
Veuillez suivre ces instructions étape par étape :
- Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
- Assurez-vous que le firmware MicroPython est installé sur votre Raspberry Pi Pico.
- Si c'est la première fois que vous utilisez un Raspberry Pi Pico, consultez le tutoriel Raspberry Pi Pico - Premiers pas. pour des instructions détaillées.
- Connectez le bouton au Raspberry Pi Pico selon le schéma fourni.
- Connectez le Raspberry Pi Pico à votre ordinateur à l'aide d'un câble USB.
- Lancez l'IDE Thonny sur votre ordinateur.
- Dans l'IDE Thonny, sélectionnez l'Interpréteur MicroPython (Raspberry Pi Pico) en naviguant vers Outils Options.
- Dans l'onglet Interpréteur, sélectionnez MicroPython (Raspberry Pi Pico) dans le menu déroulant.
- Assurez-vous que le port correct est sélectionné. L'IDE Thonny devrait détecter automatiquement le port, mais vous devrez peut-être le sélectionner manuellement (par exemple, COM3 sous Windows ou /dev/ttyACM0 sous Linux).
- Copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Thonny.
- Enregistrez le script sur votre Raspberry Pi Pico en :
- Cliquez sur le bouton Enregistrer, ou utilisez les touches Ctrl+S.
- Dans la boîte de dialogue d'enregistrement, vous verrez deux sections : Cet ordinateur et Raspberry Pi Pico. Sélectionnez Raspberry Pi Pico.
- Enregistrez le fichier sous main.py.
- Cliquez sur le bouton Vert Exécuter (ou appuyez sur F5) pour exécuter le script. Le script s'exécutera.
- Maintenez le bouton enfoncé pendant quelques secondes, puis relâchez-le.
- Vérifiez le message dans le Shell en bas de Thonny.
Vous avez appuyé et relâché le bouton une seule fois, mais le Raspberry Pi Pico pense que cela a été fait plusieurs fois.
Raspberry Pi Pico - Bouton avec anti-rebond
Étapes rapides
- Copiez le code MicroPython ci-dessus et collez-le dans l'éditeur de Thonny.
- Enregistrez le code sur votre Raspberry Pi Pico.
- Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
- Appuyez sur le bouton pendant quelques secondes, puis relâchez-le.
- Consultez la sortie dans le Shell en bas de Thonny.
Vous avez cliqué sur le bouton une fois, et le Raspberry Pi Pico l'a reconnu avec précision comme une seule pression et un relâchement, sans aucun bruit supplémentaire.
※ Note:
Différentes applications utilisent différentes valeurs DEBOUNCE_TIME. Chaque application peut avoir une valeur spécifique.
Le code ci-dessus utilise utime.sleep_ms() pour effectuer l'anti-rebond du bouton. Cette fonction bloque le Raspberry Pico et l’empêche d’effectuer d’autres tâches pendant la durée du sommeil. Ensuite, nous examinerons un autre exemple qui montre comment réaliser l’anti-rebond sans bloquer les autres tâches.
Raspberry Pi Pico - Bouton avec anti-rebond non bloquant
Raspberry Pi Pico - Anti-rebond en utilisant une bibliothèque
Le code d'anti-rebond peut sembler complexe, surtout lorsqu'on utilise plusieurs boutons. Heureusement, il existe une méthode plus simple pour les débutants qui doivent gérer plusieurs boutons. Cette méthode utilise une bibliothèque appelée DIYables_MicroPython_Button. Vous pouvez en savoir plus sur la bibliothèque DIYables_MicroPython_Button ici.
Voyons quelques exemples de codes.
Code d'anti-rebond du bouton Raspberry Pi Pico pour un seul bouton
Étapes rapides
- Dans l’IDE Thonny, accédez à Outils Gérer les paquets.
- Recherchez “DIYables-MicroPython-Button”, puis trouvez la bibliothèque Button créée par DIYables.
- Cliquez sur DIYables-MicroPython-Button, puis cliquez sur le bouton Install pour installer la bibliothèque Button.

- Copier le code ci-dessus et le coller dans l'éditeur de l'IDE Thonny.
- Enregistrez le script sur votre Raspberry Pi Pico.
- Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script. Le script s'exécutera.
- Appuyez sur le bouton.
- Vérifiez le message dans le Shell en bas de Thonny.
Code d'anti-rebond des boutons du Raspberry Pi Pico pour plusieurs boutons
Mettons en place l’anti-rebond pour trois boutons. Voici le schéma de câblage entre le Raspberry Pi Pico et les trois boutons :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.