如何解决我似乎无法在这里找到导致此故障的错误
我正在尝试连接 4 个不同的 HC-SR04 超声波传感器,但我遇到了有关此错误的一些问题
“回溯(最近一次调用最后一次): 文件“/home/pi/Desktop/multipleultrasonic.py”,第 41 行,在 脉冲持续时间 = 脉冲结束 - 脉冲开始 NameError: name 'pulse_start' 未定义"
我从这里尝试了很多解决方案,甚至网络上的其他链接,但我无法解决问题。我是 Python 的初学者,这增加了混乱。有人可以帮我解决这个错误吗?
import RPi.GPIO as GPIO
import time
from time import sleep
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
TRIG1 = 24
ECHO1 = 23
TRIG2 = 8
ECHO2 = 25
TRIG3 = 0
ECHO3 = 7
TRIG4 = 5
ECHO4 = 1
def take_measurement():
global TRIG,ECHO
pulse_start = pulse_end = 0
print ("Distance Measurement In Progress")
GPIO.setup(TRIG1,GPIO.OUT)
GPIO.setup(ECHO1,GPIO.IN)
GPIO.setup(TRIG2,GPIO.OUT)
GPIO.setup(ECHO2,GPIO.IN)
GPIO.setup(TRIG3,GPIO.OUT)
GPIO.setup(ECHO3,GPIO.IN)
GPIO.setup(TRIG4,GPIO.OUT)
GPIO.setup(ECHO4,GPIO.IN)
GPIO.output(TRIG1,False)
GPIO.output(TRIG2,False)
GPIO.output(TRIG3,False)
GPIO.output(TRIG4,False)
print ("Waiting For Sensor 1 To Send Signal")
time.sleep(2)
GPIO.output(TRIG1,True)
time.sleep(0.00001)
GPIO.output(TRIG1,False)
print ("Reading Sensor 1")
while GPIO.input(ECHO1)==0:
pulse_start = time.time()
while GPIO.input(ECHO1)==1:
pulse_end = time.time()
pulse_duration = pulse_end - pulse_start
distance = pulse_duration * 17150
distance = round( distance,2)
print ("Distance Sensor 1:"+str(distance)+"cm")
print ("Waiting for Sensor 2 to send signal")
time.sleep(2)
GPIO.output(TRIG2,True)
time.sleep(0.00001)
GPIO.output(TRIG2,False)
print ("Reading Sensor 2")
while GPIO.input(ECHO2)==0:
pulse_start = time.time()
while GPIO.input(ECHO2)==1:
pulse_end = time.time()
pulse_duration = pulse_end - pulse_start
distance = pulse_duration * 17150
distance = round( distance,2)
print ("Distance Sensor 2:"+str(distance)+"cm")
print ("Waiting for Sensor 3 to send signal")
time.sleep(2)
GPIO.output(TRIG3,True)
time.sleep(0.00001)
GPIO.output(TRIG3,False)
print ("Reading Sensor 3")
while GPIO.input(ECHO3)==0:
pulse_start = time.time()
while GPIO.input(ECHO3)==1:
pulse_end = time.time()
pulse_duration = pulse_end - pulse_start
distance = pulse_duration * 17150
distance = round( distance,2)
print ("Distance Sensor 3:"+str(distance)+"cm")
print ("Waiting for Sensor 4 to send signal")
time.sleep(2)
GPIO.output(TRIG4,True)
time.sleep(0.00001)
GPIO.output(TRIG4,False)
print ("Reading Sensor 4")
while GPIO.input(ECHO4)==0:
pulse_start = time.time()
while GPIO.input(ECHO4)==1:
pulse_end = time.time()
pulse_duration = pulse_end - pulse_start
distance = pulse_duration * 17150
distance = round( distance,2)
print ("Distance Sensor 4:"+str(distance)+"cm")
print ("Waiting for Sensor 4 to send signal")
GPIO.cleanup()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。