我如何使用 gpiozero 机器人库通过 L298N 改变电机的速度

how can I use gpiozero robot library to change speeds of motors via L298N

在我的 raspberry pi 中,我需要 运行 两个带 L298N 的电机。 我可以在启用引脚上使用 pwm 来改变速度。但我看到 gpiozero 机器人库可以使事情变得容易得多。但 使用 gpiozero 机器人库时,如何通过向启用引脚提供信号来改变这些电机的速度。

我的情况完全一样。您当然可以单独对电机进行编程,但是使用机器人 class 还是很不错的。 为此查看 gpiocode,我发现在我们的例子中,左右元组有第三个参数,它是 PWM 电机速度控制的引脚。 (GPIO 引脚 12 13 18 19 具有硬件 PWM 支持)。元组中的前两个输出引脚将被指示为 1,0 表示前进,0,1 表示后退。 所以这是我的代码行: Initio = 机器人(左=(4, 5, 12), 右=(17, 18, 13))

希望对你有用! 我在股票上有一些有趣的代码用于控制机器人的绝对位置,因此它可以探索其环境。

要改变速度,您需要一个 PWM 信号,无需使用任何库即可完成。

To create a PWM instance:

p = GPIO.PWM(channel, frequency)
To start PWM:

p.start(dc)   # where dc is the duty cycle (0.0 <= dc <= 100.0)
To change the frequency:

p.ChangeFrequency(freq)   # where freq is the new frequency in Hz
To change the duty cycle:

p.ChangeDutyCycle(dc)  # where 0.0 <= dc <= 100.0
To stop PWM:

p.stop()