使用PiFace Relay Plus和Motor Extra同时运行两个或多个电机

时间:2017-01-18 19:00:13

标签: raspberry-pi raspberry-pi3

我有一个问题。我有一个Raspberry Pi连接到PiFace Relay Plus和PiFace Motor Extra。是否可以同时运行两个或更多电机?

运行一台电机没问题:

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”,但它也没有帮助。我很高兴得到任何帮助。

1 个答案:

答案 0 :(得分:1)

运行程序时是否收到任何错误?查看pifacerelayplus的源代码,如果您在0.15秒内给出两个电机命令,则意图失败,理由是两个电机的启动浪涌可能比您的电源可以处理的更多。一些短暂的睡眠()应该避免这个问题。