Compteur en python

Bonjour à tous,

J’ai trouvé ce code sur le forum de futura science. Il permet d’incrémenter la valeur d’un compteur lorsque que l’on le GPIO 23 et la masse se touchent.

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
LEDV = 17
LEDR = 24
INPT = 23


GPIO.setup(LEDV, GPIO.OUT)
GPIO.setup(LEDR, GPIO.OUT)
GPIO.setup(INPT, GPIO.IN, pull_up_down=GPIO.PUD_UP)
COMPTEUR = 0

while True:
    while ( GPIO.input( INPT ) == False):
        pass
    GPIO.output(LEDR, True)
    GPIO.output(LEDV, False)
    while ( GPIO.input( INPT ) == True):
        pass
    GPIO.output(LEDR, False)
    GPIO.output(LEDV, True)
    COMPTEUR += 1
    print COMPTEUR

GPIO.cleanup()

J’aimerai ajouter un délai entre les deux car sinon lorsque je j’appuie sur mon bouton, la valeur augmente de 2 ou 3 (je n’ai pas un appui de quelques millisecondes :slight_smile: ).
En fait, je voudrais que l’intervalle minimum entre l’ajout d’une valeur soit de 0.5sec par exemple.

Merci d’avance pour vos réponses,
Bonne journée.

PS: Je suis débutant en python mais j’aime bien comprendre comment fonctionne la solution que vous allez m’apportez !

Bonjour,

Plutôt que d’apporter une solution, je vais te mettre sur la piste. Il faut implémenter un anti-rebond.
Ce bel article devrait éclairer ta lanterne.

Si tu as des problèmes après ça reviens par ici.

Bonne lecture et bonnes bidouilles.
A+

Re bonjour,

Sinon une autre approche serait d’implémenter la bibliotheque GPIO Zero, plus moderne et plus souple à l’utilisation.

https://gpiozero.readthedocs.io/en/stable/index.html

A +

Merci ! Je regarde ça et je te tiens au courant.

Yo @framboise7805

Excellente approche de @jelopo pour te mettre sur la voie de la solution mais avec le mode « didactique ».
Dans la continuité de la démarche :
J’avais un compteur incrémentiel dans un code. Comme toi, obligation de ruser = j’avais ajouté une pause pour éviter les fausses valeurs.
Je n’en dis pas plus et n’utilise pas les termes python utilisés pour te mettre volontairement face à des difficultés car c’est face à l’adversité que la montée en compétence se fera.
Oui, je suis poète et philosophe aujourd’hui :wink:
++