在我的树莓派中,我需要用一个L298N来运行两个马达。我可以脉宽调制使能引脚改变速度。但我看到gpiozero机器人库可以让事情变得更容易。但是当使用gpiozero机器人库时,我如何通过给使能引脚提供signel来改变这些电机的速度。
发布于 2020-05-12 21:40:09
要改变速度,你需要一个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()发布于 2019-12-03 01:49:11
我也有同样的情况。当然,您可以单独对电机进行编程,但是使用robot类是很好的。查看gpiocode,我发现在我们的例子中,左边和右边的元组有第三个参数,它是PWM电机速度控制的引脚。(GPIO引脚12 13 18 19支持硬件PWM )。元组中的前两个输出引脚将被表示为1,0表示前向,0,1表示后向。下面是我的代码行: Initio = Robot(left=(4,5,12),right=(17,18,13))
希望它能为你工作!我在股票上有一些有趣的代码来控制机器人的绝对位置,这样它就可以探索它的环境。
https://stackoverflow.com/questions/57038494
复制相似问题