如何在按下按钮之前和之后给出几秒的延迟

如何在按下按钮之前和之后给出几秒的延迟

我希望在条件满足后有 3 秒的延迟,但不会停止任何其他进程。

当我按下按钮 3 秒时,我希望返回值为 true(计时器应仅在按下按钮后启动),否则必须为 false。有什么建议如何操作吗?以下是我尝试过但不起作用的方法

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)


def button():
    if GPIO.input(3) == GPIO.LOW:
      start_time =time.time()
      if (time.time() - start_time) >= 5:
        return True
      else:
        return False
    else:
      return False

答案1

这是解决方案

def button():
    global start_time, end_time
    if GPIO.input(3) == GPIO.HIGH:
        start_time = time.time()
        return False
    if GPIO.input(3) == GPIO.LOW:
        end_time = time.time()
        if (end_time - start_time) >= 3:
            return True    
        else:
            return False

相关内容