Hallo Zusammen,
Ich würde gerne meinen Schrittmotor in beide Richtungen drehen lassen, jedoch dreht dieser mit meinem aktuellen Code nur in eine richtung egal ob ich forward oder back wähle.
Hier der Code:
Python
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import sys
P_A1 = 18 # adapt to your wiring
P_A2 = 23 # ditto
P_B1 = 24 # ditto
P_B2 = 25 # ditto
delay = 0.005 # time to settle
wahl = (sys.argv[1])
def setup():
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(P_A1, GPIO.OUT)
GPIO.setup(P_A2, GPIO.OUT)
GPIO.setup(P_B1, GPIO.OUT)
GPIO.setup(P_B2, GPIO.OUT)
def forwardStep():
setStepper(1, 0, 1, 0)
setStepper(0, 1, 1, 0)
setStepper(0, 1, 0, 1)
setStepper(1, 0, 0, 1)
def backwardStep():
setStepper(1, 0, 0, 1)
setStepper(0, 1, 0, 1)
setStepper(0, 1, 1, 0)
setStepper(1, 0, 1, 0)
def setStepper(in1, in2, in3, in4):
GPIO.output(P_A1, in1)
GPIO.output(P_A2, in2)
GPIO.output(P_B1, in3)
GPIO.output(P_B2, in4)
time.sleep(delay)
setup()
test = 0
# 512 steps for 360 degrees, adapt to your motor
while (test == 0):
for i in range(15):
if (wahl == "back"):
backwardStep()
print "back"
test = 1
if (wahl == "forward"):
forwardStep()
test = 1
print "forward"
Display More
Kann mir jemand auf die Sprünge helfen.
Das Programm führe ich mit:
sudo python gpio.py back
und
sudo python gpio.py forward
aus.