在我的树莓派中,我需要用 L298N 运行两个电机。我可以在启用引脚上使用 pwm 来改变速度。但我看到 gpiozero 机器人库可以让事情变得更容易。但是当使用 gpiozero 机器人库时,我如何通过给启用引脚提供信号来改变这些电机的速度。
2 回答
1
我的情况完全一样。您当然可以单独对电机进行编程,但使用机器人类很好。查看 gpiocode,我发现在我们的例子中,左右元组有第三个参数,它是用于 PWM 电机速度控制的引脚。(GPIO 引脚 12 13 18 19 具有硬件 PWM 支持)。元组中的前两个输出引脚将被标记为 1,0 表示前进,0,1 表示后退。所以这是我的代码行:Initio = Robot(left=(4, 5, 12), right=(17, 18, 13))
希望对你有帮助!我在股票上有一些有趣的代码来控制机器人的绝对位置,所以它可以探索它的环境。
于 2019-12-02T17:49:11.003 回答
0
要改变速度,您需要一个 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()
于 2020-05-12T13:40:08.880 回答