mirror of
https://github.com/KevinMidboe/curtains_avantGarde.git
synced 2026-01-10 11:15:40 +00:00
Now we have a working stepper driver with little delay and without large lists. Need to refine the evolution step count
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
# @Author: KevinMidboe
|
# @Author: KevinMidboe
|
||||||
# @Date: 2017-08-25 16:04:49
|
# @Date: 2017-08-25 16:04:49
|
||||||
# @Last Modified by: KevinMidboe
|
# @Last Modified by: KevinMidboe
|
||||||
# @Last Modified time: 2017-08-25 16:51:30
|
# @Last Modified time: 2017-08-25 17:34:07
|
||||||
|
|
||||||
from time import sleep
|
from time import sleep
|
||||||
import RPi.GPIO as gpio
|
import RPi.GPIO as gpio
|
||||||
@@ -24,16 +24,17 @@ class Stepper:
|
|||||||
def cleanGPIO(self):
|
def cleanGPIO(self):
|
||||||
gpio.cleanup()
|
gpio.cleanup()
|
||||||
|
|
||||||
def rotate(l, n=1):
|
def rotate(self, l, n=1):
|
||||||
return l[n:] + l[:n]
|
return l[n:] + l[:n]
|
||||||
|
|
||||||
def togglePin(pins, waitTime=0.001):
|
def togglePin(self, pins):
|
||||||
for pin in pins:
|
for pin in self.pins:
|
||||||
gpio.output(pin, True)
|
if pin in pins:
|
||||||
sleep(waitTime)
|
gpio.output(pin, True)
|
||||||
|
else:
|
||||||
|
gpio.output(pin, False)
|
||||||
|
|
||||||
for pin in pins:
|
sleep(0.001)
|
||||||
gpio.ouput(pin, False)
|
|
||||||
|
|
||||||
def step(self, rotations, dir, speed=1, forever=False):
|
def step(self, rotations, dir, speed=1, forever=False):
|
||||||
for pin in self.pins:
|
for pin in self.pins:
|
||||||
@@ -53,13 +54,15 @@ class Stepper:
|
|||||||
for i in range(2):
|
for i in range(2):
|
||||||
self.togglePin([pinState[0]])
|
self.togglePin([pinState[0]])
|
||||||
self.togglePin([pinState[0], pinState[1]])
|
self.togglePin([pinState[0], pinState[1]])
|
||||||
|
|
||||||
pinState = self.rotate(pinState)
|
pinState = self.rotate(pinState)
|
||||||
|
|
||||||
|
|
||||||
steps -=1
|
steps -=1
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
pins = [17, 18, 27, 22]
|
pins = [17, 18, 27, 22]
|
||||||
stepper = Stepper(pins)
|
stepper = Stepper(pins)
|
||||||
stepper.step(2, 'left')
|
stepper.step(10, 'left')
|
||||||
|
stepper.cleanGPIO()
|
||||||
|
|||||||
Reference in New Issue
Block a user