servo_control.py
# Эта работа лицензирована по лицензии MIT.
# Copyright (c) 2013-2026 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Пример управления сервоприводом
#
# Этот пример показывает, как использовать камеру OpenMV Cam для управления сервоприводами.
#
# Сервоприводам нужен ШИМ 50 Гц с шириной импульса от 1000 до 2000 мкс.
import time
from machine import PWM
# P0 и P1 используют один и тот же канал UTIMER, поэтому у них должна
# быть одинаковая частота.
p0 = PWM("P0", freq=50, duty_ns=(2000 * 1000))
p1 = PWM("P1", freq=50, duty_ns=(2000 * 1000))
# P2 и P3 используют один и тот же канал UTIMER, поэтому у них должна
# быть одинаковая частота.
p2 = PWM("P2", freq=50, duty_ns=(2000 * 1000))
p3 = PWM("P3", freq=50, duty_ns=(2000 * 1000))
while True:
for i in range(1000, 2000, 100):
p0.duty_ns(i * 1000)
p1.duty_ns(i * 1000)
p2.duty_ns(i * 1000)
p3.duty_ns(i * 1000)
time.sleep_ms(1000)
for i in range(2000, 1000, -100):
p0.duty_ns(i * 1000)
p1.duty_ns(i * 1000)
p2.duty_ns(i * 1000)
p3.duty_ns(i * 1000)
time.sleep_ms(1000)