Coordoner moteur pas à pas et raspicam

Python est le langage de prédilection du Raspberry Pi

Modérateurs : Francois, Manfraid

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Coordoner moteur pas à pas et raspicam

Message par Manfraid » jeu. 16 avr. 2015 18:57

déjà on va reprendre depuis le début, quel version de python utilise tu ?

ensuite c'est vrai j'ai oublier de précisé le mode du GPIO, je pensais que aller le remettre
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

Avatar du membre
Eddie
Messages : 80
Enregistré le : lun. 2 mars 2015 20:30

Re: Coordoner moteur pas à pas et raspicam

Message par Eddie » jeu. 16 avr. 2015 21:00

Ben moi non plus j'avais pas vu qu'il manquait les gpio... ;) pour la vs je regarderais, je sais pas comment on fait mais je vais chercher sur le net... Tu parles bien de celle du rpi ?
Raspberry Pi 2 et KODI + HD
Raspberry B et Recalbox
Raspberryi B+ expérience électronique Lego et Python
Raspicam
Freebox V6

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Coordoner moteur pas à pas et raspicam

Message par Manfraid » jeu. 16 avr. 2015 21:10

salut

rajoute juste après les import ceci

Code : Tout sélectionner

GPIO.setmode(GPIO.BCM)
je l'ai récupéré dans ton code du premier post cela devrait fonctionner je pense
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

Avatar du membre
Eddie
Messages : 80
Enregistré le : lun. 2 mars 2015 20:30

Re: Coordoner moteur pas à pas et raspicam

Message par Eddie » ven. 17 avr. 2015 10:08

Manfraid a écrit :déjà on va reprendre depuis le début, quel version de python utilise tu ?

ensuite c'est vrai j'ai oublier de précisé le mode du GPIO, je pensais que aller le remettre
J'ai la version 2.7.3 j'ai apparemment la dernière mise à jour... J'en ai profité pour mettre à jour à partir d'ici http://mchobby.be/wiki/index.php?title=Pi-Python-Prepa
Raspberry Pi 2 et KODI + HD
Raspberry B et Recalbox
Raspberryi B+ expérience électronique Lego et Python
Raspicam
Freebox V6

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Coordoner moteur pas à pas et raspicam

Message par Manfraid » ven. 17 avr. 2015 10:18

ok merci pour ces précisions

Par contre pourrais tu mettre le message d'erreur que tu as pour que je puisse comprendre ce qu'il se passe exactement, car sans ceux-ci c'est très compliquer pour résoudre les soucis
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

Avatar du membre
Eddie
Messages : 80
Enregistré le : lun. 2 mars 2015 20:30

Re: Coordoner moteur pas à pas et raspicam

Message par Eddie » ven. 17 avr. 2015 10:31

Bon J'ai repris depuis le début. En intégrant la MAj des seq, et la ligne GPIO. Donc en résumé nous avons donc :

Code : Tout sélectionner

#!/usr/bin/env python

#import global
import RPi.GPIO as GPIO
from time import sleep,time
from subprocess import call
#import pour comportement proche de python3
from __future__ import (unicode_literals, absolute_import,
                        print_function, division)
# Use BCM GPIO references
# instead of physical pin numbers
GPIO.setmode(GPIO.BCM)

class MotorPaP(object):
    """ class pour la gestion d'un moteur pas a pas
    """
    seq = [[GPIO.HIGH,GPIO.LOW,GPIO.LOW,GPIO.LOW],
       [GPIO.HIGH,GPIO.HIGH,GPIO.LOW,GPIO.LOW],
       [GPIO.LOW,GPIO.HIGH,GPIO.LOW,GPIO.LOW],
       [GPIO.LOW,GPIO.HIGH,GPIO.HIGH,GPIO.LOW],
       [GPIO.LOW,GPIO.LOW,GPIO.HIGH,GPIO.LOW],
       [GPIO.LOW,GPIO.LOW,GPIO.HIGH,GPIO.HIGH],
       [GPIO.LOW,GPIO.LOW,GPIO.LOW,GPIO.HIGH],
       [GPIO.HIGH,GPIO.LOW,GPIO.LOW,GPIO.HIGH]]
    debug = False

    def __init__(self,pins=[17,22,23,24],revolution=4096,rpm=10):
        """initialisation de la class avec les pins pour le moteur"""
        self.pins = pins
        self.rpm = rpm
        self.revolution = revolution
        #remise a zero des sortie
        self.InitOutput()
        #temp de pause entre chaque pas
        self.pause = 60/(revolution*rpm)

    def InitOutput(self):
        for pin in self.pins:         
            GPIO.setup(pin,GPIO.OUT)
            GPIO.output(pin, GPIO.LOW)

    def ClearOutput(self):
        for pin in self.pins:         
            GPIO.output(pin, GPIO.LOW)
        GPIO.Cleanup()
    def set_all_pins_low(self):
        for pin in self.pins:
            GPIO.output(pin, GPIO.LOW)
     
    def log(self,msg):
        if self.debug:
            print(msg)

    def _setstep(self,pins):
        for i in range(len(self.pins)):
            GPIO.output(self.pins[i],pins[i])
   
    def move(self,nbstep,sens=1):
        if sens < 0:
            self.seq.reverse()
        for i in range(nbstep):
            p = self.seq.pop(0)
            self._setstep(p)
            sleep(self.pause)
            self.seq.append(p)
        if sens < 0:
            self.seq.reverse()       
           
StepPins = [17,22,23,24]
motor = MotorPaP(StepPins)
sequence = [300]*50 # avance de 300pas pour 50 arret

for s in sequence:
    motor.move(s)
    call("raspistill -o myimage_%04d.jpg -tl 3000 -t 22500 -w 800 -h 600", shell=True)
J'ai toujours cette satané erreur... : ligne 8 SyntaxError: from __future__ imports must occur at the beginning of the file

Je vais chercher sur le net'...
Raspberry Pi 2 et KODI + HD
Raspberry B et Recalbox
Raspberryi B+ expérience électronique Lego et Python
Raspicam
Freebox V6

Avatar du membre
Eddie
Messages : 80
Enregistré le : lun. 2 mars 2015 20:30

Re: Coordoner moteur pas à pas et raspicam

Message par Eddie » ven. 17 avr. 2015 10:44

Quant je regarde les lignes :

#import pour comportement proche de python3
from __future__ import (unicode_literals, absolute_import,
print_function, division)

J'ai pas la version 3 de python alors que j'ai fais des MAJ. C'est pas ça le blem ?
Raspberry Pi 2 et KODI + HD
Raspberry B et Recalbox
Raspberryi B+ expérience électronique Lego et Python
Raspicam
Freebox V6

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Coordoner moteur pas à pas et raspicam

Message par Manfraid » ven. 17 avr. 2015 11:39

en fait cet import sert a avoir le comportement de python3 mais en python2.7
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

Avatar du membre
Eddie
Messages : 80
Enregistré le : lun. 2 mars 2015 20:30

Re: Coordoner moteur pas à pas et raspicam

Message par Eddie » ven. 17 avr. 2015 11:46

Bon en cherchant sur le net cela confirme la traduction de l'erreur, j'ai donc mis au debut comme ça :

Code : Tout sélectionner

#!/usr/bin/env python

#import global
import RPi.GPIO as GPIO
from time import sleep,time
from subprocess import call
#import pour comportement proche de python3
#from __future__ import (unicode_literals, absolute_import,
#                        print_function, division)

# Use BCM GPIO references
# instead of physical pin numbers
GPIO.setmode(GPIO.BCM)
Bon alors du coup plus d'erreur. :D
J'ai bien les photos qui se prennent mais le moteur ne tourne pas... :evil:
Raspberry Pi 2 et KODI + HD
Raspberry B et Recalbox
Raspberryi B+ expérience électronique Lego et Python
Raspicam
Freebox V6

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Coordoner moteur pas à pas et raspicam

Message par Manfraid » ven. 17 avr. 2015 11:50

essaye d'augmenter le nombre de pas je l'ai mis a 300 mais a toi de voir
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

Répondre

Retourner vers « Python »