首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平滑模拟输入值

平滑模拟输入值
EN

Stack Overflow用户
提问于 2020-09-22 21:52:49
回答 1查看 77关注 0票数 0

我制作了一个电位计测试设备,可以从MCP3008模数转换器读取模拟值。

为了隐藏零星的模拟输入波动,我正在计算while循环中几个测量值的平均值,函数类似于:

代码语言:javascript
复制
def analog_average():
    analog1 = (mcp_analog)
    time.sleep(0.001)
    analog2 = (mcp_analog)
    time.sleep(0.001)
    analog3 = (mcp_analog)
    time.sleep(0.001)
    analog4 = (mcp_analog)
    time.sleep(0.001)
    analog5 = (mcp_analog)
    analog_average = ((analog1 + analog2 + analog3 + analog4 + analog5) / 5)
    print(analog_average)

mcp_analog是模数转换器的第一个模拟输入的值。

我得到了我想要的结果。然而,有没有一种更干净、更有效的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-22 22:01:10

使用循环和statistics.mean

代码语言:javascript
复制
from statistics import mean

def analog_average(N):
    measures = []
    for _ in range(N):
        measures.append(mcp_analog.value)
        time.sleep(0.001)

    return mean(measures)

print(analog_average(5))

这样,您就可以轻松地更改样本量,而不必添加越来越多的sleepanalog变量行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64011253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档