Advertisement
Guest User

Untitled

a guest
Feb 19th, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.64 KB | None | 0 0
  1. from gpiozero import OutputDevice
  2. from time import sleep
  3.  
  4. class Motors:
  5.     def __init__(self):
  6.         self.DELAY = 0.001
  7.        
  8.         pin1 = OutputDevice(6)
  9.         pin2 = OutputDevice(13)
  10.         pin3 = OutputDevice(19)
  11.         pin4 = OutputDevice(26)
  12.         pin5 = OutputDevice(12)
  13.         pin6 = OutputDevice(16)
  14.         pin7 = OutputDevice(20)
  15.         pin8 = OutputDevice(21)
  16.  
  17.         self.stepPins1 = [pin1, pin2, pin3, pin4]
  18.         self.stepPins2 = [pin5, pin6, pin7, pin8]
  19.  
  20.         self.seq = [[1, 0, 0, 1],
  21.                     [1, 0, 0, 0],
  22.                     [1, 1, 0, 0],
  23.                     [0, 1, 0, 0],
  24.                     [0, 1, 1, 0],
  25.                     [0, 0, 1, 0],
  26.                     [0, 0, 1, 1],
  27.                     [0, 0, 0, 1]]
  28.        
  29.     def moveStep1(self, degrees):
  30.         if degrees >= 0:
  31.             for i in range(int(degrees * (13 / 9))):
  32.                 for sequence in self.seq:
  33.                     for pin in range(len(self.stepPins1)):
  34.                         if sequence[pin] == 1:
  35.                             self.stepPins1[pin].on()
  36.                         else:
  37.                             self.stepPins1[pin].off()
  38.                     sleep(self.DELAY)
  39.         else:
  40.             for i in range(int(abs(degrees) * (13 / 9))):
  41.                 for sequence in reversed(self.seq):
  42.                     for pin in range(len(self.stepPins1)):
  43.                         if sequence[pin] == 1:
  44.                             self.stepPins1[pin].on()
  45.                         else:
  46.                             self.stepPins1[pin].off()
  47.                     sleep(self.DELAY)
  48.                        
  49.     def moveStep2(self, degrees):
  50.         if degrees >= 0:
  51.             for i in range(int(degrees * (13 / 9))):
  52.                 for sequence in self.seq:
  53.                     for pin in range(len(self.stepPins2)):
  54.                         if sequence[pin] == 1:
  55.                             self.stepPins2[pin].on()
  56.                         else:
  57.                             self.stepPins2[pin].off()
  58.                     sleep(self.DELAY)
  59.         else:
  60.             for i in range(int(abs(degrees) * (13 / 9))):
  61.                 for sequence in reversed(self.seq):
  62.                     for pin in range(len(self.stepPins2)):
  63.                         if sequence[pin] == 1:
  64.                             self.stepPins2[pin].on()
  65.                         else:
  66.                             self.stepPins2[pin].off()
  67.                     sleep(self.DELAY)
  68.  
  69. if __name__ == '__main__':
  70.     motor = Motors()
  71.     motor.moveStep1(360)
  72.     motor.moveStep1(-360)
  73.     motor.moveStep2(360)
  74.     motor.moveStep2(-360)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement