diff options
| author | geremy cohen | 2014-12-22 03:33:06 -0800 | 
|---|---|---|
| committer | geremy cohen | 2014-12-22 03:33:06 -0800 | 
| commit | 6cf7b3a5941416377035772dd16c77fd621796c0 (patch) | |
| tree | 22972a33a7bdacf09ff5fa4b27e8174eb3aa6d77 | |
| parent | 7dd97c564d295a47cf4c797d87818877a2512f82 (diff) | |
| download | pubnub-python-6cf7b3a5941416377035772dd16c77fd621796c0.tar.bz2 | |
working w/o PN on 28byj-48 with uln2003 driver board
| -rw-r--r-- | python/examples/pnStepper.py | 91 | 
1 files changed, 91 insertions, 0 deletions
| diff --git a/python/examples/pnStepper.py b/python/examples/pnStepper.py new file mode 100644 index 0000000..2f8d747 --- /dev/null +++ b/python/examples/pnStepper.py @@ -0,0 +1,91 @@ +#----------------------------------- +# 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 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] +  +# 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.002 +  +# 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] +  +# Choose a sequence to use +Seq = Seq1 +StepCount = StepCount1 +  +# Start main loop +while 1==1: +  +  for pin in range(0, 4): +    xpin = StepPins[pin] + +    pinVal = Seq[StepCounter][pin] + +    if pinVal!=0: +      print " Step %i Enable %i" %(StepCounter,xpin) +      GPIO.output(xpin, True) +    else: +      GPIO.output(xpin, False) +  +  StepCounter += 1 +  +  # If we reach the end of the sequence +  # start again +  if (StepCounter==StepCount): +    StepCounter = 0 +  if (StepCounter<0): +    StepCounter = StepCount +  +  # Wait before moving on +  time.sleep(WaitTime) | 
