import RPi.GPIO as GPIO import sys, time GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) def full_step(phase,pins): pin1, pin2, pin3, pin4 = pins if phase==0: GPIO.output(pin1, 0) GPIO.output(pin2, 0) GPIO.output(pin3, 0) GPIO.output(pin4, 0) if phase==1: GPIO.output(pin1, 1) GPIO.output(pin2, 1) GPIO.output(pin3, 0) GPIO.output(pin4, 0) if phase==2: GPIO.output(pin1, 0) GPIO.output(pin2, 1) GPIO.output(pin3, 1) GPIO.output(pin4, 0) if phase==3: GPIO.output(pin1, 0) GPIO.output(pin2, 0) GPIO.output(pin3, 1) GPIO.output(pin4, 1) if phase==4: GPIO.output(pin1, 1) GPIO.output(pin2, 0) GPIO.output(pin3, 0) GPIO.output(pin4, 1) def half_step(phase,pins): pin1, pin2, pin3, pin4 = pins if phase==0: GPIO.output(pin1, 0) GPIO.output(pin2, 0) GPIO.output(pin3, 0) GPIO.output(pin4, 0) if phase==1: GPIO.output(pin1, 1) GPIO.output(pin2, 0) GPIO.output(pin3, 0) GPIO.output(pin4, 0) if phase==2: GPIO.output(pin1, 1) GPIO.output(pin2, 1) GPIO.output(pin3, 0) GPIO.output(pin4, 0) if phase==3: GPIO.output(pin1, 0) GPIO.output(pin2, 1) GPIO.output(pin3, 0) GPIO.output(pin4, 0) if phase==4: GPIO.output(pin1, 0) GPIO.output(pin2, 1) GPIO.output(pin3, 1) GPIO.output(pin4, 0) if phase==5: GPIO.output(pin1, 0) GPIO.output(pin2, 0) GPIO.output(pin3, 1) GPIO.output(pin4, 0) if phase==6: GPIO.output(pin1, 0) GPIO.output(pin2, 0) GPIO.output(pin3, 1) GPIO.output(pin4, 1) if phase==7: GPIO.output(pin1, 0) GPIO.output(pin2, 0) GPIO.output(pin3, 0) GPIO.output(pin4, 1) if phase==8: GPIO.output(pin1, 1) GPIO.output(pin2, 0) GPIO.output(pin3, 0) GPIO.output(pin4, 1) def full_phase(pins): #order=[1,2,3,4] order=[4,3,2,1] print("Moving in {}-order".format(order)) for i in order: full_step(i, pins) time.sleep(0.005) def half_phase(pins): for i in range(0,8): half_step(i,pins) time.sleep(0.0025) def forward(pins): half_phase(pins) def backward(pins): (pins[0], pins[1], pins[2], pins[3]) = (pins[1], pins[0], pins[2], pins[3]) half_phase(pins) if __name__=='__main__': pins=[6, 13, 19, 26] for pin in pins: GPIO.setup(pin, GPIO.OUT) while True: try: start=time.time() while(time.time()