首页 > 解决方案 > 在灯上重置计时器

问题描述

我对代码很陌生,希望 led.off 部分是可扩展的。基本上,如果我在 10 秒用完之前再次按下按钮。因此,如果在点亮之前按下按钮,则会再等待 10 秒,从按下 2 开始。

from time import time, sleep
from signal import pause

led = LED(18) # or whatever pin you've got it on
button = Button(23) # again, adjust as necessary

def light_off_for_10_sec():
    led.off()
    sleep(10)
    led.on()

button.when_pressed = light_off_for_10_sec

点亮前的 10 秒暂停效果很好,但这是我试图用来延长 led.off 时间的方法。

def stretched(values):
    
    when_pressed = 10
    for value in values:
        if value:
            sleep(5)
            pressed = time()
        yield time() - pressed <= 20
        
led.source = stretched(button.pressed)
pause()```


标签: pythonraspberry-pi3

解决方案


推荐阅读