我正在尝试遵循这个例子。使用以下两行,一切正常
pir.when_motion = led.on
pir.when_no_motion = led.off
但是当我将事件处理程序分配给pir.when_motion
我可以看到函数、turnOnLed
和turnOffLed
被调用,但看不到 LED 的打开和关闭。
下面是我的代码。我错过了什么吗?
from gpiozero import MotionSensor , LED
from signal import pause
import time
pir = MotionSensor(4)
led = LED(16)
def logMessage(msg):
print(msg)
def turnOnLed():
logMessage('About to turn on LED...')
led.on
logMessage('LED turned on...')
def turnOffLed():
logMessage('About to turn off LED...')
led.off
logMessage('LED turned off...')
def myfun():
logMessage('Motion detected...')
pir.when_motion = led.on #If I replace led.on with event handler trunOnLed, I cant see LED switching on.
pir.when_no_motion = led.off
logMessage('Before pause')
pause()
另外,我注意到如果有连续运动,pir.when_no_motion
事件会在大约 4 秒后立即触发。pir.when_motion
关于什么可能是错误的任何指示?