// Định nghĩa chân điều khiển LED
int ledPins[] = {13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26}; // 12 LED

void setup() {
  // Thiết lập tất cả các chân LED làm OUTPUT
  for (int i = 0; i < 12; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
}

void loop() {
  // Hiệu ứng 1: LED sáng lần lượt từ trái sang phải và ngược lại
  for (int i = 0; i < 12; i++) {
    digitalWrite(ledPins[i], HIGH);  // LED sáng
    delay(1000);                      // Delay 1 giây
    digitalWrite(ledPins[i], LOW);   // LED tắt
  }

  delay(500);  // Thời gian chờ giữa các hiệu ứng

  // Hiệu ứng 2: LED sáng tất cả cùng lúc rồi tắt tất cả
  for (int i = 0; i < 12; i++) {
    digitalWrite(ledPins[i], HIGH);  // Tất cả LED sáng
  }
  delay(1000);  // Delay 1 giây
  for (int i = 0; i < 12; i++) {
    digitalWrite(ledPins[i], LOW);   // Tắt tất cả LED
  }

  delay(500);  // Thời gian chờ giữa các hiệu ứng

  // Hiệu ứng 3: LED sáng từ ngoài vào trong
  for (int i = 0; i < 6; i++) {
    digitalWrite(ledPins[i], HIGH);    // LED ngoài sáng
    digitalWrite(ledPins[11 - i], HIGH); // LED ngoài bên kia sáng
    delay(1000);  // Delay 1 giây giữa các LED
  }
  for (int i = 0; i < 12; i++) {
    digitalWrite(ledPins[i], LOW);  // Tắt tất cả LED
  }

  delay(500);  // Thời gian chờ giữa các hiệu ứng

  // Hiệu ứng 4: Sáng tắt xen kẽ (LED ngoài sáng, LED trong tắt)
  for (int i = 0; i < 6; i++) {
    digitalWrite(ledPins[i], HIGH);    // LED ngoài sáng
    digitalWrite(ledPins[11 - i], HIGH); // LED ngoài bên kia sáng
  }
  delay(1000);  // Delay 1 giây
  for (int i = 0; i < 12; i++) {
    digitalWrite(ledPins[i], LOW);  // Tắt tất cả LED
  }

  delay(500);  // Thời gian chờ giữa các hiệu ứng

  // Hiệu ứng 5: LED sáng theo hình trái tim
  int heartPattern[12] = {LOW, HIGH, HIGH, HIGH, HIGH, LOW, HIGH, HIGH, HIGH, HIGH, HIGH, LOW}; // Mẫu hình trái tim
  for (int i = 0; i < 12; i++) {
    digitalWrite(ledPins[i], heartPattern[i]);  // Cập nhật LED theo hình trái tim
  }
  delay(1000);  // Delay 1 giây
  
  // Tắt tất cả LED
  for (int i = 0; i < 12; i++) {
    digitalWrite(ledPins[i], LOW);  // Tắt tất cả LED
  }
  delay(500);  // Thời gian chờ giữa các hiệu ứng
}
$abcdeabcde151015202530354045505560fghijfghij