void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
void loop() {
// =================================
// 1-й светофор — КРАСНЫЙ
// 2-й светофор — ЗЕЛЁНЫЙ
// =================================
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
delay(3000);
// Зелёный второго мигает 3 раза
digitalWrite(7, LOW);
delay(300);
digitalWrite(7, HIGH);
delay(300);
digitalWrite(7, LOW);
delay(300);
digitalWrite(7, HIGH);
delay(300);
digitalWrite(7, LOW);
delay(300);
digitalWrite(7, HIGH);
delay(300);
digitalWrite(7, LOW);
// =================================
// 2-й светофор — ЖЁЛТЫЙ
// 1-й остаётся КРАСНЫМ
// =================================
digitalWrite(6, HIGH);
delay(1000);
digitalWrite(6, LOW);
// =================================
// 1-й светофор — КРАСНЫЙ + ЖЁЛТЫЙ
// 2-й светофор — КРАСНЫЙ
// =================================
digitalWrite(5, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(3, LOW);
// =================================
// 1-й светофор — ЗЕЛЁНЫЙ
// 2-й светофор — КРАСНЫЙ
// =================================
digitalWrite(2, LOW);
digitalWrite(4, HIGH);
delay(3000);
// Зелёный первого мигает 3 раза
digitalWrite(4, LOW);
delay(300);
digitalWrite(4, HIGH);
delay(300);
digitalWrite(4, LOW);
delay(300);
digitalWrite(4, HIGH);
delay(300);
digitalWrite(4, LOW);
delay(300);
digitalWrite(4, HIGH);
delay(300);
digitalWrite(4, LOW);
// =================================
// 1-й светофор — ЖЁЛТЫЙ
// 2-й остаётся КРАСНЫМ
// =================================
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(3, LOW);
// После этого цикл начинается заново:
// D2 включится сразу,
// одновременно со следующим состоянием.
}