I’m looking for a way to slow down the movement speed of the servos while using the servo shield example code. The only way I can figure out how to make this work right now is to send a bunch of intermediate steps instead of just the final position with a speed value. Doing it the way I have below will probably restrict the processing for individual image processing tasks I will need to add in. Any ideas?
# Servo Shield Example.
#
# This example demonstrates the servo shield. Please follow these steps:
#
# 1. Connect a servo to any PWM output.
# 2. Connect a 3.7v battery (or 5V source) to VIN and GND.
# 3. Copy pca9685.py and servo.py to OpenMV and reset it.
# 4. Connect and run this script in the IDE.
import time
from servo import Servos
from machine import I2C, Pin
i2c = I2C(sda=Pin('P5'), scl=Pin('P4'))
servo = Servos(i2c, address=0x40, freq=50, min_us=650, max_us=2800, degrees=180)
while True:
for j in range(45, 135, 5):
for i in range(0, 8):
servo.position(i, j)
time.sleep(50)
for j in range(135, 45, -5):
for i in range(0, 8):
servo.position(i, j)
time.sleep(50)
Ben