Coordoner moteur pas à pas et raspicam

Python est le langage de prédilection du Raspberry Pi

Modérateurs : Francois, Manfraid

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

Coordoner moteur pas à pas et raspicam

Message par Eddie » sam. 11 avr. 2015 23:24

Bonjour,

Je voudrais associer dans une seule commande python le lancement simultanément de la commande pour faire démarrer le moteur PAP et la raspicam.
J'arrive à maitriser relativement les 2 séparément mais pas ensemble.

En faite c'est pour faire un time lapse sur légo dolly (je trouve ce nom drôle car même si tout le monde s'en fou c’était le nom de ma chienne avant). :roll:
Je pense qu'il y 'a des import en trop aussi...
En faite ça prend une photo (pas dans cette exemple car t = 22500) mais ensuite le moteur se met en marche...

Doit pas manquer grand chose. Une sorte de loop ? (loupe ?)

Merci à vous,

Code : Tout sélectionner

#!/usr/bin/env python

# Import required libraries
import sys
import time
import RPi.GPIO as GPIO
import os
import subprocess
import cgi
import serial
from subprocess import call

# Use BCM GPIO references
# instead of physical pin numbers
GPIO.setmode(GPIO.BCM)

# Define GPIO signals to use
# Physical pins 11,15,16,18
# GPIO17,GPIO22,GPIO23,GPIO24
StepPins = [17,22,23,24]

# Set all pins as output
for pin in StepPins:
  print "Setup pins"
  GPIO.setup(pin,GPIO.OUT)
  GPIO.output(pin, False)

# Run a WHILE Loop of infinitely
while True:

        call("raspistill -o myimage_%04d.jpg -tl 3000 -t 22500 -w 800 -h 600", shell=True)

# Define advanced sequence
# as shown in manufacturers datasheet
Seq = [[1,0,0,0],
       [1,1,0,0],
       [0,1,0,0],
       [0,1,1,0],
       [0,0,1,0],
       [0,0,1,1],
       [0,0,0,1],
       [1,0,0,1]]

StepCount = len(Seq)-1
StepDir = 2 # Set to 1 or 2 for clockwise
            # Set to -1 or -2 for anti-clockwise
Modifié en dernier par Eddie le dim. 12 avr. 2015 10:17, modifié 1 fois.
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 » dim. 12 avr. 2015 08:52

Salut,

pourrais tu mettre ton code dans les balises "code" car sans l'indentation correcte cela est très difficile de lire ton code
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 » dim. 12 avr. 2015 10:19

Salut Manfraid

Oui tu as raison. Voilà qui est fait. Désolé j'étais dans mes pensées...
Il me prend la tête ce code...
Manfraid a écrit :Salut,

pourrais tu mettre ton code dans les balises "code" car sans l'indentation correcte cela est très difficile de lire ton code
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 » dim. 12 avr. 2015 10:51

Merci, c'est déjà beaucoup plus lisible

par contre ton code pour le moment ne sait faire qu'une prise de photo en continue, il n'y as pas de gestion du moteur

as-tu déjà une idée sur la vitesse de rotation de ton moteur pas/seconde par exemple
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 » dim. 12 avr. 2015 11:01

Sisi il fait bien tourner le moteur si j’enlève la ligne raspistill
Mais me demande pas trop comment ça marche...
Je voudrais biens que les 2 se lance en même temps...
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 » dim. 12 avr. 2015 11:04

donc il doit manquer un bout de code

car a la lecture du ode je ne vois que la mise a zéro des output et rien d'autre
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 » dim. 12 avr. 2015 11:09

Je sais pas mais pourtant je te jure que mon moteur tourne comme y faut. Tout doucement... et il se coupe avec CTRL C.
C'est les "seq" qui le font tourner non ?

Par contre une idée pour Raspistill ?
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 » dim. 12 avr. 2015 11:19

en fait c'est normal tu fait une boucle infinie sur la prise de photo, donc c'est celle ci qui est prioritaire

le mieux je pense est que déjà il faudrait mieux ordonné le programme, par exemple une fonction qui fait bouger le moteur et une autre qui fait la capture d'image.

ensuite tu appelles la fonction pour faire déplacer le moteur, une fois la position atteinte tu prend la photo et tu recommence
par exemple (je ne met pas le code des fonctions je n'ai pas trop le temps de chercher

Code : Tout sélectionner

def moveto(position):
    #le code pour déplacer le moteur

def capture():
   # le code pour la prise de photo

# liste des positons pour les photos
position = [0,100,200,300,400]
# et pour finir l'appel des fonction
for pos in position:
    moveto(pos)
    capture()


en espérant que le principe que je te donne puisse t'aider
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 » dim. 12 avr. 2015 11:24

ok c'est cool merci.

Je vais regarder ça... Merci pour la piste.
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 » dim. 12 avr. 2015 11:25

Mais de rien,

sinon déjà essaye de faire une recherche sur le net pour trouver une class python qui gère un moteur pas à pas( pas la peine de réinventer la roue lol)
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 »