GPIO.PWM et fonction

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

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.

Édité par Nozziak

Je n’ai pas la solution mais j’admire le problème…

+0 -0

Cette réponse a aidé l’auteur du sujet

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π.

Édité par ache

ache.one                 🦹         👾                                🦊

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

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