HC-SR04超声波Arduino测距避障接线教程

2026-10-20 13:09:58 55阅读

小车想不撞墙、机器人想感知前面有多远,超声波是入门成本最低的距离传感方案。HC-SR04靠发射和接收超声波,用声波往返的时间算出距离,便宜、皮实、教程多。这篇文章把接线和测距讲清楚。

HC-SR04是什么,认准四个引脚

HC-SR04原理简单:模块上的一个圆形换能器发出超声波,碰到物体反射回来,另一个圆形换能器接收,通过计算时间差乘音速再除以2,就得到距离,量程一般2厘米到4米,精度约3毫米。

模块引出四个引脚:Vcc(供电)、Trig(触发,用来“喊一声”)、Echo(回声,接收返回信号)、Gnd(地)。通信不需要CLOCK,是纯电平触发式,特别适合新手。

接线表:一触发一接收搞定

HC-SR04接到Arduino Uno,标准接法如下:Vcc接5V、Gnd接GND、Trig接一个数字口(图上接D12)、Echo接另一个数字口(图上接D11)。Trig和Echo是两根独立的控制/接收线,接到普通数字IO就行。

程序里用脉冲宽度法测距:把Trig脚拉高10微秒再拉低,模块就会发出一串超声波;随后Echo脚会输出一个高电平脉冲,这个脉冲的持续时间就是声波往返的时间,用pulseIn()读出来,再换算成厘米。

读不出来?分清物理限制和接线问题

新手容易遇到的“没反应”,先分两类:一类是硬件问题——Vcc是不是接了5V、Trig/Echo有没有插错;另一类是物理限制——HC-SR04对正对反射面才准,斜着或对准吸音材料(海绵、布料)会读不到或读数偏大,这是工作原理决定的,不是坏了。

还有一个高频坑:被测物太近(小于2厘米)会读数不稳,太远(超过4米)回波太弱就超量程,用在小车避障时一般取30厘米内触发刹车/绕行。

拿到距离值,就能写很多玩法:小车遇障停、机器人手臂防碰撞、水箱水位监测、超声波倒车雷达。HC-SR04是“让机器人感知距离”最简单的入门件,四根线一对,数值就来了。


作者:野生极客一枚
链接:https://www.aiddithome.com/p/1272d4c9073f89.html
本作版权归作者所有,未经允许请勿转载。若存在违规行为,您可以点击 “举报”。


登录 后发表评论
5条评论
板砖搬不动
1楼 · 2026-10-20 13:10:00

Echo/Trig插反也常发生,先交叉试一下

锡点
2楼 · 2026-10-20 13:09:59

正对反射面才准,斜着或贴海绵布会读空

胶佬憨憨
3楼 · 2026-10-20 13:09:59

2厘米以下读数不稳是物理限制,别以为是坏了

深圳打工人Alan
4楼 · 2026-10-20 13:09:59

做避障我一般设30厘米距离触发,够稳

拆机党
5楼 · 2026-10-20 13:09:58

Vcc接5V、Trig和Echo各占一个数字口就行