Skip to content

Instantly share code, notes, and snippets.

@mgwedd
Created January 15, 2019 18:46
Show Gist options
  • Save mgwedd/605eb334fe6232915651cf552ac382d1 to your computer and use it in GitHub Desktop.
Save mgwedd/605eb334fe6232915651cf552ac382d1 to your computer and use it in GitHub Desktop.
class MotorsWheels:
def __init__(
self, r_wheel_forward=6, r_wheel_backward=13, l_wheel_forward=19, l_wheel_backward=26):
self.r_wheel_forward = r_wheel_forward
...
GPIO.setmode(GPIO.BCM)
GPIO.setup(r_wheel_forward, GPIO.OUT)
GPIO.setup(r_wheel_backward, GPIO.OUT)
...
# Turn all motors off
GPIO.output(r_wheel_forward, GPIO.LOW)
GPIO.output(r_wheel_backward, GPIO.LOW)
def _spin_right_wheel_forward(self):
GPIO.output(self.r_wheel_forward, GPIO.HIGH)
GPIO.output(self.r_wheel_backward, GPIO.LOW)
def _stop_right_wheel(self):
GPIO.output(self.r_wheel_backward, GPIO.LOW)
GPIO.output(self.r_wheel_forward, GPIO.LOW)
def go_fw(self):
self._spin_left_wheel_forward()
self._spin_right_wheel_forward()
class ServoCamera:
CENTER = 40000
UP_LIMIT = 80000
DOWN_LIMIT = 30000
STEP = 5000
def __init__(self, servo=18, freq=50):
self.servo = servo
self.freq = freq
self.pi = pigpio.pi()
self.angle = self.CENTER
self._set_angle()
def _set_angle(self):
self.pi.hardware_PWM(self.servo, self.freq, self.angle)
def up(self):
if self.angle + self.STEP < self.UP_LIMIT:
self.angle += self.STEP
self._set_angle()
def down(self):
if self.angle - self.STEP > self.DOWN_LIMIT:
self.angle -= self.STEP
self._set_angle()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment