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 为绿。