python - 计算变量增加的速度(python)
问题描述
我有一个小问题,经过一段时间的谷歌搜索,我真的无法弄清楚如何解决。我的项目由一个 rasberry pi 和一个旋转编码器组成,我将用作传感器来查看轴的旋转速度。然后用 Python 编码。那么我的问题是我不知道如何计算这个。旋转编码器直接连接到轴,并以与轴相同的速度旋转,如果我使用此代码,变量“计数器”将在每次“点击”时增加 1。假设这就是我必须做的,我需要知道如何计算计数器增加的速度,以便获得轴的速度。这是因为轴将始终以不同的速度旋转。我需要知道轴旋转速度的原因是因为我有一个显示速度的 UI。
如果您有任何其他我错过的方法,我也将不胜感激。先感谢您。
解决方案
这就是我计算速度的方式:
首先在顶部添加这个
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π)
推荐阅读
- vue.js - v-on 处理程序中的错误:“TypeError:无法读取未定义的属性 '_t'”
- linux - 关于杀死用户空间驱动程序进程的问题?
- c - C初学者:乘法表
- pointers - 我该如何解决这个问题:“无法在初始化中将 'int**' 转换为 'int*'”
- javascript - Angular / Firestore - combineLatest / switchMap 之后的任何内容都被忽略
- scala - spark scala列到列唯一值的计数器
- ios - 有没有办法修复swiftUI中的按钮宽度?
- r - 与字母组合时,如何按数字对 df 中的行名进行排序?
- android - 审核通过后,应用会自动发布到商店吗?
- r - r: How to format many columns at once based on specific column names from "as.character" to "as.Date" and subsequently find the most recent date?