Ниже приведен код, который я запускал на Intel Galileo Gen2. Мне просто интересно, почему, когда объект действительно приближается к ультразвуковому сенсору, программа останавливается и жалуется на то, что переменная sig «локальная переменная sig» ссылается перед назначением »?Galileo и ультразвуковая ошибка при расстоянии менее 4 см.
import mraa
import time
trig = mraa.Gpio(0)
echo = mraa.Gpio(1)
trig.dir(mraa.DIR_OUT)
echo.dir(mraa.DIR_IN)
def distance(measure='cm'):
trig.write(0)
time.sleep(0.2)
trig.write(1)
time.sleep(0.00001)
trig.write(0)
while echo.read() == 0:
nosig = time.time()
while echo.read() == 1:
sig = time.time()
# et = Elapsed Time
et = sig - nosig
if measure == 'cm':
distance = et * 17150
elif measure == 'in':
distance = et/0.000148
else:
print('improper choice of measurement!!')
distance = None
return distance
while True:
print(distance('cm'))
Большое вам спасибо, что смысл :) – Jedani
Если это ответит на ваш вопрос, отметьте его как таковой. Благодаря :) – deets