Camera Movement program
Camera Movement program
import RPi.GPIO as GPIO
from time import sleep
out1 = 13
out2 = 11
out3 = 15
out4 = 12
#out5 = 33
#out6 = 31
#out7 = 35
#out8 = 32
out5 = 32
out6 = 35
out7 = 31
out8 = 33
fire = 16
#GPIO.setmode(GPIO.BOARD)
#GPIO.setup(out1,GPIO.OUT)
#GPIO.setup(out2,GPIO.OUT)
#GPIO.setup(out3,GPIO.OUT)
#GPIO.setup(out4,GPIO.OUT)
#GPIO.setup(out5,GPIO.OUT)
#GPIO.setup(out6,GPIO.OUT)
#GPIO.setup(out7,GPIO.OUT)
#GPIO.setup(out8,GPIO.OUT)
class GpioControl(object):
def __init__(self):
print("> Init GpioControl !")
def __del__(self):
print(" > GPIO.__del__() ")
GPIO.cleanup()
def startUp(self):
GPIO.setmode(GPIO.BOARD)
GPIO.setup(out1,GPIO.OUT)
GPIO.setup(out2,GPIO.OUT)
GPIO.setup(out3,GPIO.OUT)
GPIO.setup(out4,GPIO.OUT)
GPIO.setup(out5,GPIO.OUT)
GPIO.setup(out6,GPIO.OUT)
GPIO.setup(out7,GPIO.OUT)
GPIO.setup(out8,GPIO.OUT)
def cleanUp(self):
print(" > GPIO.cleanUp() ")
GPIO.cleanup()
sleep(2)
def moveUp(self, movestep):
print(" > GPIO.moveUp() " + str(movestep))
self.upMove(movestep)
return "GPIO.moveUp()"
def moveDown(self, movestep):
print(" > GPIO.moveDown() " + str(movestep))
self.downMove(movestep)
return "GPIO.moveDown()"
def moveRight(self, movestep):
print(" > GPIO.moveRight() " + str(movestep))
self.rightMove(movestep)
return "GPIO.moveRight()"
def moveLeft(self, movestep):
print(" > GPIO.moveLeft() " + str(movestep))
self.leftMove(movestep)
return "GPIO.moveLeft()"
def fire(self):
print(" > Fired ! ")
self.fire()
return "Fired !"
# Function #
def rightMove(self, stepCnt):
i=0
y=0
#self.initGpio()
self.startUp()
for y in range(stepCnt,0,-1):
if i==0:
i=7
else:
i=i-1
#print(str((stepCnt)-y) + " , " + str(y) + " , " + str(i))
self.MoveLeftRight(i)
GPIO.cleanup()
def leftMove(self, stepCnt):
i=0
y=0
#self.initGpio()
self.startUp()
for y in range(stepCnt,0,-1):
if i==7:
i=0
else:
i=i+1
#print(str((stepCnt)-y) + " , " + str(y) + " , " + str(i))
self.MoveLeftRight(i)
GPIO.cleanup()
def upMove(self, stepCnt):
i=0
y=0
#self.initGpio()
self.startUp()
for y in range(stepCnt,0,-1):
if i==0:
i=7
else:
i=i-1
#print(str((stepCnt)-y) + " , " + str(y) + " , " + str(i))
self.MoveUpDown(i)
GPIO.cleanup()
def downMove(self, stepCnt):
i=0
y=0
#self.initGpio()
self.startUp()
for y in range(stepCnt,0,-1):
if i==7:
i=0
else:
i=i+1
#print(str((stepCnt)-y) + " , " + str(y) + " , " + str(i))
self.MoveUpDown(i)
GPIO.cleanup()
def initGpio(self):
GPIO.output(out1,GPIO.LOW)
GPIO.output(out2,GPIO.LOW)
GPIO.output(out3,GPIO.LOW)
GPIO.output(out4,GPIO.LOW)
GPIO.output(out5,GPIO.LOW)
GPIO.output(out6,GPIO.LOW)
GPIO.output(out7,GPIO.LOW)
GPIO.output(out8,GPIO.LOW)
def MoveLeftRight(self, position):
if position==0:
GPIO.output(out1,GPIO.HIGH)
GPIO.output(out2,GPIO.LOW)
GPIO.output(out3,GPIO.LOW)
GPIO.output(out4,GPIO.LOW)
sleep(0.03)
#time.sleep(1)
elif position==1:
GPIO.output(out1,GPIO.HIGH)
GPIO.output(out2,GPIO.HIGH)
GPIO.output(out3,GPIO.LOW)
GPIO.output(out4,GPIO.LOW)
sleep(0.03)
#time.sleep(1)
elif position==2:
GPIO.output(out1,GPIO.LOW)
GPIO.output(out2,GPIO.HIGH)
GPIO.output(out3,GPIO.LOW)
GPIO.output(out4,GPIO.LOW)
sleep(0.03)
#time.sleep(1)
elif position==3:
GPIO.output(out1,GPIO.LOW)
GPIO.output(out2,GPIO.HIGH)
GPIO.output(out3,GPIO.HIGH)
GPIO.output(out4,GPIO.LOW)
sleep(0.03)
#time.sleep(1)
elif position==4:
GPIO.output(out1,GPIO.LOW)
GPIO.output(out2,GPIO.LOW)
GPIO.output(out3,GPIO.HIGH)
GPIO.output(out4,GPIO.LOW)
sleep(0.03)
#time.sleep(1)
elif position==5:
GPIO.output(out1,GPIO.LOW)
GPIO.output(out2,GPIO.LOW)
GPIO.output(out3,GPIO.HIGH)
GPIO.output(out4,GPIO.HIGH)
sleep(0.03)
#time.sleep(1)
elif position==6:
GPIO.output(out1,GPIO.LOW)
GPIO.output(out2,GPIO.LOW)
GPIO.output(out3,GPIO.LOW)
GPIO.output(out4,GPIO.HIGH)
sleep(0.03)
#time.sleep(1)
elif position==7:
GPIO.output(out1,GPIO.HIGH)
GPIO.output(out2,GPIO.LOW)
GPIO.output(out3,GPIO.LOW)
GPIO.output(out4,GPIO.HIGH)
sleep(0.03)
#time.sleep(1)
def MoveUpDown(self, position):
if position==0:
GPIO.output(out5,GPIO.HIGH)
GPIO.output(out6,GPIO.LOW)
GPIO.output(out7,GPIO.LOW)
GPIO.output(out8,GPIO.LOW)
sleep(0.03)
#time.sleep(1)
elif position==1:
GPIO.output(out5,GPIO.HIGH)
GPIO.output(out6,GPIO.HIGH)
GPIO.output(out7,GPIO.LOW)
GPIO.output(out8,GPIO.LOW)
sleep(0.03)
#time.sleep(1)
elif position==2:
GPIO.output(out5,GPIO.LOW)
GPIO.output(out6,GPIO.HIGH)
GPIO.output(out7,GPIO.LOW)
GPIO.output(out8,GPIO.LOW)
sleep(0.03)
#time.sleep(1)
elif position==3:
GPIO.output(out5,GPIO.LOW)
GPIO.output(out6,GPIO.HIGH)
GPIO.output(out7,GPIO.HIGH)
GPIO.output(out8,GPIO.LOW)
sleep(0.03)
#time.sleep(1)
elif position==4:
GPIO.output(out5,GPIO.LOW)
GPIO.output(out6,GPIO.LOW)
GPIO.output(out7,GPIO.HIGH)
GPIO.output(out8,GPIO.LOW)
sleep(0.03)
#time.sleep(1)
elif position==5:
GPIO.output(out5,GPIO.LOW)
GPIO.output(out6,GPIO.LOW)
GPIO.output(out7,GPIO.HIGH)
GPIO.output(out8,GPIO.HIGH)
sleep(0.03)
#time.sleep(1)
elif position==6:
GPIO.output(out5,GPIO.LOW)
GPIO.output(out6,GPIO.LOW)
GPIO.output(out7,GPIO.LOW)
GPIO.output(out8,GPIO.HIGH)
sleep(0.03)
#time.sleep(1)
elif position==7:
GPIO.output(out5,GPIO.HIGH)
GPIO.output(out6,GPIO.LOW)
GPIO.output(out7,GPIO.LOW)
GPIO.output(out8,GPIO.HIGH)
sleep(0.03)
#time.sleep(1)
def fire(self):
self.startUp()
GPIO.setup(fire,GPIO.OUT)
GPIO.output(fire,GPIO.HIGH)
sleep(0.5)
GPIO.output(fire,GPIO.LOW)
GPIO.cleanup()
# Function #