// 定义LED连接的引脚
int redLed = 9; // 红色LED(红灯)
int yellowLed = 6; // 黄色LED(黄灯)
int greenLed = 5; // 绿色LED(绿灯)
void setup() {
// 设置LED引脚为输出模式
pinMode(redLed, OUTPUT);
pinMode(yellowLed, OUTPUT);
pinMode(greenLed, OUTPUT);
}
void loop() {
// 模拟交通信号灯的状态变化过程,包括红绿灯交替闪烁。
// 首先让红灯亮起,持续5秒,然后熄灭红灯,点亮黄灯,持续2秒,最后熄灭黄灯,点亮绿灯,并保持亮起状态。同时,当绿灯或红灯亮起时,黄色LED会快速闪烁3次作为警告。
digitalWrite(redLed, LOW); // 点亮红灯,持续5秒
digitalWrite(yellowLed, HIGH); // 点亮黄色LED作为警告,快速闪烁3次
delay(1000); // 等待300毫秒让黄色LED闪烁一次
digitalWrite(yellowLed, LOW); // 熄灭黄色LED一次闪烁完成
digitalWrite( redLed, HIGH); // 点亮黄色LED作为警告,快速闪烁3次
delay(3000); // 等待300毫秒让黄色LED闪烁一次
digitalWrite(redLed, LOW);
digitalWrite(greenLed, HIGH); // 熄灭黄色LED一次闪烁完成
delay(3000);
digitalWrite(greenLed, LOW); // 熄灭黄色LED一次闪烁完成
delay(300);
digitalWrite(greenLed, HIGH); // 熄灭黄色LED一次闪烁完成
delay(300);
digitalWrite(greenLed, LOW); // 熄灭黄色LED一次闪烁完成
delay(300);
digitalWrite(greenLed, HIGH); // 熄灭黄色LED一次闪烁完成
delay(300);
digitalWrite(greenLed, LOW); // 熄灭黄色LED一次闪烁完成
delay(300);
digitalWrite(greenLed, HIGH); // 熄灭黄色LED一次闪烁完成
delay(300);
digitalWrite(greenLed, LOW);
digitalWrite(yellowLed, HIGH); // 熄灭黄色LED一次闪烁完成
delay(1000);
digitalWrite(yellowLed, LOW);
digitalWrite(greenLed, LOW);
digitalWrite(yellowLed, LOW); // 等待5秒后熄灭红灯,同时熄灭黄色警告灯。然后点亮绿灯。
}