// Đị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
}