我使用两个传感器。该代码适用于一种,但不适用于另一种。
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
TRIG = 8
ECHO = 10
GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)
print ("Distance measurement in progress")
GPIO.output(TRIG, False)
print ("Waitng For Sensor To Settle")
time.sleep(1)
def dist ():
while True:
time.sleep(0.1)
GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)
while GPIO.input(ECHO)==0:
pulse_start = time.time()
while GPIO.input(ECHO)==1:
pulse_end = time.time()
pulse_duration = pulse_end - pulse_start
distance = (pulse_duration * 36320) / 2
distance = round(distance, 2)
return distance
while True:
print(dist())
我尝试了“全局”,但那一次给了我“名称错误”。 请给我另一个解决方案。
-这些传感器在 3.3V 下工作,因此我将其中两个连接到 Raspberry 的 3.3V 引脚上。因为不想在面包板上使用很多 diots。
-我尝试将其中一个连接到 5V 引脚上,将另一个连接到 3.3V 引脚上。它以这种方式工作。(也许这对遇到同样问题的人有所帮助)
-但还是不明白为什么。那么使用 3.3V 引脚有什么限制吗?