初识树莓派系列文章
树莓派小车小白从0到1开发之路,大家如果有兴趣可以共同讨论
一、超声波测距模块HC-SR04
##
1.1 接线规则
- VCC :是HC-SR04超声波距离传感器的电源,接5V引脚。
- Trig (Trigger) :引脚用于触发超声波脉冲。
- Echo :回声当接收到反射信号时,引脚产生一个脉冲。脉冲的长度与检测发射信号所需的时间成正比。
- GND :接地。
1.2 样例代码
import RPi.GPIO as GPIO
import time
# 定义GPIO引脚编号
trig_pin = 16
echo_pin = 18
# 初始化GPIO引脚状态
GPIO.setmode(GPIO.BOARD) # 设置物理引脚模式
GPIO.setup(trig_pin, GPIO.OUT)
GPIO.setup(echo_pin, GPIO.IN)
def distance():
# 发送10us的高电平脉冲
GPIO.output(trig_pin, GPIO.HIGH)
time.sleep(0.00001)
GPIO.output(trig_pin, GPIO.LOW)
# 计算脉冲宽度
while not GPIO.input(echo_pin):
pass
pulse_start = time.time()
while GPIO.input(echo_pin):
pass
pulse_end = time.time()
pulse_duration = pulse_end - pulse_start
# 计算距离并返回
speed_of_sound = 34300 # 声速,单位是厘米/秒
distance = pulse_duration * speed_of_sound / 2
return distance
try:
while True:
dist = distance()
print(f"Distance: {
dist:.2f} cm")
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup() # 清除所有GPIO引脚的状态