myRaspberry

Mes aventures en Raspberry et Arduino

Projet : ShowBox

Posted on 8 février 2017  in Python, Raspberry

Ce projet a pour objectif de mettre en application l’utilisation de PI Camera et d’un moteur à pas sur Raspberry.

Ce projet a pour objectif de construire une plateforme qui doit permettre de prendre en photos sur 360 dégres les pièces imprimées en 3D.

Pour ça vous avez besoin:

 

Le code python ci après permet de prendre photos et video en 360 de votre pièce.

 

 

# !/usr/bin/python
# Import required libraries
import sys, os
import time
import RPi.GPIO as GPIO
import datetime as dt
import picamera

# VARIABLES ET CONSTANTE

# Use BCM GPIO references
GPIO.setmode(GPIO.BCM)

# Define GPIO signals to use
StepPins = [17, 27, 22, 12]

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

# Define advanced sequence
# as shown in manufacturers datasheet
Seq = [[1, 0, 0, 1],
       [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]]

StepCount = len(Seq)
StepDir = 2  # Set to 1 or 2 for clockwise
# Set to -1 or -2 for anti-clockwise


# if __name__ == '__main__':

RACINE = "/home/pi/dev/"
# paramtre CAM
camera = picamera.PiCamera()
camera.resolution = (1024, 768)
# camera.framerate = 24
camera.rotation = 180
camera.brightness = 60

# Creation du repertoire

sousRepertoire = dt.datetime.now().strftime('%Y%m%d%H%M%S')
RACINE=""
leRepertoire = RACINE + sousRepertoire+"/"
print leRepertoire
os.mkdir(leRepertoire, 0755)

# Read wait time from command line
if len(sys.argv) > 1:
    WaitTime = int(sys.argv[1]) / float(1000)
else:
    WaitTime = 10 / float(1000)

# Initialise variables
StepCounter = 0

# Start main loop
myStep = 0
while myStep < 2000:
    myStep += 1
    # print StepCounter,
    #print Seq[StepCounter]
    # Affectation sequence
    for pin in range(0, 4):
        xpin = StepPins[pin]  # Get GPIO
        if Seq[StepCounter][pin] != 0:
            # print " Enable GPIO %i" %(xpin)
            GPIO.output(xpin, True)
        else:
            GPIO.output(xpin, False)

    StepCounter += StepDir

    # If we reach the end of the sequence
    # start again
    if (StepCounter >= StepCount):
        StepCounter = 0
    if (StepCounter < 0):
        StepCounter = StepCount + StepDir
    # Photo
    if (myStep % 20 == 0):
        filename = dt.datetime.now().strftime('%Y%m%d-%H.%M.%S')
        filename = leRepertoire + filename + ".jpg"
        print filename
        heureName = dt.datetime.now().strftime('%d-%m-%Y-%Hh%Mmn%Ss')
        camera.annotate_text = heureName
        camera.capture(filename)

    # Wait before moving on
    time.sleep(WaitTime)

commande="ffmpeg -r 5 -pattern_type glob -i './"
commande=commande+leRepertoire+"*.jpg' -c:v copy output.avi"
os.system(commande)

One Thought on “Projet : ShowBox”

Comments are closed.