mirror of
				https://github.com/KevinMidboe/curtains_avantGarde.git
				synced 2025-10-29 17:40:18 +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