Bonjour,
à la page 260 du livre Raspberry Pi 4 -Exploitez tout le potentiel de votre nano-ordinateur, lorsque j'exécute ce code
from gpiozero import Button
bouton = Button(24)
def suite():
print("Le programme continue")
print ("Attente de l'appui sur le bouton")
bouton.wait_for_press()
print("Maintenez le bouton appuyé")
print("Le programme continuera quand vous le relacherez")
bouton.when_released()
"Attente de l'appui sur le bouton" s'affiche bien et le script attend la pression sur le bp avant de générer (une fois la pression effectuée) le message: TypeError :
bouton.when_released 'NoneType' object is not callable et ferme le script. L'instruction bouton.wait_for_press() est validé dans un script précédent, mais le xxx.when_released() fait planter le script.
Avez vous une astuce pour résoudre ce problème ?
Merci!!!
bouton.when_released 'NoneType' object is not callable
Modérateur : Francois
- Flachy Joe
- Messages : 88
- Enregistré le : mar. 20 sept. 2016 22:30
Re: bouton.when_released 'NoneType' object is not callable
Salut,
voir la doc
Pour attendre que le bouton soit relâché c'est wait_for_release
Ton code devrait donc être
NB 1 : Tu peux définir la propriété avant que le bouton soit appuyé.
NB 2 : utilise les balises quand tu copie/colle un code python, sinon les tabulations disparaissent.
voir la doc
when_released n'est pas une fonction mais une propriété qui accepte comme valeur une fonction.https://gpiozero.readthedocs.io/en/stable/api_input.html a écrit : when_released
The function to run when the device changes state from active to inactive.
This can be set to a function which accepts no (mandatory) parameters, or a Python function which accepts a single mandatory parameter (with as many optional parameters as you like). If the function accepts a single mandatory parameter, the device that deactivated will be passed as that parameter.
Set this property to None (the default) to disable the event.
Pour attendre que le bouton soit relâché c'est wait_for_release
Ton code devrait donc être
Code : Tout sélectionner
from gpiozero import Button
bouton = Button(24)
def suite():
print("Le bouton est relâché")
print ("Attente de l'appui sur le bouton")
bouton.wait_for_press()
print("Maintenez le bouton appuyé")
print("La fonction s'executera quand le bouton sera relâché")
bouton.when_released = suite
print("Le programme continue")
NB 2 : utilise les balises
Code : Tout sélectionner
[code][ /code]