树莓派超声波测距python
时间: 2023-06-23 07:43:11 浏览: 70
好的,以下是树莓派超声波测距的Python代码,需要使用GPIO库和time库:
```python
import RPi.GPIO as GPIO
import time
# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)
# 设置GPIO引脚
TRIG = 23
ECHO = 24
# 设置GPIO输入输出
GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)
def distance():
# 发送一次触发信号
GPIO.output(TRIG, GPIO.HIGH)
time.sleep(0.00001)
GPIO.output(TRIG, GPIO.LOW)
# 等待高电平结束
while GPIO.input(ECHO) == GPIO.LOW:
pass
start_time = time.time()
# 等待高电平开始
while GPIO.input(ECHO) == GPIO.HIGH:
pass
end_time = time.time()
# 计算距离
duration = end_time - start_time
distance_cm = duration * 34000 / 2
return distance_cm
# 测试
try:
while True:
dist = distance()
print("Distance: {:.2f} cm".format(dist))
time.sleep(1)
except KeyboardInterrupt:
print("Measurement stopped by User")
GPIO.cleanup()
```
这段代码会不断地测量超声波传感器与障碍物之间的距离,并输出到控制台上。你可以根据需要修改代码中的引脚号码。