综合实践 · 16 / 16
停车提示:距离阈值与三色指示
用距离阈值制作停车提示,测试 15 与 30 厘米边界,解释红、黄、绿指示灯各自何时亮起。
用距离阈值选择三种提示状态。
理解原理
距离不超过 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 为绿。