← 返回课程与案例

第 5 章 · 时间测量 · 往返传播 · 无效读数

用超声波读出距离

把回波持续时间换算成距离,在串口中比较目标物移动前后的读数。

对应例程:5-超声波:距离 cm。无设备时可先阅读积木和代码;运行实物需按课堂条件连接开发板。

先作一个预测

超声波走过的是单程还是往返?为什么测得的传播路程要除以 2?

准备与接线

先核对手里的器材

  • 经典 ESP32 开发板
  • HC-SR04 超声波模块;按实物规格准备供电和 Echo 电平转换
  • 连接线、平整挡板与用于比较距离的直尺
器件端连接与设置核对重点
TrigGPIO16例程从这里发出约 10 微秒的触发脉冲。
EchoGPIO17,经合适的电平转换标准 5V HC-SR04 的 Echo 不可直接接 ESP32 的 3.3V GPIO。
VCC / GND按模块要求供电,并与 ESP32 共地原例程对应 HC-SR04;使用 P 版等变体前重新核对规格,不能仅凭外观沿用电气接法。

本课例程名称是 HC-SR04。器件库中外形相近的模块可能是其他型号,图片用于结构观察,不表示供电与 Echo 电平相同。

读懂例程

程序依次在做什么

  1. 01

    发出触发脉冲

    GPIO16 先拉低,再输出约 10 微秒高电平,然后拉低。

  2. 02

    计时回波

    测量 GPIO17 高电平的持续时间;等待超过约 30 毫秒或计时失败时,返回 −1。

  3. 03

    换算厘米

    例程以“微秒数 ÷ 58”近似得到厘米距离,体现声波往返传播的关系;声速近似会随环境产生偏差。

  4. 04

    输出后稍等

    串口打印“距离cm”和数值,每次测量之后等待 300 毫秒。

打开积木,对照这几个步骤 ↗

观察与核对

用这些问题检查结果

  1. 先预测挡板移远后,回波持续时间与距离读数如何变化。
  2. 让平整挡板正对探头,在几个已知位置比较读数;保留实际测得的数据,不预填结果。
  3. 出现 −1 时应记为未取得有效回波,不能把它解释成负距离。

只改一个条件,再试一次

保持一个位置不动,多次记录读数,再改变挡板角度。比较两组数据,判断目标物姿态对回波的影响。

看图认识相关器材

教学图帮助辨认接口与外形。电阻值、LED 支路与各器件的电气规格仍需核对实物;标为外观参考的变体不能直接照搬本课接线。