在我的树莓Pi上,我有用Python编写的代码来控制我车上的引擎。我用GPIO控制引擎。它工作,但问题是,当我设置io去,然后我设置io改变方向停止。为什么它不能同时做两件事? 这是我的密码:
import RPi.GPIO as io
import time
import serial
class TankManager:
pLeft = 0
pRight = 0
turnBarrel = 0
liftBarrel = 0
def __init__(self):
io.setmode(io.BCM)
def goahead(self, speed):
if(speed > 25) : speed = 25
io.setup(12, io.OUT)
TankManager.pLeft = io.PWM(12, 2.2)
TankManager.pLeft.start(1)
io.setup(13, io.OUT)
TankManager.pRight = io.PWM(13, 2.2)
TankManager.pRight.start(1)
io.setup(20, io.OUT)
io.output(20, False)
io.setup(21, io.OUT)
io.output(21, False)
return
def gostop(self):
if 'pLeft' in globals():
TankManager.pLeft.stop()
if 'pRight' in globals():
TankManager.pRight.stop()
io.cleanup();
return
def turnright(self):
io.setup(12, io.OUT)
TankManager.pLeft = io.PWM(12, 2.2)
TankManager.pLeft.start(1)
io.setup(21, io.OUT)
io.output(21, False)
return
def turnbarrelstop(self):
if 'turnBarrel' in globals():
TankManager.turnBarrel.stop()
io.cleanup();
return
举个例子,当我让turnbarrelstop停在坦克上的时候,桶也停了。可能是因为我打电话io.清除() ? 它能阻止所有的GPIO信号吗? 我想停止桶,但不停止去坦克。你知道吗
不要打电话io.清除(). 我建议不要在gostop()函数中调用它。只有在退出程序时才使用它。你知道吗
您只需更改特定io引脚的(电平或脉宽调制(PWM)即可。你知道吗
相关问题 更多 >
编程相关推荐