Overview
基础概况
HC-SR04 使用 40kHz 超声波进行非接触式测距,常见于智能小车、垃圾桶自动开盖、倒车雷达和入门教学项目。
工作原理:Trig 引脚接收到触发脉冲后,模块发出 8 个 40kHz 超声波脉冲。Echo 引脚输出高电平持续时间,主控根据声波往返时间计算距离。
Engineering
工程要点
工程要点
- 难度
- 入门
- 数据状态
- 待核实
- 接口
- GPIOTrig/Echo
- 常用主控
- ArduinoESP32STM32Raspberry Pi Pico
供电与采购
- 供电
- 5V
- 逻辑电平
- Echo 常见为 5V
- 电流
- < 15mA
- 购买关键词
- HC-SR04 超声波超声波测距模块避障传感器
连接 3.3V 主控时,Echo 建议使用分压或电平转换。
典型搭配
自动避障小车
根据距离阈值控制小车转向或停车。
HC-SR04 + ESP32 + L298N
自动开盖
检测人手靠近后驱动舵机开盖。
HC-SR04 + Arduino + SG90
Specifications
基础参数
| 参数 | 值 | 分组 | 备注 |
|---|---|---|---|
| 工作电压 | 5 V | 电气参数 | - |
| 静态电流 | < 2 mA | 电气参数 | - |
| 探测角度 | < 15 度 | 测量能力 | - |
| 有效盲区 | 2 cm | 测量能力 | - |
| 最大测距 | 400 cm | 测量能力 | - |
Pinout
引脚与接线
| 引脚 | 说明 | 连接建议 | 注意 |
|---|---|---|---|
| VCC | 5V 电源正极5V | 5V / VIN | - |
| Trig | 触发控制信号输入 | GPIO 5 | - |
| Echo | 回响信号输出 | GPIO 18 | 连接 3.3V 主控时建议分压 |
| GND | 地线 | GND | - |
Examples
代码示例
读取距离
python
import machine
import time
trigger = machine.Pin(5, machine.Pin.OUT)
echo = machine.Pin(18, machine.Pin.IN)
def get_distance():
trigger.value(0)
time.sleep_us(2)
trigger.value(1)
time.sleep_us(10)
trigger.value(0)
while echo.value() == 0:
signal_off = time.ticks_us()
while echo.value() == 1:
signal_on = time.ticks_us()
duration = signal_on - signal_off
return (duration * 0.0343) / 2
while True:
print("距离: {:.2f} cm".format(get_distance()))
time.sleep(1)Applications
应用场景
自动避障小车
当前方距离小于阈值时,主控命令电机后退或转向。
ESP32L298N 电机驱动
智能垃圾桶
检测到人手靠近后,使用舵机自动开盖。
ArduinoSG90 舵机
Warnings
注意事项
- Echo 输出通常为 5V,直接接入 3.3V GPIO 存在风险。
- 软质材料或斜面反射会影响测距稳定性。
Relations

