J'ai un petit problème de lecture de front montant (rising edge). J'ai monté un bouton poussoir relié entre le GPIO 24 et le 3v3 de mon raspberry. J'ai rédigé un petit script qui, à terme, déclenchera une action lors de l'appui sur le bouton. Mon problème est que malgré le paramètre "GPIO.RISING", le programme tient compte parfois aussi des fronts descendants, surtout si l'appui est long. Pourquoi ai-je ce phénomène et comment l'éviter ?
Merci pour votre aide.
Code : Tout sélectionner
#initialisation
from time import sleep
import requests
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
# GPIO 24 mode in - resistance pull up active
GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
# definition de la fonction
def my_callback(channel):
print 'test'
# r = requests.get("http://192.168.1.4:8080/json.htm?type=command¶m=switchlight&idx=12&switchcmd=On")
# attente d'un evenement sur le gpio 24
GPIO.add_event_detect(24, GPIO.RISING, callback=my_callback, bouncetime=500)
# boucle de sortie
try:
while True:
sleep (2)
# on reinitialise les ports GPIO en sortie de script
except KeyboardInterrupt:
GPIO.cleanup()
GPIO.cleanup()