Загрузка данных


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 включится сразу,
  // одновременно со следующим состоянием.
}