// L1-024 红绿灯闪烁告警模式 教师完整版
// 核心技术:if条件分支判断、双灯光模式自动切换
// 功能:正常通行时序 + 红绿灯交替紧急告警闪烁
int ledRed = 2;
int ledYellow = 3;
int ledGreen = 4;
// 模式控制变量:0=正常通行模式 1=紧急告警模式
int mode = 1;
void setup()
{
pinMode(ledRed, OUTPUT);
pinMode(ledYellow, OUTPUT);
pinMode(ledGreen, OUTPUT);
// 上电初始全部熄灭
digitalWrite(ledRed, LOW);
digitalWrite(ledYellow, LOW);
digitalWrite(ledGreen, LOW);
}
void loop()
{
// 条件分支:根据mode变量切换工作模式
if(mode == 0)
{
// 模式一:标准正常交通灯时序
digitalWrite(ledRed, HIGH);
digitalWrite(ledYellow, LOW);
digitalWrite(ledGreen, LOW);
delay(3000);
digitalWrite(ledRed, LOW);
digitalWrite(ledYellow, LOW);
digitalWrite(ledGreen, HIGH);
delay(3000);
digitalWrite(ledRed, LOW);
digitalWrite(ledYellow, HIGH);
digitalWrite(ledGreen, LOW);
delay(1000);
}
else
{
// 模式二:紧急告警模式 红绿灯交替闪烁、黄灯关闭
digitalWrite(ledRed, HIGH);
digitalWrite(ledGreen, LOW);
digitalWrite(ledYellow, LOW);
delay(200);
digitalWrite(ledRed, LOW);
digitalWrite(ledGreen, HIGH);
digitalWrite(ledYellow, LOW);
delay(200);
}
}