Cet article présente le KY-004, un bouton poussoir facile à utiliser.
Dans cette version, on veut qu’un bouton déclenche une seule action lorsqu’on appuie dessus, pas en continu, et sans attendre le relâchement pour déclencher l’action.
Le principe est donc :
Bouton câblé en pull-up :
10On mémorise si le bouton a déjà été pris en compte.
from machine import Pin
import time
bouton = Pin(15, Pin.IN, Pin.PULL_UP)
clic_deja_pris = False
while True:
if bouton.value() == 0 and clic_deja_pris == False:
print("CLICK")
clic_deja_pris = True # empêche les répétitions
time.sleep(0.05) # petit debounce
if bouton.value() == 1:
clic_deja_pris = False # prêt pour le prochain clic
time.sleep(0.01)
clic_deja_pris = False
→ indique si le clic a déjà été déclenché
Appui détecté (value() == 0)
si le clic n’a pas encore été pris :
Bouton relâché (value() == 1)
| Action utilisateur | Résultat |
|---|---|
| Appui bref | 1 clic |
| Bouton maintenu 5 s | 1 clic |
| Appui répété | 1 clic par appui |
| Rebond mécanique | filtré |
aucune notion avancée (temps système, interruptions, FSM)
logique visible et compréhensible
facilement réutilisable dans :
if bouton.value() == 0 and not clic_deja_pris:
action()
clic_deja_pris = True
Un clic est un événement unique, pas un état qui dure.