例程讲解23-Motor-Shield->motor-shield-pwm 电机驱动板输出PWM

视频教程26 - 电机扩展版控制直流电机:https://singtown.com/learn/50231/

# 电机驱动板输出PWM例程
#
# 此示例显示如何控制OpenMV Cam上的电机扩展板。 
# 通过使用PYB模块控制电机扩展板,可以通过PWM控制速度并设置数字I/O引脚状态。 
# 电机扩展板需要6个I/O引脚用于两个电机。

import pyb

# 这些引脚控制我们的方向,而下面的其他PWN引脚控制速度。 
# 每个电机的方向由H桥设置,其中A0/1是一个H桥驱动器的两侧。 B0/1是另一个H桥。
pinADir0 = pyb.Pin('P3', pyb.Pin.OUT_PP, pyb.Pin.PULL_NONE)
pinADir1 = pyb.Pin('P2', pyb.Pin.OUT_PP, pyb.Pin.PULL_NONE)
pinBDir0 = pyb.Pin('P1', pyb.Pin.OUT_PP, pyb.Pin.PULL_NONE)
pinBDir1 = pyb.Pin('P0', pyb.Pin.OUT_PP, pyb.Pin.PULL_NONE)

# 对于向前或向后操作,Dir0/1必须彼此不相等。如果它们相等则那就是刹车操作。 
# 如果它们不相等,则电机将以另一个方式旋转,这取决于它的连接和dir 0的值。
pinADir0.value(0)
pinADir1.value(1)

# 对于向前或向后操作,Dir0/1必须彼此不相等。如果它们相等则那就是刹车操作。 
# 如果它们不相等,则电机将以另一个方式旋转,这取决于它的连接和dir 0的值。
pinBDir0.value(0)
pinBDir1.value(1)

# 创建一个以1KHz运行的定时器对象,它将为我们的OpenMV Cam上的PWM输出供电。 
# 只需要创建一次。
tim = pyb.Timer(4, freq=1000)

# 使用timer对象在OpenMV Cam上创建两个PWM输出。这些定时器控制电机的速度。 
# 您将在循环中重复设置这些定时器的PWM百分比。
chA = tim.channel(1, pyb.Timer.PWM, pin=pyb.Pin("P7"))
chB = tim.channel(2, pyb.Timer.PWM, pin=pyb.Pin("P8"))

while (True):

    for i in range(100):
        pyb.delay(100)
        chA.pulse_width_percent(i)
        chB.pulse_width_percent(99-i)

    for i in range(100):
        pyb.delay(100)
        chA.pulse_width_percent(99-i)
        chB.pulse_width_percent(i)

星瞳科技OpenMV官方中文文档函数讲解:

星瞳科技OpenMV官方中文文档函数讲解:

星瞳科技OpenMV官方中文文档函数讲解:

星瞳科技OpenMV官方中文文档函数讲解:

results matching ""

    No results matching ""