Raspberry pi 如何向火焰传感器添加条件语句?

Raspberry pi 如何向火焰传感器添加条件语句?,raspberry-pi,gpio,Raspberry Pi,Gpio,我想输出'flame detected'或'no flame detected',但我不知道如何在代码中实现这一点。我见过谷歌的代码,但他们正在使用 GPIO.add_event_detect(17,GPIO.RISING, callback = mycallback, bouncetime = 600) 它只在检测火焰时起作用。在您的示例中,您检测到的是上升沿(引脚从低到高)。下降沿正好相反,因此您可以使用以下命令触发单独的回调: GPIO.add_event_detect(17, GPIO

我想输出'flame detected'或'no flame detected',但我不知道如何在代码中实现这一点。我见过谷歌的代码,但他们正在使用

GPIO.add_event_detect(17,GPIO.RISING, callback = mycallback, bouncetime = 600)

它只在检测火焰时起作用。

在您的示例中,您检测到的是上升沿(引脚从低到高)。下降沿正好相反,因此您可以使用以下命令触发单独的回调:

GPIO.add_event_detect(17, GPIO.FALLING, callback=other_callback, bouncetime=600)
但是,我建议您使用RPi.GPIO,因为您可能会发现它更直观:

from gpiozero import InputDevice

sensor = InputDevice(17)

while True:
    sensor.wait_for_active()
    print("Fire!")
    sensor.wait_for_inactive()
    print("No fire")
您可能会发现逻辑是相反的(没有火时说“着火”),在这种情况下使用
InputDevice(17,pull\u up=True)

除上述代码外,如果传感器处于活动状态,则可以使用
或使用回调机制
sensor.when\u activated=callback
。有关更多信息,请参阅