Example: 50-OpenMV-Boards/50-IMXRT-Boards/50-Board-Control/motor_control_dir_pwm.py

# 本作品采用MIT许可证授权。
# 版权所有 (c) 2013-2024 OpenMV LLC。保留所有权利。
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# 电机控制示例
#
# 此示例展示了如何通过OpenMV Cam控制DIR和PWM电机控制器
# "P0"/"P2"分别作为左/右电机的方向引脚,
# "P7"/"P8"则对应左/右电机的PWM(速度)控制。

import time
from machine import Pin, PWM

p0 = Pin("P0", Pin.OUT)
p2 = Pin("P2", Pin.OUT)
p7 = PWM("P7", freq=10000, duty_u16=0)
p8 = PWM("P8", freq=10000, duty_u16=0)

p0.value(0)
p2.value(0)

while True:
    for i in range(0, 65535, 100):
        p7.duty_u16(i)
        time.sleep_ms(10)

    for i in range(65535, 0, -100):
        p7.duty_u16(i)
        time.sleep_ms(10)

    p0.value(not p0.value())

    for i in range(0, 65535, 100):
        p7.duty_u16(i)
        time.sleep_ms(10)

    for i in range(65535, 0, -100):
        p7.duty_u16(i)
        time.sleep_ms(10)

    p0.value(not p0.value())

    for i in range(0, 65535, 100):
        p8.duty_u16(i)
        time.sleep_ms(10)

    for i in range(65535, 0, -100):
        p8.duty_u16(i)
        time.sleep_ms(10)

    p2.value(not p2.value())

    for i in range(0, 65535, 100):
        p8.duty_u16(i)
        time.sleep_ms(10)

    for i in range(65535, 0, -100):
        p8.duty_u16(i)
        time.sleep_ms(10)

    p2.value(not p2.value())

results matching ""

    No results matching ""