求大神帮忙解决下测距的问题
import RPi.GPIO as gpioimport time
def distance(measure='cm'):
try:
gpio.setmode(gpio.BOARD)
gpio.setup(12,gpio.OUT)
gpio.setup(16,gpio.IN)
gpio.output(12,False)
while gpio.input(16) == 0:
nosig = time.time()
while gpio.input(16) == 1:
sig = time.time()
tl = sig - nosig
if measure == 'cm':
distance = tl / 0.000058
elif measure == 'in':
distance = tl / 0.000148
else:
print('improper choice of measurement: in or cm')
distance = None
gpio.cleanup()
return distance
except:
distance = 100
gpio.cleanup()
return distance
#print (distance('cm'))
===============================================
以上是测距程序python代码,,,问题是,执行代码时,前方大约1M有障碍物时,程序正常返回距离;但是在程序执行时,前方1M没有障碍物时,程序进入死循环状态,此时就算在前方增加障碍也没有用,,也就是说只有在程序开始执行时,前方1M有障碍物才有效,执行时前方没有障碍程序死,,,求大神帮忙看看。。
页:
[1]