学物联网,来万物简单IoT物联网!!
一、产品简介
HC-SR04超声波传感器使用声纳来确定物体的距离,其工作原理类似与蝙蝠。测量范围从2厘米到450厘米, HC-SR04超声波传感器上配有超声波发射器和接收器两个模块。
超声波测距传感器是数字接口类型,其基本工作过程如下:
- 发射器(触发引脚-Trig),发送信号 一段高频声音
- 当信号遇到一个物体时,它会被反射
- 然后发射器(回声引脚-Echo)接收该信号
引脚定义
- VCC:DC-5V
- Trig:触发(输入)
- Echo:回声(输出)
- GND:地
二、技术参数
- 电源:+ 5V DC
- 静态电流:<2mA
- 工作电流:15mA
- 有效角度:<15°
- 测距:2厘米 - 450厘米
- 分辨率:0.3厘米
- 测量角度:30度
- 触发输入脉冲宽度:10uS
- 尺寸:45mm x 20mm x 15mm
三、软件接口
HCSR04(trigObj,echoObj) - 创建HCSR04超声波传感器对象
- 函数原型
hcsr04Obj = HCSR04(trigObj,echoObj)
- 参数说明
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
trigObj | GPIO | 是 | GPIO配置输出,触发引脚,传入GPIO对象 |
echoObj | GPIO | 是 | GPIO配置输入,测量引脚,传入GPIO对象 |
- 返回值
HCSR04对象成功,返回HCSR04对象;HCSR04对象创建失败,抛出Exception
- 示例代码
import hcsr04
from machine import Pin
echoObj = Pin(2, Pin.IN, Pin.PULL_UP)
trigObj = Pin(3, Pin.OUT)
hcsr04Obj = hcsr04.HCSR04(trigObj,echoObj)
print("Testing HCSR04 ...")
- 输出
Testing HCSR04 ...
measureDistance() - 获取超声波测量的距离
- 函数功能:
获取超声波测量的距离
- 函数原型:
HCSR04.measureDistance()
- 参数说明:
无
- 返回值:
返回值为cm单位的距离值
- 示例:
import hcsr04
from machine import Pin
import utime
echoObj = Pin(2, Pin.IN, Pin.PULL_UP)
trigObj = Pin(3, Pin.OUT)
hcsr04Obj = hcsr04.HCSR04(trigObj,echoObj)
print("Testing HCSR04 ...")
while True: # 无限循环
distance = hcsr04Obj.measureDistance()
print(str(distance)+' CM')
utime.sleep(1) # 打印完之后休眠1秒
- 输出
Testing HCSR04 ...
34 CM
492 CM
四、接口案例
- 案例代码
import hcsr04
from machine import Pin
import utime
echoObj = Pin(2, Pin.IN, Pin.PULL_UP)
trigObj = Pin(3, Pin.OUT)
hcsr04Obj = hcsr04.HCSR04(trigObj,echoObj)
print("Testing HCSR04 ...")
while True: # 无限循环
distance = hcsr04Obj.measureDistance()
print(str(distance)+' CM')
utime.sleep(1) # 打印完之后休眠1秒
- 输出
Testing HCSR04 ...
34 CM
492 CM
五、工作原理
超声波工作示意图
基本原理
- 采用IO口Trig触发测距,对Trig口输出至少10us的高电平
- 模块自动发送8个40Khz的方波,自动检测是否有信号返回
- 有信号返回,通过IO口Echo输出一个高电平,高电平持续的时间就是超声波从发送到返回的时间
- 测试距离 = (高电平持续的时间/声速340m/s)/2
时序原理
参考文献及购买链接
[1] 购买链接