我以为我做对了,但我一定做错了。
我想发生的事情是,当我第一次按下按钮时,它将override_set设置为true,然后运行步进电机的命令,然后在屏幕上显示启用了替代功能。当再次按下按钮时,它将使步进电机向前运行,然后将override_set设置为false。
override_set = False
#setting button stuff up
def override (channel):
global override_set
global kit
global gate_open
override_set = not override_set
if overide_set == True:
cv2.putText(frame,'Overide Enabled',(int(IM_WIDTH*.1),int(IM_HEIGHT*.5)),font,3,(0,0,0),7,cv2.LINE_AA)
if override_set:
for i in range(200):
kit.stepper1.onestep(direction=stepper.BACKWARD,style=stepper.MICROSTEP)
gate_open = True
else:
for i in range(200):
kit.stepper1.onestep(direction=stepper.FORWARD,style=stepper.MICROSTEP)
gate_open = False
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.add_event_detect(18, GPIO.FALLING, callback=override, bouncetime=300)
大声笑,我显然没有足够的意见要发表……希望我不会因为使用“答案”来提供帮助而受到抨击。
[当您说按钮不起作用时,您是什么意思?你可以调试吗?代码实际执行吗?还是按下按钮甚至不会触发功能?