我正在用超声波传感器,树莓皮和Python建立一个近地警告系统。我有一个检查距离的循环,基于这个距离,我想读一个标注。在
预期功能:显示在youtube视频Boeing 737 cockpit landing(听自动呼叫-对不起空客球迷;))。在
预期功能说明: 当到达高度时,播放一次mp3声音,但前提是距离越来越近,而不是越远。在
超声波传感器的Python代码:
#! /usr/bin/python
import RPi.GPIO as GPIO
import time
def checkdist():
GPIO.output(16, GPIO.HIGH)
time.sleep(0.000015)
GPIO.output(16, GPIO.LOW)
while not GPIO.input(18):
pass
t1 = time.time()
while GPIO.input(18):
pass
t2 = time.time()
return (t2-t1)*340/2
GPIO.setmode(GPIO.BOARD)
GPIO.setup(16,GPIO.OUT,initial=GPIO.LOW)
GPIO.setup(18,GPIO.IN)
time.sleep(2)
os.system('mpg123 -q PWSOnline.mp3 &')
try:
while True:
print('Distance: %0.2f m' %checkdist())
time.sleep(0.1)
except KeyboardInterrupt:
GPIO.cleanup()
我想做的是:
特别是超声传感器的距离值有跳跃的趋势 在更大的距离上,用某种方法得到最后0.5的平均值 几秒钟?
仅当距离越来越近而不是更远时,才播放详图索引 所以我想它需要看到1秒内的平均变化(是减少还是增加)?
播放一次标注。
问题是:
while
循环中最后一秒的平均值?在
目前没有回答
相关问题 更多 >
编程相关推荐