创客源
环境感知

超声波传感器 HC-SR04

也称:HC-SR04 / Ultrasonic Sensor

低成本超声波测距模块,适合避障、距离检测和简单交互触发。

#测距 #避障 #基础元件
超声波测距模块
参考价格 3.5 元 淘宝搜索

Overview

基础概况

HC-SR04 使用 40kHz 超声波进行非接触式测距,常见于智能小车、垃圾桶自动开盖、倒车雷达和入门教学项目。

工作原理:Trig 引脚接收到触发脉冲后,模块发出 8 个 40kHz 超声波脉冲。Echo 引脚输出高电平持续时间,主控根据声波往返时间计算距离。

Engineering

工程要点

工程要点

难度
入门
数据状态
待核实
接口
GPIOTrig/Echo
常用主控
ArduinoESP32STM32Raspberry Pi Pico

供电与采购

供电
5V
逻辑电平
Echo 常见为 5V
电流
< 15mA

连接 3.3V 主控时,Echo 建议使用分压或电平转换。

购买关键词
HC-SR04 超声波超声波测距模块避障传感器

典型搭配

自动避障小车

根据距离阈值控制小车转向或停车。

HC-SR04 + ESP32 + L298N

自动开盖

检测人手靠近后驱动舵机开盖。

HC-SR04 + Arduino + SG90

Specifications

基础参数

参数
工作电压5 V
静态电流< 2 mA
探测角度< 15 度
有效盲区2 cm
最大测距400 cm

Pinout

引脚与接线

引脚说明
VCC5V 电源正极5V
Trig触发控制信号输入
Echo回响信号输出
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

相关模块