openmv/scripts/examples/50-OpenMV-Boards/60-Shields/61-Servo-Shield/main.py
王开智 9937f49af1
examples/ServoShield: Change to SoftI2c for RT. (#2206)
Use SoftI2C to support OpenMV RT.
2024-07-15 00:06:01 +02:00

28 lines
842 B
Python

# This work is licensed under the MIT license.
# Copyright (c) 2013-2023 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# 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 SoftI2C, Pin
i2c = SoftI2C(sda=Pin("P5"), scl=Pin("P4"))
servo = Servos(i2c, address=0x40, freq=50, min_us=650, max_us=2800, degrees=180)
while True:
for i in range(0, 8):
servo.position(i, 0)
time.sleep_ms(500)
for i in range(0, 8):
servo.position(i, 180)
time.sleep_ms(500)