// 定义引脚
const int redLight = 2; // 红灯
const int yellowLight = 3; // 黄灯
const int greenLight = 4; // 绿灯
const int streetLight1 = 5; // 路灯 1
const int streetLight2 = 6; // 路灯 2
const int buildingLight = 7; // 建筑物灯光
void setup() {
// 设置所有引脚为输出模式
pinMode(redLight, OUTPUT);
pinMode(yellowLight, OUTPUT);
pinMode(greenLight, OUTPUT);
pinMode(streetLight1, OUTPUT);
pinMode(streetLight2, OUTPUT);
pinMode(buildingLight, OUTPUT);
}
void loop() {
// 交通灯部分
digitalWrite(redLight, HIGH); // 红灯亮
digitalWrite(yellowLight, LOW);
digitalWrite(greenLight, LOW);
delay(5000); // 红灯亮 5 秒
digitalWrite(redLight, LOW);
digitalWrite(yellowLight, HIGH); // 黄灯亮
delay(2000); // 黄灯亮 2 秒
digitalWrite(yellowLight, LOW);
digitalWrite(greenLight, HIGH); // 绿灯亮
delay(5000); // 绿灯亮 5 秒
// 绿灯闪烁 3 次
for (int i = 0; i < 3; i++) {
digitalWrite(greenLight, LOW);
delay(500);
digitalWrite(greenLight, HIGH);
delay(500);
}
// 路灯部分
digitalWrite(streetLight1, HIGH); // 路灯 1 亮
digitalWrite(streetLight2, LOW);
delay(1000); // 路灯 1 亮 1 秒
digitalWrite(streetLight1, LOW);
digitalWrite(streetLight2, HIGH); // 路灯 2 亮
delay(1000); // 路灯 2 亮 1 秒
// 建筑物灯光闪烁
for (int i = 0; i < 5; i++) {
digitalWrite(buildingLight, HIGH);
delay(200); // 灯光亮 0.2 秒
digitalWrite(buildingLight, LOW);
delay(200); // 灯光灭 0.2 秒
}
}