我正在构建一台简单的机器,当IR传感器前面有物体时,它会启动电动机。 我能够做到,但是现在我想在按下按钮或传感器前面没有东西(以先到者为准)时停止电动机。
使用此代码,一旦红外传感器检测到某物,电动机就会开始运行4秒钟,但是如果传感器前面没有东西,电动机就不会停止。
import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BOARD)
Motor1A = 16
Motor1B = 18
Motor1E = 22
GPIO.setup(12,GPIO.IN)
GPIO.setup(Motor1A,GPIO.OUT)
GPIO.setup(Motor1B,GPIO.OUT)
GPIO.setup(Motor1E,GPIO.OUT)
while True:
sensor=GPIO.input(12)
if sensor==1:
print("Stopped")
sleep(0.5)
elif sensor==0:
print "Going forwards"
GPIO.output(Motor1A,GPIO.HIGH)
GPIO.output(Motor1B,GPIO.LOW)
GPIO.output(Motor1E,GPIO.HIGH)
sleep(2)
print "Going backwards"
GPIO.output(Motor1A,GPIO.LOW)
GPIO.output(Motor1B,GPIO.HIGH)
GPIO.output(Motor1E,GPIO.HIGH)
sleep(2)
print "Now stop"
GPIO.output(Motor1E,GPIO.LOW)
GPIO.cleanup()
我相信有一个简单的解决方案,我正在尝试寻找一些东西,但我只是不知道要寻找什么。有帮助吗?