使用RaspberryPi3测试距离检查时出错?任何建议?

时间:2018-02-27 15:42:31

标签: python python-3.x raspberry-pi raspberry-pi3

以下是我的代码,我经常得到" NameError:name' start'未定义"

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(0)
tr = 4
ec = 18
GPIO.setup(tr, GPIO.OUT)
GPIO.setup(ec, GPIO.IN)
GPIO.output(tr, True)
time.sleep(0.0001)
GPIO.output(tr, False)

while GPIO.input(ec) == 0:
    start = time.time()
while GPIO.input(ec) == 1:
    end = time.time()

distance = (end-start) * 17200
print('Distance: {} cm'.format(distance))
GPIO.cleanup()

任何人都可以拥有更好的代码吗?

1 个答案:

答案 0 :(得分:2)

您在while循环中定义start,如果执行时GPIO.input(ec) != 0,则不会定义start,您将收到该错误。

start = 0start = time.time()放在while循环之前,以确保它已定义。

end变量

也是如此