Dãy 8 đèn LED chạy đuổi, đổi hiệu ứng và chỉnh tốc độ bằng núm vặn

Tám đèn LED nhiều màu chạy theo 4 hiệu ứng: chạy đuổi, con mắt quét qua lại, nhấp nháy xen kẽ và sáng dần từng đèn. Vặn núm để đổi tốc độ, bấm nút để đổi hiệu ứng — mạch nhớ hiệu ứng đang chọn kể cả khi mất điện. Mạch nhập môn rất hợp để học cách điều khiển nhiều chân cùng lúc.

⏱ 75 phút🔧 Mới học💰 Linh kiện ~84.500đ🧠 Arduino Nano⚡ Nguồn USB 5V

✅ Đã kiểm thử

Luật điệnKhông lỗiSai chân, chập nguồn, quá áp 5V vào chân 3,3V, thiếu đi-ốt, thiếu trở kéo…
Mô phỏng SPICE3/3 kịch bản · 31 phép đo đạtDòng/áp từng linh kiện ở trường hợp xấu nhất (ngspice)
Biên dịch codeĐạt · dùng 11% bộ nhớarduino:avr:nano
Xem chi tiết 31 phép đo

Thử đèn lúc khởi động: cả 8 LED cùng sáng

  • D1: dòng 9.0mA (cho phép 20.0mA).
  • D2: dòng 9.0mA (cho phép 20.0mA).
  • D3: dòng 8.5mA (cho phép 20.0mA).
  • D4: dòng 8.5mA (cho phép 20.0mA).
  • D5: dòng 8.2mA (cho phép 20.0mA).
  • D6: dòng 8.2mA (cho phép 20.0mA).
  • D7: dòng 8.4mA (cho phép 20.0mA).
  • D8: dòng 8.4mA (cho phép 20.0mA).
  • Chân D2 cấp 9.0mA (an toàn ≤ 20.0mA).
  • Chân D3 cấp 9.0mA (an toàn ≤ 20.0mA).
  • Chân D4 cấp 8.5mA (an toàn ≤ 20.0mA).
  • Chân D5 cấp 8.5mA (an toàn ≤ 20.0mA).
  • Chân D6 cấp 8.2mA (an toàn ≤ 20.0mA).
  • Chân D7 cấp 8.2mA (an toàn ≤ 20.0mA).
  • Chân D8 cấp 8.4mA (an toàn ≤ 20.0mA).
  • Chân D9 cấp 8.4mA (an toàn ≤ 20.0mA).
  • Tổng dòng đỉnh từ USB 98.7mA (đủ với cục sạc 5V 1A).
  • Dòng LED đỏ đầu dãy: 9.0mA ✓
  • Dòng LED xanh dương (áp rơi lớn hơn nên dùng trở 220Ω): 8.4mA ✓
  • Dòng một chân Nano (giới hạn an toàn 20mA): 9.0mA ✓
  • Tổng dòng khi cả 8 đèn cùng sáng: 98.7mA ✓
  • Áp chân giữa biến trở khi vặn ở giữa: 2.50V ✓

Hiệu ứng đang chạy: chỉ một đèn giữa sáng

  • D4: dòng 8.5mA (cho phép 20.0mA).
  • Chân D5 cấp 8.5mA (an toàn ≤ 20.0mA).
  • Tổng dòng đỉnh từ USB 39.0mA (đủ với cục sạc 5V 1A).
  • Dòng đèn đang sáng: 8.5mA ✓
  • Các đèn khác phải tắt: 0.0mA ✓

Đang bấm nút đổi hiệu ứng, núm vặn sát đầu nối mát

  • Tổng dòng đỉnh từ USB 30.5mA (đủ với cục sạc 5V 1A).
  • Áp chân nút khi nhấn: 0.00V ✓
  • Áp chân giữa biến trở khi vặn sát đầu nối mát: 0.00V ✓
  • Dòng khi tất cả đèn tắt: 30.5mA ✓
Kiểm lần cuối: 08:49:35 13/11/2026

Nguyên lý hoạt động

Tám chân D2 đến D9 của Nano mỗi chân nối qua một điện trở hạn dòng rồi tới một LED, chân còn lại của LED về mát. Điện trở quyết định độ sáng: LED đỏ, vàng, xanh lá rơi khoảng 2V nên dùng 330Ω cho khoảng 9mA; LED xanh dương rơi khoảng 3V nên dùng 220Ω để vẫn đủ sáng, dòng khoảng 9mA. Một chân Nano chỉ nên cấp dưới 20mA và cả chip dưới 150mA, nên kể cả khi cả 8 đèn cùng sáng (khoảng 72mA) vẫn an toàn. Biến trở 10kΩ mắc giữa 5V và mát, chân giữa đưa vào A0: Nano đọc ra số 0–1023 rồi quy thành chu kỳ 20–400 mili giây cho hiệu ứng. Nút ở D10 dùng trở kéo lên trong chip, mỗi lần bấm là chuyển sang hiệu ứng kế tiếp và ghi số hiệu ứng vào EEPROM nên mất điện bật lại vẫn đúng hiệu ứng cũ.

Sơ đồ đấu dây

Mỗi màu là một dây. Chấm tròn là điểm hàn. Chạm vào tên dây trong bảng để làm nổi bật.

⚡ Mô phỏng tương tácBấm thử — mạch được giải ngay trên máy bạn, điện áp và dòng hiện lên sơ đồ bên dưới.
Tình huống mẫu
Chân D2điều khiển R1
Chân D3điều khiển R2
Chân D4điều khiển R3
Chân D5điều khiển R4
Chân D6điều khiển R5
Chân D7điều khiển R6
Chân D8điều khiển R7
Chân D9điều khiển R8
Biến trở VR1vặn núm (10k)
Nút SW1

Đây là mô phỏng một chiều (DC) ở trạng thái tĩnh: dùng để kiểm tra mức áp, dòng và công suất. Hiệu ứng nhấp nháy, PWM hay giao tiếp số do code quyết định nên không chạy ở đây.

5V5VGNDGNDL1_DRVL1_DRVL1_AL1_AL2_DRVL2_DRVL2_AL2_AL3_DRVL3_DRVL3_AL3_AL4_DRVL4_DRVL4_AL4_AL5_DRVL5_DRVL5_AL5_AL6_DRVL6_DRVL6_AL6_AL7_DRVL7_DRVL7_AL7_AL8_DRVL8_DRVL8_AL8_ASPEEDSPEEDBTNBTNU1 · Arduino Nano5VA0D2D3D4D5D6D7D8D9D10GNDVR1 · Biến trở13W · chân giữaR1 · Điện trở 330Ω12D1 · Đèn LED 5mmA · chân dài (+)K · chân ngắn (−)R2 · Điện trở 330Ω12D2 · Đèn LED 5mmA · chân dài (+)K · chân ngắn (−)R3 · Điện trở 330Ω12D3 · Đèn LED 5mmA · chân dài (+)K · chân ngắn (−)R4 · Điện trở 330Ω12D4 · Đèn LED 5mmA · chân dài (+)K · chân ngắn (−)R5 · Điện trở 330Ω12D5 · Đèn LED 5mmA · chân dài (+)K · chân ngắn (−)R6 · Điện trở 330Ω12D6 · Đèn LED 5mmA · chân dài (+)K · chân ngắn (−)R7 · Điện trở 220Ω12D7 · Đèn LED 5mmA · chân dài (+)K · chân ngắn (−)R8 · Điện trở 220Ω12D8 · Đèn LED 5mmA · chân dài (+)K · chân ngắn (−)SW1 · Nút nhấn12
#DâyNối các điểmÁp mô phỏng
1đỏ
5V
U1 5V ⟷ VR1 1—
2đen
GND
U1 GND ⟷ VR1 3 ⟷ SW1 2 ⟷ D1 K · chân ngắn (−) ⟷ D2 K · chân ngắn (−) ⟷ D3 K · chân ngắn (−) ⟷ D4 K · chân ngắn (−) ⟷ D5 K · chân ngắn (−) ⟷ D6 K · chân ngắn (−) ⟷ D7 K · chân ngắn (−) ⟷ D8 K · chân ngắn (−)—
3vàng
L1_DRV
U1 D2 ⟷ R1 1—
4xanh lá
L1_A
R1 2 ⟷ D1 A · chân dài (+)—
5xanh dương
L2_DRV
U1 D3 ⟷ R2 1—
6tím
L2_A
R2 2 ⟷ D2 A · chân dài (+)—
7xanh ngọc
L3_DRV
U1 D4 ⟷ R3 1—
8nâu
L3_A
R3 2 ⟷ D3 A · chân dài (+)—
9hồng
L4_DRV
U1 D5 ⟷ R4 1—
10xám
L4_A
R4 2 ⟷ D4 A · chân dài (+)—
11xanh rêu
L5_DRV
U1 D6 ⟷ R5 1—
12tím nhạt
L5_A
R5 2 ⟷ D5 A · chân dài (+)—
13vàng
L6_DRV
U1 D7 ⟷ R6 1—
14xanh lá
L6_A
R6 2 ⟷ D6 A · chân dài (+)—
15xanh dương
L7_DRV
U1 D8 ⟷ R7 1—
16tím
L7_A
R7 2 ⟷ D7 A · chân dài (+)—
17xanh ngọc
L8_DRV
U1 D9 ⟷ R8 1—
18nâu
L8_A
R8 2 ⟷ D8 A · chân dài (+)—
19hồng
SPEED
VR1 W · chân giữa ⟷ U1 A0—
20xám
BTN
SW1 1 ⟷ U1 D10—

Danh sách linh kiện

Ký hiệuLinh kiệnGiá tham khảo
U1Arduino Nano (chip nạp CH340)75.000đTìm mua
D1LED đỏ 5mm (red)300đTìm mua
D2LED đỏ 5mm (red)300đTìm mua
D3LED vàng 5mm (yellow)300đTìm mua
D4LED vàng 5mm (yellow)300đTìm mua
D5LED xanh lá 5mm (green)300đTìm mua
D6LED xanh lá 5mm (green)300đTìm mua
D7LED xanh dương 5mm (blue)300đTìm mua
D8LED xanh dương 5mm (blue)300đTìm mua
R1Điện trở 330Ω 1/4W (cam-cam-nâu)200đTìm mua
R2Điện trở 330Ω 1/4W (cam-cam-nâu)200đTìm mua
R3Điện trở 330Ω 1/4W (cam-cam-nâu)200đTìm mua
R4Điện trở 330Ω 1/4W (cam-cam-nâu)200đTìm mua
R5Điện trở 330Ω 1/4W (cam-cam-nâu)200đTìm mua
R6Điện trở 330Ω 1/4W (cam-cam-nâu)200đTìm mua
R7Điện trở 220Ω 1/4W (đỏ-đỏ-nâu)200đTìm mua
R8Điện trở 220Ω 1/4W (đỏ-đỏ-nâu)200đTìm mua
VR1Biến trở núm vặn 10kΩ (B10K)4.000đTìm mua
SW1Nút nhấn 4 chân 6×6mm1.500đTìm mua
Tổng (chưa gồm board hàn, dây, thiếc)84.500đ

Các bước làm

Code nạp cho mạch

Chọn board Arduino Nano.

/*
  Mạch Gọn — Dãy 8 đèn LED chạy đuổi (Arduino Nano)
  Chân : D2..D9 -> điện trở -> 8 LED (chân ngắn về GND)
         A0 <- chân giữa biến trở 10k (chỉnh tốc độ)
         D10 nút đổi hiệu ứng, nối GND (INPUT_PULLUP)
  Bốn hiệu ứng: chạy đuổi, con mắt quét, nhấp nháy xen kẽ, sáng dần.
*/
#include <Arduino.h>
#include <EEPROM.h>

// ---------- Cấu hình ----------
const uint8_t CHAN_LED[8] = { 2, 3, 4, 5, 6, 7, 8, 9 };   // đổi thứ tự ở đây nếu hàn khác
const uint8_t PIN_NUM = A0, PIN_NUT = 10;
const uint16_t NHANH_NHAT_MS = 20;      // vặn núm hết cỡ
const uint16_t CHAM_NHAT_MS  = 400;     // vặn núm về 0
const uint16_t CHONG_DOI_MS  = 180;
const uint8_t  SO_HIEU_UNG   = 4;
const int EE_DIA_CHI = 0;
const uint8_t EE_MAGIC = 0xA7;

uint8_t hieuUng = 0, buoc = 0;
bool nutDangNhan = false;
uint32_t mocBuoc = 0, mocNhanNut = 0, mocInLog = 0;
uint16_t chuKy = 120;

void batTat(uint8_t mask) {                 // mỗi bit một đèn
  for (uint8_t i = 0; i < 8; i++) digitalWrite(CHAN_LED[i], (mask >> i) & 1);
}

uint8_t maskTheoHieuUng(uint8_t hu, uint8_t b) {
  switch (hu) {
    case 0: return 1 << (b % 8);                          // chạy đuổi một chiều
    case 1: { uint8_t v = b % 14; return 1 << (v < 8 ? v : 14 - v); }   // quét qua lại
    case 2: return (b % 2) ? 0b10101010 : 0b01010101;     // nhấp nháy xen kẽ
    default: { uint8_t n = b % 9; return n == 0 ? 0 : (uint8_t)((1u << n) - 1); }  // sáng dần
  }
}

void luuHieuUng() {
  EEPROM.update(EE_DIA_CHI, EE_MAGIC);
  EEPROM.update(EE_DIA_CHI + 1, hieuUng);
}

void setup() {
  for (uint8_t i = 0; i < 8; i++) { pinMode(CHAN_LED[i], OUTPUT); digitalWrite(CHAN_LED[i], LOW); }
  pinMode(PIN_NUT, INPUT_PULLUP);
  Serial.begin(115200);

  if (EEPROM.read(EE_DIA_CHI) == EE_MAGIC) {
    uint8_t h = EEPROM.read(EE_DIA_CHI + 1);
    if (h < SO_HIEU_UNG) hieuUng = h;
  }
  Serial.print(F("Mach Gon - 8 LED chay duoi. Hieu ung: ")); Serial.println(hieuUng + 1);

  batTat(0xFF);        // thử cả 8 đèn 1 giây
  delay(1000);
  batTat(0);
}

void loop() {
  uint32_t bayGio = millis();

  // 1. Núm vặn quyết định tốc độ
  int so = analogRead(PIN_NUM);
  chuKy = map(so, 0, 1023, CHAM_NHAT_MS, NHANH_NHAT_MS);

  // 2. Nút đổi hiệu ứng (có chống dội)
  bool dangNhan = (digitalRead(PIN_NUT) == LOW);
  if (dangNhan && !nutDangNhan && bayGio - mocNhanNut > CHONG_DOI_MS) {
    nutDangNhan = true;
    mocNhanNut = bayGio;
    hieuUng = (hieuUng + 1) % SO_HIEU_UNG;
    buoc = 0;
    luuHieuUng();
    Serial.print(F("Doi hieu ung: ")); Serial.println(hieuUng + 1);
  }
  if (!dangNhan) nutDangNhan = false;

  // 3. Chạy hiệu ứng theo nhịp
  if (bayGio - mocBuoc >= chuKy) {
    mocBuoc = bayGio;
    batTat(maskTheoHieuUng(hieuUng, buoc));
    buoc++;
  }

  // 4. Nhật ký 2 giây một lần
  if (bayGio - mocInLog >= 2000) {
    mocInLog = bayGio;
    Serial.print(F("hieu_ung=")); Serial.print(hieuUng + 1);
    Serial.print(F(" A0=")); Serial.print(so);
    Serial.print(F(" chu_ky=")); Serial.print(chuKy); Serial.println(F("ms"));
  }
}

🔌 Cắm thử trên breadboard

Cắm nháp trên board cắm trước cho chắc, chạy đúng rồi hãy làm mạch in. Sơ đồ này do máy tự xếp từ chính netlist ở trên và đã đối chiếu lại: hai chân cùng một cột (cùng nửa board) là thông nhau, không có net nào bị chập.

+−+−55101015152020252530303535404045455050JIHGFEDCBAU1 · Arduino NanoGND5VD2D3D4D5D6D7D8D9A0D10D1 redD2 redD3 yellowD4 yellowD5 greenD6 greenD7 blueD8 blueR1 330R2 330R3 330R4 330R5 330R6 330R7 220R8 220VR1 10kSW1
  • Mỗi cột 5 lỗ trong cùng một nửa board thông nhau; hai nửa cách nhau bởi rãnh giữa.
  • Hai đường kẻ dọc mép board là đường nguồn: hàng + (vạch đỏ) và hàng − (vạch xanh). Nhớ bắc dây nối đường nguồn trên với đường nguồn dưới nếu dùng cả hai nửa.
  • Màu dây trên hình trùng với màu trong bảng nối dây ở mục Sơ đồ, cắm theo màu cho dễ dò.

🧲 Mạch in để ủi (PCB 1 mặt)

Bản mạch in một mặt đồng, tự xếp linh kiện và tự đi dây, đã kiểm quy tắc khoảng cách và đối chiếu đúng 100% với sơ đồ nguyên lý ở trên. In tỉ lệ 1:1 rồi ủi lên tấm đồng.

Kích thước board83,8×81,3 mm69 lỗ khoan · mũi 0,8 / 0,9 / 1mm
Đi dây 1 mặt30 đoạn · 913,7 mm · 3 cầu nhảyCầu nhảy = đoạn dây hàn ở mặt linh kiện
Kiểm tra bản mạchĐạt DRC · khớp 100% netlistĐường ≥0,8mm, khe ≥0,5mm; mọi net đối chiếu lại từ hình học thật
Mặt đồng — đã lật gương sẵn để in rồi ủi úp xuống tấm đồng
Mặt linh kiện — vị trí, chiều cắm và tên từng chân
U1D1D2D3D4D5D6D7D8R1R2R3R4R5R6R7R8VR1SW1D1D0RSTGNDD2D3D4D5D6D7D8D9D10D11D12VINGND2RST25VA7A6A5A4A3A2A1A0AREF3V3D13
Cầu nhảy cần hàn (dây đơn ở mặt linh kiện):
  • net L7_DRV: U1.D8 → R7.1
  • net GND: U1.GND → VR1.3
  • net GND: VR1.3 → D1.K
Hướng dẫn ủi – ăn mòn – khoan – hàn (đầy đủ)

Hướng dẫn làm mạch in bằng phương pháp ủi

Mạch: Dãy 8 đèn LED chạy đuổi, đổi hiệu ứng và chỉnh tốc độ bằng núm vặn

Kích thước board: 83,8×81,3 mm · 69 lỗ khoan (mũi 0,8, 0,9 và 1 mm) · 30 đoạn mạch, tổng 913,7 mm · 3 cầu nhảy.

Quy tắc đã kiểm: đường mạch rộng 0,8mm (nguồn và GND 1mm), khe cách tối thiểu 0,5mm. Mạch in đã được máy đối chiếu đúng 100% với sơ đồ nguyên lý.

1. In đúng tỉ lệ 1:1

  • In trang "MẶT ĐỒNG" bằng máy in LASER, đặt tỉ lệ 100%, KHÔNG chọn "Fit to page" hay "Scale to fit".
  • Dùng thước trên bản in đo lại đoạn 100mm: phải đúng 100mm mới dùng được.
  • In trên giấy in ảnh bóng, giấy decal bóc, hoặc giấy tạp chí láng. Mực càng dày càng tốt.
  • Trang "MẶT ĐỒNG" đã được LẬT GƯƠNG sẵn: úp mặt có mực vào tấm đồng là đúng chiều.

2. Chuẩn bị tấm đồng

  • Cắt phíp đồng (board đồng một mặt) lớn hơn kích thước mạch mỗi bề khoảng 5mm.
  • Chà mặt đồng bằng giấy nhám mịn (P800–P1200) rồi rửa sạch, lau khô. Mặt đồng phải sáng, không vết dầu mỡ, không chạm tay vào.

3. Ủi mực sang đồng

  • Úp mặt có mực vào tấm đồng, dùng băng keo giấy dán cố định một cạnh.
  • Bàn ủi để mức nóng nhất (cotton/linen), KHÔNG dùng chế độ phun hơi nước.
  • Ủi đè mạnh và đều 3–5 phút, tập trung từng vùng nhỏ, chú ý các góc và mép.
  • Để nguội hẳn rồi ngâm cả tấm vào nước ấm 5–10 phút, bóc giấy thật nhẹ. Giấy decal thì bóc khi còn ấm.
  • Soi kỹ: chỗ nào mực bị thiếu hoặc đứt đường thì tô lại bằng bút lông dầu (bút CD) rồi để khô.

4. Ăn mòn (etching)

  • Pha dung dịch sắt(III) clorua FeCl3 theo hướng dẫn trên bao bì, hoặc dung dịch oxy già + muối ăn + a-xít; dùng hộp nhựa, KHÔNG dùng đồ kim loại.
  • Nhiệt độ dung dịch khoảng 40–50°C thì ăn nhanh hơn. Lắc nhẹ hộp cho đều, thường 10–25 phút là xong.
  • An toàn: đeo găng tay cao su và kính bảo hộ, làm ở nơi thoáng. Dung dịch ăn mòn làm hỏng quần áo, bồn rửa và gây bỏng rát da.
  • Xong thì rửa board bằng nước sạch, lau khô, dùng xăng thơm hoặc axeton lau sạch lớp mực.
  • Dung dịch đã dùng KHÔNG đổ xuống bồn rửa hay cống; đựng vào can kín và bỏ đúng nơi thu gom chất thải.

5. Khoan lỗ

  • Đối chiếu trang "BẢN VẼ LỖ KHOAN" để biết lỗ nào dùng mũi nào.
  • Dùng mũi khoan 0,8mm, 0,9mm và 1mm, khoan từ MẶT ĐỒNG vào để mũi tự định tâm giữa pad.
  • Khoan tốc độ cao, đẩy nhẹ; mũi nhỏ rất dễ gãy. Khoan xong chà nhẹ bavia hai mặt.

6. Hàn linh kiện

  • Linh kiện cắm ở MẶT KHÔNG CÓ ĐỒNG, hàn ở mặt đồng. Theo trang "MẶT LINH KIỆN" để đặt đúng vị trí và đúng chiều.
  • Hàn linh kiện thấp trước (điện trở, đi-ốt), cao sau (tụ, hàng chân, board vi điều khiển).
  • Chú ý chiều: LED chân dài là (+); đi-ốt có vạch trắng là K; tụ hoá có vạch là (−); transistor theo mặt chữ như nét vẽ đỏ.
  • Mạch này còn 3 CẦU NHẢY: hàn đoạn dây đơn ở mặt linh kiện theo nét đỏ gạch trên bản vẽ:
  • cầu nhảy net L7_DRV: từ U1.D8 sang R7.1
  • cầu nhảy net GND: từ U1.GND sang VR1.3
  • cầu nhảy net GND: từ VR1.3 sang D1.K
  • Trước khi cấp điện: đo thông mạch giữa chân nguồn và GND — KHÔNG được kêu (không được chập).

Lưu ý với board vi điều khiển

  • Board nhái có thể khác thứ tự chân. Đối chiếu tên chân in cạnh từng lỗ trên trang "MẶT LINH KIỆN" với chữ in trên board thật TRƯỚC KHI ăn mòn. Nếu khác, đừng hàn mà báo lại để sửa bản vẽ.
Bản vẽ lỗ khoan
BẢN VẼ LỖ KHOAN (nhìn từ mặt linh kiện)mũi khoan 0,8mm — 16 lỗmũi khoan 0,9mm — 23 lỗmũi khoan 1mm — 30 lỗ

Đo kiểm bằng đồng hồ vạn năng

Giữa chân 5V và GND của Nano4,7 – 5,1V
Giữa A0 và GND khi vặn núm hết một chiềugần 0V; vặn hết chiều kia gần 5V
Giữa D10 và GND khi nhấn nútdưới 0,2V
Giữa chân dài một LED đang sáng và GNDkhoảng 2V (LED xanh dương khoảng 3V)
Nối tiếp đồng hồ ở thang mA với một LED8 – 11mA

Sửa lỗi thường gặp

Một đèn không bao giờ sáng

Thường là cắm ngược LED đó. Rút điện, đo thang đi-ốt: que đỏ vào chân dài phải thấy đèn lóe. Hoặc mối hàn điện trở bị nguội.

Cả dãy mờ và Nano nóng

Thiếu điện trở hạn dòng ở đâu đó, hoặc dùng trở quá nhỏ. Đo lại trị số: 330Ω là cam-cam-nâu, 220Ω là đỏ-đỏ-nâu.

Vặn núm không đổi tốc độ

Chân giữa biến trở chưa vào A0, hoặc hai chân ngoài chưa nối 5V và GND. Xem số đọc A0 trên Serial Monitor khi vặn.

Bấm nút nhảy 2–3 hiệu ứng

Nút bị dội tiếp điểm. Code đã chống dội 180ms; nếu vẫn nhảy thì hàn thêm tụ 100nF song song nút.

Thứ tự đèn chạy lộn xộn

Thứ tự hàn không khớp: D2 phải nối đèn đầu dãy, D9 nối đèn cuối dãy. Sửa lại thứ tự dây hoặc đổi mảng CHAN_LED trong code.

⚠️ An toàn

  • Mạch dùng 5V từ cổng USB, an toàn khi chạm.
  • Không nhìn thẳng vào LED xanh dương ở khoảng cách gần trong thời gian dài.
  • Mạch có đèn nhấp nháy: không dùng cho người nhạy cảm với ánh sáng nhấp nháy (có tiền sử động kinh do ánh sáng); nếu cần, đặt tốc độ chậm.