これは、ドリーに沿ってカメラを移動するためのタイムラプス スクリプトです。問題は、コードを実行すると、時々 (たとえば、反復 7 で) ドリーが動いていて、同時にカメラが写真を撮ってしまうことです。次のコマンドが実行される前にコマンドがブロックされていないかのようです。ご覧のとおり、コード内でスリープを分散させようとしましたが、役に立ちませんでした。
ワークフローは次のとおりです。
- Raspberry Pi はカメラ (スナップ写真) と Arduino (ドリーの移動) にコマンドを送信します。
- Arduino はEasyDriver Stepper Motor Driverと通信します。EasyDriver Stepper Motor Driver はステッパーと通信し、台車を動かします。
- 繰り返す。
これが私のPythonスクリプトです。
import os, commands, string, gps
from subprocess import Popen, PIPE
from time import sleep
import serial
ser = serial.Serial('/dev/ttyACM0', 9600)
sleep (5)
for i in range(0, 20):
#To write information
steps = 1000*(i+1)
ser.write('1,'+str( steps )+'/n')
sleep (4)
bashCommand = "sudo /home/mh00h/Timelapse/camerareset.sh"
os.system(bashCommand)
sleep (2)
bashCommand = "sudo gphoto2 --capture-image"
os.system(bashCommand)
sleep (1)