综合实践 · 16 / 16

停车提示:距离阈值与三色指示

用距离阈值制作停车提示,测试 15 与 30 厘米边界,解释红、黄、绿指示灯各自何时亮起。

10 分钟入门
这一课,你会学到

用距离阈值选择三种提示状态。

理解原理

距离不超过 15 厘米时选择红色,大于 15 且不超过 30 时选择黄色,大于 30 时选择绿色。互斥条件确保每次只选一个输出。

动手试一试

先在 40 厘米运行,再测试 30、16 和 15 厘米,记录边界处以及等于阈值时的指示灯。

连接说明

  • D9 / D10 — 触发与回波
  • D4 / D3 / D2 — 红 / 黄 / 绿
  • GND — 共同返回路径

示例代码

代码用于说明硬件思路;实验台执行对应的教学模型,不编译代码。

void setup() {
  pinMode(9, OUTPUT);
  pinMode(10, INPUT);
  Serial.begin(9600);
  for (int pin = 2; pin <= 4; pin++) {
    pinMode(pin, OUTPUT);
  }
}

void loop() {
  digitalWrite(9, LOW);
  delayMicroseconds(2);
  digitalWrite(9, HIGH);
  delayMicroseconds(10);
  digitalWrite(9, LOW);
  long cm = pulseIn(10, HIGH) / 58;
  Serial.println(cm);
  digitalWrite(4, cm <= 15);
  digitalWrite(3, cm > 15 && cm <= 30);
  digitalWrite(2, cm > 30);
}

检查你的理解

恰好 15 厘米与 30 厘米时,分别亮什么灯?

查看解释

15 厘米亮红灯,30 厘米亮黄灯。模型中不超过 15 为红,超过 15 且不超过 30 为黄,超过 30 为绿。

从实验,再多走一步

把实验与基础概念连起来 · 帮助与 FAQ