gehört zwar nicht 100% hierher aber ich verzweifle sonst..
ich hab hier ein script das einen Schrittmotor steuert (er fährt einen IKEA billig-Rollo hoch und runter).
Leider läuft der Motor permanent wenn ich das Script ausführe.
Ich will aber, dass nach zB 10 ganzen Umdrehungen (10 x 512 Schritte) der Motor wieder aufhört.
Was muss ich ändern? Vielen Dank für Eure Hilfe!
Code: Alles auswählen
import RPi.GPIO as gpio
import time
PINS = [22,21,18,17]
SEQA = [(22,),(22,21),(21,),(21,18),(18,),(18,17),(17,),(17,22)]
RSEQA = [(17,),(17,18),(18,),(18,21),(21,),(21,22),(22,),(22,17)]
DELAY = 0.002
gpio.setmode(gpio.BCM)
for pin in PINS:
gpio.setup(pin, gpio.OUT)
def stepper(sequence, pins):
for step in sequence:
for pin in pins:
gpio.output(pin, gpio.HIGH) if pin in step else gpio.output(pin, gpio.LOW)
time.sleep(DELAY)
try:
while True:
for _ in xrange(512):
stepper(SEQA,PINS) # forward
except KeyboardInterrupt:
gpio.cleanup()