一起玩转树莓派(14)——超声测距

简介: 一起玩转树莓派(14)——超声测距

当今,汽车行业的发展可谓是日新月异。智能汽车的概念也越来越火热。自动驾驶也将得到越来越广泛的应用。不知你有没有想过,平时我们在人工驾驶汽车时,主要使用的是视觉来感知距离,对于人工智能来说,它是如何通过感知距离来获取周围环境信息的呢?这就需要使用到相关的测距传感器。


一、超声测距传感器


我们知道,超声波频率高,相对于普通声波,其能量消耗慢,传播距离远且指向性很强。十分适合用来进行距离的测量。本次实验,我们使用HC-SR04超声测距模块来进行距离测量。元件如下图所示:

image.png



如上图所示,HC-SR04模块有一个超声发生器(T端)和一个超声收集器(R端)以及4个引脚。在网上很容易购买到此模块,其价格低廉,精准度高,使用简单,性价比非常高。HC-SR04硬件原理图如下:


image.png


模块内部电路结构虽然看上去非常复杂,但是我们使用它来测距并不需要了解其内部完整的工作原理,要进行距离的测定,离不开公式_s = v * t_。如果要计算出距离s,需要得知速度v和时间t,声波的速度v是一定的,我们可以取340m/s,时间t就是HC-SR04模块能够帮助我们得到的。


超声测距的核心原理是通过发生源发出超声波,当超声波遇到障碍时会被反射,反射的超声波可以被感知源感知到,从声波发出到被感知到这之间的时间就是超声波从模块到障碍物间传递一次来回所使用的时间。如下图所示:


image.png


对于HC-SR04模块,其Trig引脚是触发引脚,向其发10us以上的高电平即可触发发送超声波指令,HC-SR04模块会自动发送8个40kHz的方波,当发送完成后,Echo引脚会输出高电平,当收到反射回来的声波后,Echo会重新变回低电平。因此,在使用HC-SR04模块时,我们只需要通过向Trig引脚加高电平触发测量指令,之后监听Echo引脚高电平的持续时间,即可完成测距工作。


二、连线与编码


我们选择BCM编码下的GPIO17来控制超声发生Trig引脚,使用GPIO18来获取Echo引脚的电平。连线如下:


HC-SR04模块 树莓派

VCC +5V电源

GND GND

Trig GPIO17(BCM编码)

Echo CGIO18(BCM编码)

编写如下代码:


#coding:utf-8


import RPi.GPIO as GPIO

import time


# 触发声波引脚

trig = 11

# 监听信号

echo = 12


def getDistance():

# 输出高电平

GPIO.output(trig, GPIO.HIGH)

# 持续15us高电平 触发超声波

time.sleep(0.000015)

# 停止加高电平

GPIO.output(trig, GPIO.LOW)


# 开始检测信号引脚的电平为高电平时开始计时

while GPIO.input(echo) == 0:

 pass

t1 = time.time()

# 信号引脚的电平为低电平时计算时间间隔

while GPIO.input(echo) == 1:

 pass

t2 = time.time()

# 计算距离

s = (t2 - t1)*340/2

return s


GPIO.setmode(GPIO.BOARD)

GPIO.setup(trig, GPIO.OUT, initial=GPIO.LOW)

GPIO.setup(echo, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)


while True:

s = getDistance()

print("当前距离前方障碍物:%fm"%(s))

time.sleep(1)


在树莓派中运行上面代码,即可实现超声波测距,效果如下图:

image.png

目录
相关文章
|
8月前
|
传感器
光学雨量计红外雨量传感器应用于小型气象站
光学雨量计红外雨量传感器应用于小型气象站
光学雨量计红外雨量传感器应用于小型气象站
|
传感器
红外雨量计(光学雨量传感器)安装注意要点
红外雨量计是一种用来测量降雨量的设备,它采用了先进的红外线技术,可以非常精确地测量降雨量,并可自动记录数据。在红外雨量计的安装过程中,需要注意以下要点:
红外雨量计(光学雨量传感器)安装注意要点
|
传感器 算法 数据处理
红外雨量计(光学雨量传感器)在雨量场景的改造关键
红外雨量计是一种利用红外光谱技术测量雨滴大小和数量的仪器,它可以有效地测量降雨量、雨滴落速等雨量信息,是天气预报、气象灾害防御和水文学研究等领域中不可或缺的工具。但是,在实际应用中,红外雨量计也面临着一系列挑战,比如雨量场景复杂多变、仪器精度不高等问题,因此对红外雨量计进行改造是非常重要的。
红外雨量计(光学雨量传感器)在雨量场景的改造关键
|
传感器 数据采集 安全
红外雨量计(光学雨量传感器)在小型气象站的应用
红外雨量计是一种常见的气象测量设备,也是小型气象站中一个重要的组成部分。随着现代科技的发展,红外雨量计逐渐取代了传统的测雨器,成为广大气象从业人员的首选设备。本文将介绍红外雨量计在小型气象站的应用。
红外雨量计(光学雨量传感器)在小型气象站的应用
|
传感器 安全
红外雨量计(光学雨量传感器)在船舶航行中的应用
红外雨量计是一种能够测量降雨量的仪器,其原理是通过红外线感应雨滴的存在,从而计算出降雨量。在船舶航行中,红外雨量计可以被用于以下情况:
红外雨量计(光学雨量传感器)在船舶航行中的应用
|
传感器 安全
红外雨量计在小型气象站中的应用
红外雨量计是小型气象站中常用的一种雨量检测设备。它采用了红外线接收器和光源组成的检测系统,通过探测雨滴经过时产生的反射信号,实现了对降雨量的快速准确测量。下面将详细介绍红外雨量计在小型气象站中的应用。
红外雨量计在小型气象站中的应用
|
传感器
红外雨量计在智慧灌溉中的几个方面应用
红外雨量计是一种测量降雨量的仪器,通过红外线传感器来检测雨滴的数量和大小,进而计算出降雨量。在智慧灌溉中,红外雨量计可以用来实时监测降雨情况,根据降雨量的大小和分布来自动控制灌溉系统的开启和关闭,从而达到节水和增加作物产量的目的。
红外雨量计在智慧灌溉中的几个方面应用
|
传感器 数据挖掘
红外雨量计(光学雨量传感器)在智慧灌溉中的应用
红外雨量计是一种利用红外线原理测量雨水量的传感器,可以用于智慧灌溉中实现精准测量和控制灌溉量,从而提高灌溉效率和节约水资源。
红外雨量计(光学雨量传感器)在智慧灌溉中的应用
红外温度计(测温仪)的原理是什么?
测温枪学名是“红外温度计”或“红外辐射温度计”。测温枪原理是被动吸收物体的红外辐射能量,获得物体的温度数值
红外温度计(测温仪)的原理是什么?
|
存储 人工智能 API
红外热成像仪测温模块开发资料准备
MLX90640 有两个型号, A 型和 B 型,各拍了一个,在等待物流的过程中索性先做些准备工作,也科普一下红外成像是怎么回事。
红外热成像仪测温模块开发资料准备