如果在时间限制内未满足条件,则不要增加价值

don't add to value if condition hasn't been met for a time limit

我正在基于 pwm 控制机器人的前进速度(速度的确定方式与控制伺服系统的方式相同,1.5ms 为空档,2ms 和 1ms 分别为前进和后退)

如果 key.get_pressed()[K_w] 持续时间超过 0.5 秒,我想向 pwm 添加 100µs(如果 w 未按下的时间少于 0.5,则一旦按下 w,向 pwm 添加 100µs秒)

详情: 可变 pwm 以 µs 为单位,key.get_pressed()[K_w] returns 所有键的状态(1 被按下 & 0 未被按下)

伪代码位:

while True:
  if key.get_pressed()[K_w]:
    pwm = pwm + 100 if w's time since last pressed has lasted < 0.5 seconds
    throttle(pwm)

我完全厌倦了处理这个问题,我已经坚持了一个星期,我讨厌它。

我认为这应该可行(尚未测试)

import time
last_press = 0
if key.get_pressed()[K_w]:
  span = time.time() - last_press
  last_press = time.time()
  if span < 0.5:
    pwm += 100
    throttle(pwm)