diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/examples/futureHouse/open.py | 113 | 
1 files changed, 35 insertions, 78 deletions
| diff --git a/python/examples/futureHouse/open.py b/python/examples/futureHouse/open.py index b5518c6..256b73e 100644 --- a/python/examples/futureHouse/open.py +++ b/python/examples/futureHouse/open.py @@ -1,82 +1,42 @@ -#----------------------------------- -# Name: Stepper Motor -# -# Author: matt.hawkins -# -# Created: 11/07/2012 -# Copyright: (c) matt.hawkins 2012 -#----------------------------------- -#!/usr/bin/env python -  -# Import required libraries  import time  import sys  import RPi.GPIO as GPIO -# Use BCM GPIO references -# instead of physical pin numbers  GPIO.setmode(GPIO.BOARD) -  -# Define GPIO signals to use -# Pins 19,22,24,26 -# GPIO10,GPIO25,GPIO8,GPIO7 - -StepPins = [26,24,22,19] -#StepPins = [24,22,26,19] -  -# Set all pins as output -for pin in StepPins: -  print "Setup pins" -  GPIO.setup(pin,GPIO.OUT) -  GPIO.output(pin, False) -  -# Define some settings -StepCounter = 0 -WaitTime = 0.000001 -#WaitTime = 0.001 -  -# Define simple sequence -StepCount1 = 4 -Seq1 = [] -Seq1 = range(0, StepCount1) - -Seq1[0] = [1,0,0,0] -Seq1[1] = [0,1,0,0] -Seq1[2] = [0,0,1,0] -Seq1[3] = [0,0,0,1] - -#Seq1[3] = [1,0,0,0] -#Seq1[2] = [0,1,0,0] -#Seq1[1] = [0,0,1,0] -#Seq1[0] = [0,0,0,1] -  -# Define advanced sequence -# as shown in manufacturers datasheet -StepCount2 = 8 -Seq2 = [] -Seq2 = range(0, StepCount2) -Seq2[0] = [1,0,0,0] -Seq2[1] = [1,1,0,0] -Seq2[2] = [0,1,0,0] -Seq2[3] = [0,1,1,0] -Seq2[4] = [0,0,1,0] -Seq2[5] = [0,0,1,1] -Seq2[6] = [0,0,0,1] -Seq2[7] = [1,0,0,1] +stepPins = [26,24,22,19] +waitTime = 0.000001 + +for pin in stepPins: +    print "Setup pins" +    GPIO.setup(pin,GPIO.OUT) +    GPIO.output(pin, False) + +stepCounter = 0 +stepCount = 8 + +Seq = [] +Seq = range(0, stepCount) +Seq[0] = [1,0,0,0] +Seq[1] = [1,1,0,0] +Seq[2] = [0,1,0,0] +Seq[3] = [0,1,1,0] +Seq[4] = [0,0,1,0] +Seq[5] = [0,0,1,1] +Seq[6] = [0,0,0,1] +Seq[7] = [1,0,0,1]  # Choose a sequence to use -Seq = Seq2 -StepCount = StepCount2 -GlobalCount = 1600 -Cycles = 0 + +maxSteps = 1600 +completedSteps = 0  # Start main loop  while 1==1:    for pin in range(0, 4): -    xpin = StepPins[pin] +    xpin = stepPins[pin] -    pinVal = Seq[StepCounter][pin] +    pinVal = Seq[stepCounter][pin]      if pinVal!=0:        #print " Step %i Enable %i" %(StepCounter,xpin) @@ -84,20 +44,17 @@ while 1==1:      else:        GPIO.output(xpin, False) -  StepCounter += 1 -  Cycles +=1 +  stepCounter += 1 +  completedSteps +=1 -  print " Stepcounter: %i" %(StepCounter)  -  # If we reach the end of the sequence -  # start again -  if (StepCounter==StepCount): -    StepCounter = 0 +  print " Stepcounter: %i" %(stepCounter) +  if (stepCounter==stepCount): +    stepCounter = 0 -  if (StepCounter<0): -    StepCounter = StepCount +  if (stepCounter<0): +    stepCounter = stepCount -  if (GlobalCount == Cycles): +  if (maxSteps == completedSteps):     sys.exit() -  # Wait before moving on -  time.sleep(WaitTime) +  time.sleep(waitTime) | 
