HC-SR04超声波传感器测距模块
超声波测距是嵌入式开发中的基础技能。本文介绍的HC-SR04模块以价格低廉、操作简便著称,广泛应用于机器人避障、液位检测等场景。下面详细梳理其工作原理、接线方法及测试流程。
1 模块工作原理详解
HC-SR04模块的外观如图所示。其工作原理非常简洁:向Trig引脚输入一个持续10微秒以上的高电平信号,模块便会自动发射8个40KHz的超声波脉冲。随后模块进入接收等待状态,一旦检测到回波,Echo引脚将输出高电平,该高电平的持续时间即为超声波往返传播的总时间。
距离计算公式为:距离 = (高电平时间 × 声速340m/s) / 2,除以2是因为测量的是往返时间。需注意,若被测物体超出模块测量范围,Echo引脚仍会输出高电平,但脉宽固定为约66ms,此时读取的值表示“超量程”,需在程序中自行判断处理。
2 引脚接线方法
模块共有四个接口,功能清晰如下:
VCC:接5V直流电源,注意电压不能接错。
Trig:触发输入引脚,连接主控GPIO,使用时需提供一个10微秒以上的高电平脉冲。
Echo:回波输出引脚,连接主控的中断IO或能捕获脉宽的引脚。模块测距完成后,此引脚输出高电平,脉宽对应超声波往返时间。
GND:接地引脚。
接线时确保VCC和GND连接正确,一般不会出现其他问题。
3 程序测试与驱动加载
驱动代码存放于网盘资料的指定路径:iTOP-3568 开发板\2_【iTOP-RK3568 开发板】开发资料\9_系统外设功能测试\6_V1.7 底版外设快速测试资料\14_超声波传感器 HC-SR04 模块\3_驱动模块。典型操作步骤如下:
首先将 hc-sr04.ko 驱动文件复制到开发板根目录,然后运行命令 “insmod hc-sr04.ko” 加载驱动。接着使用 “ls /dev/sr04” 检查设备节点是否生成,若出现 sr04 节点则说明驱动加载成功。
然后在同一路径的“4_测试程序”目录中,将 sr04_test 可执行文件复制到开发板根目录。执行 “./sr04_test”,控制台将连续打印测量到的距离数据。
完成上述流程(硬件接线、驱动加载、测试程序运行),即可实现超声波测距的基本功能。后续集成到项目时,只需按照相同逻辑配置GPIO触发和脉宽捕获即可。
