Raspberry pi 使用PiFace继电器Plus和额外电机同时运行两个或多个电机

Raspberry pi 使用PiFace继电器Plus和额外电机同时运行两个或多个电机,raspberry-pi,raspberry-pi3,Raspberry Pi,Raspberry Pi3,我有个问题。我有一个树莓Pi连接到PiFace继电器Plus和PiFace电机额外。是否可以同时运行两个或多个电机 我运行一个电机没有问题: import pifacerelayplus import time pfr = pifacerelayplus.PiFaceRelayPlus(pifacerelayplus.MOTOR_DC) pfr.motors[0].forward() time.sleep(5) pfr.motors[0].coast() 我还设法运行了一个电机,而不是下一

我有个问题。我有一个树莓Pi连接到PiFace继电器Plus和PiFace电机额外。是否可以同时运行两个或多个电机

我运行一个电机没有问题:

import pifacerelayplus
import time

pfr = pifacerelayplus.PiFaceRelayPlus(pifacerelayplus.MOTOR_DC)

pfr.motors[0].forward()
time.sleep(5)
pfr.motors[0].coast()
我还设法运行了一个电机,而不是下一个:

import pifacerelayplus
import time

pfr = pifacerelayplus.PiFaceRelayPlus(pifacerelayplus.MOTOR_DC)

pfr.motors[0].forward()
time.sleep(5)
pfr.motors[0].coast()
time.sleep(2)
pfr.motors[1].forward()
time.sleep(5)
time.motors[1].coast()
但我不知道如何让两个马达同时运转。我试过这段代码,但它只运行第一个马达,程序结束后,第一个马达仍然运行,而且从不停止。第二个马达从未开始运转

import pifacerelayplus
import time

pfr = pifacerelayplus.PiFaceRelayPlus(pifacerelayplus.MOTOR_DC)

pfr.motors[0].forward()
pfr.motors[1].forward()
time.sleep(5)
pfr.motors[0].coast()
pfr.motors[1].coast()

我甚至试着为第二个马达创建另一个变量prf2,但也没用。我很高兴能得到任何帮助。

您在运行程序时是否遇到任何错误?查看pifacerelayplus的源代码,如果您在0.15秒内发出两个电机命令,则可能会失败,原因是两个电机同时启动时的浪涌可能超出电源的处理能力。几次短暂的睡眠可以避免这个问题。

我没有收到任何错误消息。但你的建议奏效了。我增加了时间。在单个马达命令之间加上0.5的睡眠时间,现在可以工作了。谢谢。