GPIO.PWM et fonction

Le problème exposé dans ce sujet a été résolu.

Bonjour

Je tente de contrôler un servomoteur avec un Raspberry avec un script en python.

Le premier code fonctionne, sauf si je le place dans une fonction.

Pourquoi ?

GPIO.setup(VOLANT_PIN, GPIO.OUT)
volant = GPIO.PWM(VOLANT_PIN,100)
volant.start(100)
volant.ChangeDutyCycle(position(angle_volant, reglage_angle_volant))
print 'ok'

Ne fonctionne pas :

def r():
   GPIO.setup(VOLANT_PIN, GPIO.OUT)
   volant = GPIO.PWM(VOLANT_PIN,100)
   volant.start(100)
   volant.ChangeDutyCycle(position(angle_volant, reglage_angle_volant))
   print 'ok'
r()

Le deuxième me renvoie bien "ok" mais n’active pas le servo.

+0 -0

Salut \o

Tu as moyen d’utiliser Python 3 ? Car Python 2 n’est plus utilisé de nos jours. Sa fin de vie est programmée pour dans 2 mois !

Mis-à-part ça, ton problème semble bizarre, les deux bout de code devraient être équivalent. Ce que je peux te dire par-contre, c’est que GPIO.setup devrait être appelé hors de la fonction.

PS: Ça peut venir de la destruction de l’objet volant à la fin de la fonction ? Je teste ce soir sur ma Raspπ.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte