超声波测距的原理很简单
超声波测距原理
可以看到,知道时间间隔就能得到距离 L。
那么 HC-SR04 是怎么测距的呢?又怎么使用树莓派控制它?
HC-SR04 介绍
HC-SR04 模块可以测量 3cm - 4m 的距离,精确度可以达到 3mm。这个模块包括 超声波发射器、超声波接收器和控制电路三部分。有 4 个引脚。
HC-SR04 实物图
HC-SR04参数表
接线方式
4 个引脚由 2 个电源引脚(Vcc 、GND)和 2 个控制引脚(Trig、Echo)组成。
VCC 和 GND 接 5v DC 电源,但不推荐用独立电源给它供电,应使用树莓派或单片机的 GPIO 口输出 5v 和 GND 给它供电。不然会影响这个模块的运行。
Trig 引脚用来接收来自树莓派的控制信号。接任意 GPIO 口。
Echo 引脚用来发送测距结果给树莓派。接任意 GPIO 口。
(注意 Echo 返回的是 5v信号,而树莓派的 GPIO 接收超过 3.3v 的信号可能会被烧毁,因此需要加一个分压电路,Arduino不存在这个问题)
这里通过2k(2个1k电阻)+1k电阻做成分压器,使得ECHO返回电压为3.3V
HC-SR04 的测距过程
1. 树莓派向 Trig 脚发送一个持续 10us 的脉冲信号。
2. HC-SR04 接收到树莓派发送的脉冲信号,开始发送超声波 (start sending ultrasoun),并把 Echo置为高电平。 然后准备接收返回的超声波。
3. 当 HC-SR04 接收到返回的超声波 (receive returned ultrasound) 时,把 Echo 置为低电平。
从上述过程可以看出, Echo 高电平持续的时间就是超声波从发射到返回所经过的时间间隔 ~
请对照下图,
程序代码如下:
视频解读
◆ ◆ ◆ ◆ ◆
人工智能必学编程
学编程 就到禾木编程
这里有专业的师资队伍
这里有完善的课程体系
这里有专业的教学方法
这里还有几千学生和你一起学习
期待你的加入
请加老师微信了解更多