from pca9685 import PCA9685
from machine import Pin, I2C
import time
delay = None
i = None
MIN_DUTY = int(4096 * 500 / 20000)
MAX_DUTY = int(4096 * 2500 / 20000)
SERVO_SPAN = MAX_DUTY - MIN_DUTY
def angleToDutyCycle(angle):
dutyCycle = int(MIN_DUTY + (angle * SERVO_SPAN / 180))
dutyCycle = min(MAX_DUTY, max(MIN_DUTY, dutyCycle))
return dutyCycle
pca9685_i2c = I2C(0, scl=Pin((17)), sda=Pin((16)))
pca9685 =PCA9685(pca9685_i2c)
pca9685.freq(50)
delay = 10
while True:
for i in range(181):
pca9685.duty(0, angleToDutyCycle(i))
time.sleep_ms(delay)
for i in range(180, -1, -1):
pca9685.duty(0, angleToDutyCycle(i))
time.sleep_ms(delay)