树莓派超声测距

Posted Fancy_x_l

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派超声测距相关的知识,希望对你有一定的参考价值。

小白一枚,在学校学习做了一下树莓派超声测距

一、传感器原理:

选用的是HC-SR04超声波测距传感器
该传感器有4个引脚:
VCC:超声波模块电源脚,接5V电源即可
Trig:超声波发送脚,高电平时发送出40KHZ出超声波
Echo:超声波接收检测脚,当接收到返回的超声波时,输出高电平
GND:超声波模块GND
• Vcc 和 Gnd ,接树莓派的电源和接地端。
• Trig 引脚用来接收来自树莓派的控制信号。接任意 GPIO 口。
• Echo 引脚用来发送测距结果给树莓派。接任意 GPIO 口。
传感器与树莓派连接好后,将树莓派与显示器相连接。

二、准备:

利用母母线连接,Trig接GPIO 23,Echo接GPIO 24(BCM编码)



三、编程:

1、确认python,python GPIO库是否正确安装
在Raspbian中已经预装了Python2.7.16,直接在命令行输入python即可看到如下信息

使用Python控制GPIO时,常用的是raspberry-gpio-python模块,在2016-05-27-raspbian-jessie版本的系统镜像中,预装了最新的版本v0.7.0,可以在Python中输入下列命令查看:

2、创建一个py文件
输入代码

touch 1.py
python3 1.py

将代码写入,如下图所示

完整代码:
#导入 GPIO库
import RPi.GPIO as GPIO
import time
#设置 GPIO 模式为 BCM
GPIO.setmode(GPIO.BCM)
#定义 GPIO 引脚
GPIO_TRIGGER = 23
GPIO_ECHO = 24
#设置 GPIO 的工作方式 (IN / OUT)
GPIO.setup(GPIO_TRIGGER, GPIO.OUT)
GPIO.setup(GPIO_ECHO, GPIO.IN)
def distance():
# 发送高电平信号到 Trig 引脚
GPIO.output(GPIO_TRIGGER, True)
# 持续 10 us
time.sleep(0.00001)
GPIO.output(GPIO_TRIGGER, False)
start_time = time.time()
stop_time = time.time()
# 记录发送超声波的时刻1
while GPIO.input(GPIO_ECHO) == 0:
start_time = time.time()
# 记录接收到返回超声波的时刻2
while GPIO.input(GPIO_ECHO) == 1:
stop_time = time.time()
# 计算超声波的往返时间 = 时刻2 - 时刻1
time_elapsed = stop_time - start_time
# 声波的速度为 343m/s, 转化为 34300cm/s。
distance = (time_elapsed * 34300) / 2
return distance
if name == ‘main’:
try:
while True:
dist = distance()
print(“Measured Distance = {:.2f} cm”.format(dist))
time.sleep(1)
# Reset by pressing CTRL + C
except KeyboardInterrupt:
print(“Measurement stopped by User”)
GPIO.cleanup()

3、输出结果
输入python3 1.py运行
随意调整距离

大致完成了~

参考网页:
1、https://blog.csdn.net/pkokocl/article/details/52563700?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.control
2、树莓派实验室

以上是关于树莓派超声测距的主要内容,如果未能解决你的问题,请参考以下文章

树莓派超声测距

《树莓派项目实战》第六节 使用超声波模块测距

《树莓派项目实战》第六节 使用超声波模块测距

用树莓派3B+和HC-SR04超声波测距模块实现测距

树莓派使用HC-SR04超声波测距

linux系统下超声波测距(树莓派)