Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Compter le nombre de fois qu'on presse un bouton sous GPIOZERO
#1
Bonsoir, je cherche un exemple de code qui permet de compter le nombre de fois qu'on appuie sur un bouton sous GPIOZERO.
Répondre
#2
Un petit programme de gestion des interruptions
https://raspberrypi.pagesperso-orange.fr.../18-00.htm
Répondre
#3
Merci, mais je ne cherche pas a temporiser, je cherche faire compter le nombre de fois que j'appuie et relâche le bouton, je ne constate pas de parasite lors d'une pression, et je cherche un code en python si possible sous GPIOZERO.
Répondre
#4
Le tuto donné par montotof123 contient aussi un code en python (1.2 Programme en python) qui compte les "évènements".
Python
import RPi.GPIO as GPIO    # utilisation GPIO
import time                       # utilisation time
GPIO.setmode(GPIO.BCM)     # numérotation BCM
GPIO.setup(20, GPIO.IN, pull_up_down=GPIO.PUD_UP)  # GPIO20 en entrée avec résistance pull up 
eventCounter = 0
def my_interrupt(channel):
   global eventCounter
   eventCounter += 1
   print "Nb: ", eventCounter, " temps: ", time.time()
 
GPIO.add_event_detect(20, GPIO.FALLING, callback=my_interrupt)
try: 
   while True:       # Jusqu'à CTRL+C
       pass
finally:              # Bloc de fin aprés CTRL-C
   GPIO.cleanup()    # Nettoyage des GPIO (force les GPIO utilisés en entrée sans résistance)
   print "FIN"


Répondre
#5
Merci a vous 2, mais étant novice, j'aime mieux ce code ci avec time.sleep pour que je comprenne :

Python
#!/usr/bin/python3
# -*- coding: utf-8 -*
 
import RPi.GPIO as GPIO
import time
 
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.IN, pull_up_down=GPIO.PUD_UP)
 
Clic = 0
 
while Clic < 8:
 
    while (GPIO.input(21) == True):
        pass
    Clic=Clic+1
    time.sleep(1)
    print(Clic)
 
GPIO.cleanup()
 
#end


Répondre
#6
En fait, je ne comprends pas trop ce que tu veux.
Tu sembles avoir un script, bien qu'à mon avis il ne compte pas le nombre de fois où tu appuies sur le bouton. Si tu gardes le bouton pressé pendant 8s (enfin, disons plutôt 9), le script aura compté 8 fois une pression sur le bouton.
Répondre
#7
Oui, mais pour l'instant ça me suffit car j'appuie de manière brève, donc ça compte, plus tard j'aurais peut être besoin de l'autre code, merci bien a vous 2 pour le partage.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)

A propos de Communauté francophone RPi

Communauté francophone RPi est un forum d'aide et de partage autour du Raspberry Pi et des micro-ordinateurs.