首页 > 解决方案 > 计算变量增加的速度(python)

问题描述

我有一个小问题,经过一段时间的谷歌搜索,我真的无法弄清楚如何解决。我的项目由一个 rasberry pi 和一个旋转编码器组成,我将用作传感器来查看轴的旋转速度。然后用 Python 编码。那么我的问题是我不知道如何计算这个。旋转编码器直接连接到轴,并以与轴相同的速度旋转,如果我使用此代码,变量“计数器”将在每次“点击”时增加 1。假设这就是我必须做的,我需要知道如何计算计数器增加的速度,以便获得轴的速度。这是因为轴将始终以不同的速度旋转。我需要知道轴旋转速度的原因是因为我有一个显示速度的 UI。

如果您有任何其他我错过的方法,我也将不胜感激。先感谢您。

标签: pythonmathencoderacceleration

解决方案


这就是我计算速度的方式:

首先在顶部添加这个 import time

然后是开始时间变量

clk = 17
dt = 18
starttime = time.time() ## used to calculate a duration

如果您从 time.time() 中减去 starttime,您将得到自定义开始时间变量( time.time() - starttime )以来的时间

因此你然后添加这个

if dtState != clkState:
    counter += 1
    timetakentospinshaft = time.time() - starttime ## this is how long the shaft took to spin 360 degrees
    starttime = time.time() # resetting the duartion

现在你有时间了,所以你可以用距离除以时间来计算速度(速度=距离/时间)

距离可以通过将轴的长度乘以 2π 来计算(计算周长)(距离 = 轴的长度 * 2π)


推荐阅读