30 lines
682 B
Python
30 lines
682 B
Python
|
from utime import sleep_ms
|
||
|
from machine import Pin, PWM
|
||
|
|
||
|
class ServoMotor():
|
||
|
def __init__(self, pin):
|
||
|
self.pwm = PWM(Pin(pin), freq=50, duty=0)
|
||
|
self.prev = 0
|
||
|
|
||
|
def set(self, speed):
|
||
|
if self.prev == speed:
|
||
|
# Prevent jerkiness
|
||
|
return
|
||
|
self.prev = speed
|
||
|
if speed == 0:
|
||
|
self.pwm.duty(0)
|
||
|
else:
|
||
|
self.pwm.duty(int(33 + speed * 66 / 100))
|
||
|
print(self.pwm, 33 + speed * 66 / 100)
|
||
|
|
||
|
left_motor = ServoMotor(13)
|
||
|
right_motor = ServoMotor(15)
|
||
|
|
||
|
while True:
|
||
|
left_motor.set(100)
|
||
|
right_motor.set(0)
|
||
|
sleep_ms(500)
|
||
|
left_motor.set(0)
|
||
|
right_motor.set(100)
|
||
|
sleep_ms(500)
|