ルーチン説明 23-Motor-Shield->motor-shield-pwm モータードライバーボード出力 PWM
ビデオ チュートリアル 26 - DC モーターを制御するモーター拡張バージョン: 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)
Singtown Technology OpenMV 公式中国語ドキュメント機能説明:
Singtown Technology OpenMV 公式中国語ドキュメント機能説明: