I figured out another usecase for the Capische: Stop motion. Like in timelapse photography you can set up a predefined path the camera will work its way though but the cool thing is that you trigger the movement to the next frame and trigger the photo by hitting a defined key on the bluetooth keyboard.
Then i just wanted to test a new version of the slider-program when i fried my pi by just connecting the easydriver via a sub-d port you can see on the picture. Seems like the raspberry pi cannot handle voltage-peaks. Ends up with a raspberry that can be used as a heater. The only thing it does is that the CPU heats up. I now have 3 raspberries lying around here i cannot use. 2 of them are bricked and at one (Model A) the TV-Out doesnt work any more. So if you want a raspberry pi for deco-purposes, let me know. A new one is ordered and tomorrow i can test it.
Here is the script i wanted to test out (please excuse the bad python but i am just about to test if everything works). It is supposed to move make a panning move and a move on the slider in timelapse.
import RPi.GPIO as GPIO import time import ConfigParser #get the electric configuration config = ConfigParser.RawConfigParser() config.read('/home/pi/capische.conf') Electric={} options=config.options('Electric') for option in options: try: Electric[option]= config.getint('Electric',option) except: print "Error in configfile" quit() moveaccel= config.getint('Dolly','moveaccel') movesteps= config.getint('Dolly','movesteps') movedecel= config.getint('Dolly','movedecel') timetowait=config.getint('Camera','timetowait') timetowaithdr=config.getint('Camera','timetowaithdr') maxsteps=1000 #start by setting everything to 0 GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) for i in Electric.values(): GPIO.setup(i,GPIO.OUT) GPIO.output(i,False) #Pano-Easydriver wake up GPIO.output(Electric['movesleep'],True) GPIO.output(Electric['pansleep'],True) GPIO.output(Electric['trigger'],False) #nach Rechts drehen GPIO.output(Electric['pandir'],True) #accelerate for i in range (0,moveaccel,20): for j in range (i): GPIO.output(Electric['movestep'],True) time.sleep(0.001) GPIO.output(Electric['movestep'],False) time.sleep(0.001) if (j % 200 == 0): GPIO.output(Electric['panstep'],True) time.sleep(0.001) GPIO.output(Electric['panstep'],False) time.sleep(0.001) GPIO.output(Electric['trigger'],True) time.sleep(1) GPIO.output(Electric['trigger'],False) time.sleep(timetowait) #konstant for i in range (0,movesteps,595): for j in range(595): GPIO.output(Electric['movestep'],True) time.sleep(0.001) GPIO.output(Electric['movestep'],False) time.sleep(0.001) for k in range(3): GPIO.output(Electric['panstep'],True) time.sleep(0.001) GPIO.output(Electric['panstep'],False) time.sleep(0.001) GPIO.output(Electric['trigger'],True) time.sleep(1) GPIO.output(Electric['trigger'],False) time.sleep(timetowait) #decelerate for i in range (movedecel,0,-20): for j in range (i): GPIO.output(Electric['movestep'],True) time.sleep(0.001) GPIO.output(Electric['movestep'],False) time.sleep(0.001) if (j % 200 == 0): GPIO.output(Electric['panstep'],True) time.sleep(0.001) GPIO.output(Electric['panstep'],False) time.sleep(0.001) GPIO.output(Electric['trigger'],True) time.sleep(1) GPIO.output(Electric['trigger'],False) time.sleep(timetowait) #send Dolly-Easydriver to sleep GPIO.output(Electric['movesleep'],False) #send Pano-Easydriver to sleep GPIO.output(Electric['pansleep'],False)
The config-file looks like this:
[Electric] pandir=4 panstep=3 pansleep=2 movestep=15 movesleep=18 movedir=14 tiltdir=27 tiltsleep=10 tiltstep=22 trigger=11 [Dolly] moveaccel=500 movesteps=90000 movedecel=500 [Camera] timetowait=20 timetowaithdr=12 pan.fullturn.steps=8000 tilt.fullup.steps=4000 #focal length of 28mm (equal) pan.steps=900 tilt.steps=700
Raspberry Pi is a Trademark of Raspberry Pi Foundation
No comments:
Post a Comment