erstmal was zu mir, ich habe mir vor 2 Wochen einen Raspberry Pi zugelegt um meiner alten Nikon D40 die Interval Fotographie beizubringen. Im Rahmen dessen hab ich festegestellt das, Geschwindigkeit hin oder her, Python die für mich einfachste Methode ist an die Sache ran zu gehen. Hab in den letzten 2 Wochen viel gelesen, gelernt und wieder vergessen.
Auf jedenfall hab ich es mit zurhilfenahme von vorhandenen Programmen (gPhoto, Piggyphoto) geschafft mir etwas zu bauen was meinen ansprüchen nach so kurzer zeit schonmal nah kommt.
Kann nen Intervall benennen, die Anzahl der Bilder, kann nen Motor ansteueren (um die Kamera auf ner Rail laufen zu lassen) und so weiter.
Mein Problem ist das die entstehenden Fotos auf den Pi runtergeladen werden, ich würde diese jedoch lieber auf der Kamera belassen da die nachbearbeitung am Laptop stattfindet.
Wie kann ich also meinem Program sagen das es die Fotos auf der Kamera belassen soll?
Zum Code, leider unübersichtlich da ich mit der Modularisierung noch am kämpfen bin...
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Timelapse knipPI + Motor
# Import Module
import time
import piggyphoto
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
# Verwendete Pins am Rapberry Pi
A1=18
B1=23
C1=24
D1=25
# Eingabe durch Nutzer
# Kamera
interval = input ("Interval ")
bilder = input ("Bilder ")
klicks = 0
# Motor
motor_start = input ("Start Motor ")
motor_ende = input("Motor ende ")
motor_div = motor_ende-motor_start
timest = 0.005
steps = input ("Steps ")
stpp = steps/motor_div
# Pins aus Ausgänge definieren
GPIO.setup(A1,GPIO.OUT)
GPIO.setup(B1,GPIO.OUT)
GPIO.setup(C1,GPIO.OUT)
GPIO.setup(D1,GPIO.OUT)
GPIO.output(A1, False)
GPIO.output(B1, False)
GPIO.output(C1, False)
GPIO.output(D1, False)
# Schritte 1 - 8 festlegen
def Step1():
GPIO.output(D1, True)
time.sleep (timest)
GPIO.output(D1, False)
def Step2():
GPIO.output(D1, True)
GPIO.output(C1, True)
time.sleep (timest)
GPIO.output(D1, False)
GPIO.output(C1, False)
def Step3():
GPIO.output(C1, True)
time.sleep (timest)
GPIO.output(C1, False)
def Step4():
GPIO.output(B1, True)
GPIO.output(C1, True)
time.sleep (timest)
GPIO.output(B1, False)
GPIO.output(C1, False)
def Step5():
GPIO.output(B1, True)
time.sleep (timest)
GPIO.output(B1, False)
def Step6():
GPIO.output(A1, True)
GPIO.output(B1, True)
time.sleep (timest)
GPIO.output(A1, False)
GPIO.output(B1, False)
def Step7():
GPIO.output(A1, True)
time.sleep (timest)
GPIO.output(A1, False)
def Step8():
GPIO.output(D1, True)
GPIO.output(A1, True)
time.sleep (timest)
GPIO.output(D1, False)
GPIO.output(A1, False)
print ("Aufnahmedauer "), interval*bilder, ("s")
time.sleep (2)
# Kamera Kontrolle
C = piggyphoto.camera()
print C.abilities
while bilder != klicks:
C.capture_image('snap'+ str(klicks)+ '.jpg')
print ("KLICK", klicks,)
klicks = klicks + 1
time.sleep (interval)
if motor_start <= klicks and motor_ende >= klicks:
#print ("MOVE")
# Volle Umdrehung
for i in range (stpp):
Step1()
Step2()
Step3()
Step4()
Step5()
Step6()
Step7()
Step8()
print i
GPIO.cleanup()
print klicks, ("Aufnahmen")
print ("FERTIG")