【发布时间】:2020-05-18 00:01:11
【问题描述】:
首先,我不是程序员,我可以将代码拼凑在一起,但我被这个难住了。我有一个声纳距离传感器,我想读取 10 个读数来找到这些读数的平均值。我发现第一次阅读通常很遥远,所以认为 10 会是一个不错的数字。找到了一些关于基本循环的教程,但不知道如何将其应用于我的情况。这是我要循环的一段代码和当前输出。有什么建议吗?
GPIO.output(PIN_TRIGGER, GPIO.HIGH)
time.sleep(0.00001)
GPIO.output(PIN_TRIGGER, GPIO.LOW)
while GPIO.input(PIN_ECHO)==0:
pulse_start_time = time.time()
while GPIO.input(PIN_ECHO)==1:
pulse_end_time = time.time()
pulse_duration = pulse_end_time - pulse_start_time
distance = round(pulse_duration * 17150, 2)
print "Distance:",distance,"cm"
【问题讨论】:
-
我假设您共享的代码对您有效,并让您在
distance中获得单次阅读,对吗?你想一个接一个地读取 10 个这样的读数并计算这 10 个读数的平均值吗?那么,对于 10 个读数中的每一个,您想将这些读数相加并除以 10 吗? -
是的。非常正确。代码目前有效,请给我一读。
-
如果你看过一些关于循环的教程并注意了,你肯定找到了一些关于如何尝试编码的线索“对于 10 个读数中的每一个,你想将这些读数加在一起并将总和除以 10” ?请分享您尝试过的内容,并说明如果它不起作用,您不明白什么。
-
我的编码能力非常低。我确实看过一些教程并了解他们在做什么,但它们太笼统了。许多人只使用了一个While。我不明白如何使用我当前的 While 语句创建循环。我尝试过的一切都给了我错误。
-
我可以弄清楚如何手动进行多次读数并取这些数字的平均值,但我认为我应该尝试用更少的代码以正确的方式来做。 ;)
标签: python loops average distance sensors