使用 esp32 在 micropython 中测量时间小于一秒

问题描述 投票:0回答:1

我有一个项目,我需要测量车轮的速度,我需要知道距离最后一次按下按钮已经过去了多少时间。 目前我正在使用 time.time() 来测量秒数。这是我的代码:

speeds=[]
break_btn = Pin(33,Pin.IN,Pin.PULL_DOWN)
for i in range(1000):
    time.sleep(0.07)
    if break_btn.value():
        time_passed=time.time() - start_time   # measuring time passed from last press of button
        start_time = time.time() # resetting time of last button press
        print(time_passed) # only for debug
        if time_passed != 0: # preventing devide by zero error
            speeds.append(0.335/time_passed) # using time to measure speed
print(speeds)
python esp32 micropython
1个回答
0
投票

我找到了答案。我应该使用

time.ticks_ms()
而不是
time.time()
,也应该使用
time.ticks_diff(time.ticks_ms(), start_time) / 1000
而不是
time.time() - start_time
。第二部分是可选的,我还需要将其除以 1000 才能将毫秒转换为秒。

© www.soinside.com 2019 - 2024. All rights reserved.