第 6 / 8 章

超声波测距与灯光反馈

用 HC-SR04 测距,并把距离映射为远绿近红的 LED 语义。

教程首页 专题页

概要:用 HC-SR04 测距,并把距离映射为远绿近红的 LED 语义。
核心能力:Trig/Echo、阈值 · 可见结果:串口距离;远绿近红

本章代码目录: code/chapter-06/

上传示例:mpremote connect $PORT cp code/chapter-06/*.py :(在章节目录外按实际路径调整)

学习目标

  1. 理解 Trig / Echo 与距离换算。
  2. 处理无回波 / 超时。
  3. 用阈值驱动灯光语义。
  4. 牢记 Trig/Echo 不可对调。

内容要点

  1. time_pulse_us 测脉宽。
  2. ≥阈值绿灯;<阈值红灯频闪;无效双灭。
  3. 控制测距周期,避免阻塞过久。

代码说明

文件简要说明
ultrasonic.pyUltrasonic 类:Trig=GPIO7、Echo=GPIO10。发 10µs 脉冲,用 time_pulse_us 测回波宽度并换算厘米;超时 / 无回波返回 -1
test_ultrasonic.py循环调用 measure_cm(),串口打印距离,验证探头与接线。
test_ultrasonic_led.py按距离驱动灯光:≥阈值右绿常亮;<阈值左红频闪(越近越快);无效读数双灭。

实验

  1. 上传 ultrasonic.py 后运行 test_ultrasonic.py
  2. 运行 test_ultrasonic_led.py

GPIO 编号、LED / 按键方位以专题页 第四节「GPIO 与接线」 为准,本页不重复抄写引脚数字。

← 第 5 章 返回教程首页 第 7 章 →