第 5 章 · 时间测量 · 往返传播 · 无效读数
用超声波读出距离
把回波持续时间换算成距离,在串口中比较目标物移动前后的读数。
对应例程:5-超声波:距离 cm。无设备时可先阅读积木和代码;运行实物需按课堂条件连接开发板。
先作一个预测
超声波走过的是单程还是往返?为什么测得的传播路程要除以 2?
准备与接线
先核对手里的器材
- 经典 ESP32 开发板
- HC-SR04 超声波模块;按实物规格准备供电和 Echo 电平转换
- 连接线、平整挡板与用于比较距离的直尺
| 器件端 | 连接与设置 | 核对重点 |
|---|---|---|
| Trig | GPIO16 | 例程从这里发出约 10 微秒的触发脉冲。 |
| Echo | GPIO17,经合适的电平转换 | 标准 5V HC-SR04 的 Echo 不可直接接 ESP32 的 3.3V GPIO。 |
| VCC / GND | 按模块要求供电,并与 ESP32 共地 | 原例程对应 HC-SR04;使用 P 版等变体前重新核对规格,不能仅凭外观沿用电气接法。 |
本课例程名称是 HC-SR04。器件库中外形相近的模块可能是其他型号,图片用于结构观察,不表示供电与 Echo 电平相同。
读懂例程
程序依次在做什么
- 01
发出触发脉冲
GPIO16 先拉低,再输出约 10 微秒高电平,然后拉低。
- 02
计时回波
测量 GPIO17 高电平的持续时间;等待超过约 30 毫秒或计时失败时,返回 −1。
- 03
换算厘米
例程以“微秒数 ÷ 58”近似得到厘米距离,体现声波往返传播的关系;声速近似会随环境产生偏差。
- 04
输出后稍等
串口打印“距离cm”和数值,每次测量之后等待 300 毫秒。
观察与核对
用这些问题检查结果
- 先预测挡板移远后,回波持续时间与距离读数如何变化。
- 让平整挡板正对探头,在几个已知位置比较读数;保留实际测得的数据,不预填结果。
- 出现 −1 时应记为未取得有效回波,不能把它解释成负距离。
只改一个条件,再试一次
保持一个位置不动,多次记录读数,再改变挡板角度。比较两组数据,判断目标物姿态对回波的影响。
看图认识相关器材
教学图帮助辨认接口与外形。电阻值、LED 支路与各器件的电气规格仍需核对实物;标为外观参考的变体不能直接照搬本课接线。
