HCSR04 模块
模块介绍
HC-SR04 超声波传感器驱动类,用于测量距离。测距范围:2cm ~ 400cm,适用于避障、测距、定位等应用场景。
硬件引脚说明
| 引脚名称 | 全称/含义 | 接线颜色 | 功能描述 |
|---|---|---|---|
| Trig | Trigger/触发 | 黄色 | 触发信号引脚,用于发送超声波脉冲(输出模式) |
| Echo | Echo/回响 | 绿色 | 回响信号引脚,用于接收超声波回波(输入模式) |
| VCC | Voltage/电源 | 红色 | 电源电压输入(5V) |
| GND | Ground/地线 | 黑色 | 接地引脚,完成电路回路 |
初始化参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| trig_pin | Pin | 无 | 触发信号引脚(machine.Pin实例) |
| echo_pin | Pin | 无 | 回响信号引脚(machine.Pin实例) |
| echo_timeout_us | int | 30000 | 等待回声信号的最大时间(微秒),默认约 5 米 |
导入和实例创建
python
from machine import Pin
from hcsr04 import HCSR04
# 初始化超声波传感器
sensor = HCSR04(trig_pin=Pin(14), echo_pin=Pin(12))核心属性方法
| 属性或方法 | 参数 | 返回类型 | 说明 |
|---|---|---|---|
| get_distance() | 无 | float | 获取当前测量的距离值(厘米) |
| distance | 无 | float | 只读属性:等同于 get_distance(),返回当前距离值(厘米) |
使用示例
基本测距
python
from machine import Pin
from hcsr04 import HCSR04
from time import sleep_ms
# 初始化超声波传感器
sensor = HCSR04(trig_pin=Pin(14), echo_pin=Pin(12))
while True:
distance = sensor.get_distance()
print(f"当前距离: {distance:.1f} cm")
sleep_ms(500) # 配合延时使用,防止程序过载使用属性访问
python
from machine import Pin
from hcsr04 import HCSR04
from time import sleep_ms
# 初始化超声波传感器
sensor = HCSR04(trig_pin=Pin(14), echo_pin=Pin(12))
while True:
# 使用distance属性获取距离
print(f"当前距离: {sensor.distance:.1f} cm")
sleep_ms(500)注意事项
引脚要求
- Trig 引脚需支持输出模式,Echo 引脚需支持输入模式
参数范围
- 有效测距范围为 2cm ~ 400cm,超出范围可能返回异常值
使用技巧
- 在 while True 循环中请配合延时函数使用,防止程序过载
- echo_timeout_us 参数影响最大测距距离,可根据实际需求调整
- 超声波测距受温度、湿度等环境因素影响,建议在稳定环境中使用