User Tools

Site Tools


new

<sxh [py][; options for SyntaxHighlighter]> #!/usr/bin/python # Written in Python 2.7

# Import required libraries import sys import time import RPi.GPIO as GPIO

# Use BCM GPIO references # instead of physical pin numbers GPIO.setmode(GPIO.BCM)

# Define GPIO signals to use # Physical pins 6,13,19,26 StepPins = [6,13,19,26]

# Set all pins as output for pin in StepPins:

print "Setup pins"
GPIO.setup(pin,GPIO.OUT)
GPIO.output(pin, False)

Seq = 1,0,0,0], [1,1,0,0], [0,1,0,0], [0,1,1,0], [0,0,1,0], [0,0,1,1], [0,0,0,1], [1,0,0,1

StepCount = len(Seq) StepDir = 1 # Set to 1 or 2 for clockwise

          # Set to -1 or -2 for anti-clockwise

# Read wait time from command line if len(sys.argv)>1:

WaitTime = int(sys.argv[1])/float(1000)

else:

WaitTime = 10/float(1000)

# Initialise variables StepCounter = 0

# Start main loop while True:

# print StepCounter, # print Seq[StepCounter]

for pin in range(0,4):
  xpin=StepPins[pin]# Get GPIO
  if Seq[StepCounter][pin]!=0:

# print “ Enable GPIO %i” %(xpin)

    GPIO.output(xpin, True)
  else:
    GPIO.output(xpin, False)
StepCounter += StepDir
# If we reach the end of the sequence
# start again
if (StepCounter>=StepCount):
  StepCounter = 0
if (StepCounter<0):
  StepCounter = StepCount+StepDir
# Wait before moving on
time.sleep(WaitTime)

</sxh>

new.txt · Last modified: 2023/03/09 22:35 by 127.0.0.1