使用红外传感器启动和停止直流电动机

时间:2018-10-10 00:13:38

标签: python raspberry-pi sensor

我正在构建一台简单的机器,当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()

我相信有一个简单的解决方案,我正在尝试寻找一些东西,但我只是不知道要寻找什么。有帮助吗?

0 个答案:

没有答案