aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgeremy cohen2014-12-22 03:33:06 -0800
committergeremy cohen2014-12-22 03:33:06 -0800
commit6cf7b3a5941416377035772dd16c77fd621796c0 (patch)
tree22972a33a7bdacf09ff5fa4b27e8174eb3aa6d77
parent7dd97c564d295a47cf4c797d87818877a2512f82 (diff)
downloadpubnub-python-6cf7b3a5941416377035772dd16c77fd621796c0.tar.bz2
working w/o PN on 28byj-48 with uln2003 driver board
-rw-r--r--python/examples/pnStepper.py91
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)