// 定义引脚编号
const int carRed = 2; // 机动车道红灯
const int carYellow = 3; // 机动车道黄灯
const int carGreen = 4; // 机动车道绿灯
const int pedRed = 5; // 人行横道红灯
const int pedGreen = 6; // 人行横道绿灯
void setup() {
pinMode(carRed, OUTPUT);
pinMode(carYellow, OUTPUT);
pinMode(carGreen, OUTPUT);
pinMode(pedRed, OUTPUT);
pinMode(pedGreen, OUTPUT);
}
void loop() {
// 阶段1:机动车绿灯通行,人行横道红灯禁止(5秒)
digitalWrite(carGreen, HIGH);
digitalWrite(carRed, LOW);
digitalWrite(carYellow, LOW);
digitalWrite(pedRed, HIGH);
digitalWrite(pedGreen, LOW);
delay(5000);
// 阶段2:机动车黄灯过渡,人行横道保持红灯(2秒)
digitalWrite(carGreen, LOW);
digitalWrite(carYellow, HIGH);
delay(2000);
// 阶段3:机动车红灯停止,人行横道绿灯通行(5秒)
digitalWrite(carYellow, LOW);
digitalWrite(carRed, HIGH);
digitalWrite(pedRed, LOW);
digitalWrite(pedGreen, HIGH);
delay(5000);
// 阶段4:人行横道绿灯闪烁提示(2秒,闪烁4次)
for (int i = 0; i < 4; i++) {
digitalWrite(pedGreen, LOW);
delay(250);
digitalWrite(pedGreen, HIGH);
delay(250);
}
}