// Định nghĩa các chân kết nối của các LED
const int ledVang = 13;  // LED vàng kết nối với chân 13
const int ledXanh = 12;  // LED xanh kết nối với chân 12
const int ledDo = 11;    // LED đỏ kết nối với chân 11

void setup() {
  // Cài đặt các chân LED là OUTPUT
  pinMode(ledVang, OUTPUT);
  pinMode(ledXanh, OUTPUT);
  pinMode(ledDo, OUTPUT);
}

void loop() {
  // Câu 1: Sáng lần lượt 3 LED vàng -> xanh -> đỏ
  for (int i = 0; i < 3; i++) {
    // Sáng LED vàng
    digitalWrite(ledVang, HIGH);
    delay(500); // Đợi 500ms
    digitalWrite(ledVang, LOW);

    // Sáng LED xanh
    digitalWrite(ledXanh, HIGH);
    delay(500); // Đợi 500ms
    digitalWrite(ledXanh, LOW);

    // Sáng LED đỏ
    digitalWrite(ledDo, HIGH);
    delay(500); // Đợi 500ms
    digitalWrite(ledDo, LOW);
  }

  // Câu 2: Tắt lần lượt 3 LED đỏ -> xanh -> vàng
  for (int i = 0; i < 3; i++) {
    // Tắt LED đỏ
    digitalWrite(ledDo, LOW);
    delay(500); // Đợi 500ms

    // Tắt LED xanh
    digitalWrite(ledXanh, LOW);
    delay(500); // Đợi 500ms

    // Tắt LED vàng
    digitalWrite(ledVang, LOW);
    delay(500); // Đợi 500ms
  }

  // Câu 3: Sáng tắt xen kẽ (vàng và đỏ sáng, xanh tắt; và ngược lại)
  for (int i = 0; i < 5; i++) {
    // Vàng và đỏ sáng, xanh tắt
    digitalWrite(ledVang, HIGH);
    digitalWrite(ledDo, HIGH);
    digitalWrite(ledXanh, LOW);
    delay(500); // Đợi 500ms

    // Vàng và đỏ tắt, xanh sáng
    digitalWrite(ledVang, LOW);
    digitalWrite(ledDo, LOW);
    digitalWrite(ledXanh, HIGH);
    delay(500); // Đợi 500ms
  }
}