Series
Series 37 Module Cảm Biến
  1. Series 37 Module Cảm Biến: Nguyên lý hoạt động và cách test với Arduino, ESP32
  2. 1Series 37 Module Cảm Biến – DS3231 RTC: TCXO ±2ppm, I2C, Alarm Ngắt SQW & Đồng Hồ Thực Với Backup Pin
  3. 2Series 37 Module Cảm Biến – SD Card Module SPI: FAT32, Ghi Log CSV Cảm Biến & Đọc Config File Không Hardcode
  4. 3Series 37 Module Cảm Biến – LCD 1602 I2C: PCF8574 Expander, LiquidCrystal_I2C, Cuộn Chữ & Ký Tự Tùy Chỉnh
  5. 4Series 37 Module Cảm Biến – 7-Segment 1 Chữ Số: Mã Segment 0x3F-0x7F, Common Anode vs Cathode & Đếm 0-9
  6. 5Series 37 Module Cảm Biến – OLED SSD1306 0.96\” I2C: Frame Buffer, Adafruit GFX & Hiển Thị Dữ Liệu Thực Tế
  7. 6Series 37 Module Cảm Biến – Nguyên Lý LM35 Analog: Đặc Tuyến 10mV/°C, Đọc ADC Chính Xác & Hiệu Chỉnh Nhiệt Độ
  8. 7Series 37 Module Cảm Biến – Nguyên Lý Knock Sensor KY-031: Piezoelectric Thuận, Va Đập → Điện Áp & Nhận Dạng Pattern
  9. 8Series 37 Module Cảm Biến – Nguyên Lý MPU-6050: IMU 6 Trục, MEMS Gia Tốc + Con Quay, Complementary Filter & Góc Nghiêng
  10. 9Series 37 Module Cảm Biến – Nguyên Lý Relay 5V SRD-05VDC: Cơ Điện Từ, Cách Ly Galvanic & Điều Khiển Thiết Bị 220V
  11. 10Series 37 Module Cảm Biến – Nguyên Lý Hall Effect Analog (49E/SS49E): Đo Cường Độ Từ Trường Tuyến Tính & ADC
  12. 11Series 37 Module Cảm Biến – Nguyên Lý Hall Effect KY-003: Hiệu Ứng Hall, IC Số Unipolar & Phát Hiện Nam Châm
  13. 12Series 37 Module Cảm Biến – Nguyên Lý Reed Switch: Tiếp Điểm Từ Trong Kính, Phát Hiện Cửa & Đo Tốc Độ Quay
  14. 13Series 37 Module Cảm Biến – Nguyên Lý Vibration Switch SW-18010P: Lò Xo Dẫn Điện, Phát Hiện Rung & Pattern Gõ
  15. 14Series 37 Module Cảm Biến – Nguyên Lý Tilt Switch SW-520D: Bi Kim Loại Dẫn Điện, Phát Hiện Nghiêng & Báo Động
  16. 15Series 37 Module Cảm Biến – Nguyên Lý Touch Sensor TTP223: Capacitive Self-Capacitance, Chế Độ Toggle & Latch
  17. 16Series 37 Module Cảm Biến – Nguyên Lý Rotary Encoder KY-040: Xung Quadrature, Đếm Hướng Xoay & Điều Khiển Menu
  18. 17Series 37 Module Cảm Biến – Nguyên Lý Joystick KY-023: Biến Trở 2 Trục, Dead Zone & Điều Khiển Robot / Servo
  19. 18Series 37 Module Cảm Biến – Nguyên Lý Sound Sensor: Microphone Electret, LM393 Comparator & Phát Hiện Tiếng Ồn
  20. 19Series 37 Module Cảm Biến – Nguyên Lý Passive Buzzer: PWM Điều Khiển Tần Số, Hàm tone() & Phát Nhạc Arduino ESP32
  21. 20Series 37 Module Cảm Biến – Nguyên Lý Active Buzzer: Oscillator Tích Hợp, Phân Biệt Active/Passive & Code Cảnh Báo
  22. 21Series 37 Module Cảm Biến – Nguyên Lý 7-Color LED Tự Đổi Màu: IC Tích Hợp, Tần Số Dao Động Nội & Ứng Dụng Trang Trí
  23. 22Series 37 Module Cảm Biến – Nguyên Lý RGB LED Module KY-016: Điốt 3 Màu, PWM Mix Màu 16 Triệu Sắc & Hiệu Ứng
  24. 23Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động IR Receiver VS1838B: Demodulate 38kHz, NEC Protocol & Điều Khiển Từ Xa
  25. 24Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động LDR Quang Trở: CdS Photoconductor, Voltage Divider & Điều Khiển Theo Ánh Sáng
  26. 25Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động Laser Module KY-008: Diode Laser 650nm, Cộng Hưởng Quang Học & An Toàn Laser
  27. 26Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động Flame Sensor: Phổ IR Lửa 760-1100nm, LM393 & Ứng Dụng Chữa Cháy
  28. 27Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động Line Tracking Sensor TCRT5000: Dò Đường IR, Khoảng Cách Tối Ưu & Robot Theo Vạch
  29. 28Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động IR Obstacle Sensor: Phản Xạ Hồng Ngoại, LM393 & Tránh Vật Cản Robot
  30. 29Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động PIR HC-SR501: Pyroelectric Infrared, Fresnel Lens & Phát Hiện Chuyển Động
  31. 30Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động HC-SR04: Sóng Siêu Âm 40kHz, Thời Gian Bay & Đo Khoảng Cách Chính Xác
  32. 31Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động MQ-2: Semiconductor SnO₂, Đường Cong Nhạy Khí & Đo Nồng Độ Gas
  33. 32Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động Rain Sensor FC-37: Phát Hiện Mưa, LM393 Comparator & Ứng Dụng Thực Tế
  34. 33Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động Soil Moisture Sensor: Điện Trở Đất, Hiệu Chỉnh & Tưới Cây Tự Động
  35. 34Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động BMP280: Cảm Biến Áp Suất & Nhiệt Độ Chính Xác Của Bosch
  36. 35Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động DS18B20: Cảm Biến Nhiệt Độ 1-Wire Chống Nước
  37. 36Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động DHT22 (AM2302): Độ Chính Xác Cao, Dải Đo Rộng
  38. 37Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động DHT11: Cảm Biến Nhiệt Độ & Độ Ẩm Phổ Biến Nhất
Cảm biến

Series 37 Module Cảm Biến – Nguyên Lý 7-Color LED Tự Đổi Màu: IC Tích Hợp, Tần Số Dao Động Nội & Ứng Dụng Trang Trí

Th7 2026
Series 37 Module Cảm Biến – Nguyên Lý 7-Color LED Tự Đổi Màu: IC Tích Hợp, Tần Số Dao Động Nội & Ứng Dụng Trang Trí

7-Color LED (hay Auto-Flash RGB LED) trông giống LED thông thường nhưng bên trong có IC điều khiển tự động chuyển màu. Không cần MCU quản lý PWM hay sequence — chỉ cần cấp nguồn là nó tự chạy. Bài này giải thích cơ chế IC tích hợp, sự khác biệt giữa loại trong suốt và mờ, và khi nào nên dùng loại này thay vì RGB LED thông thường.

Nguyên Lý Hoạt Động

1. Bên Trong Vỏ LED — IC CMOS Tích Hợp

Nhìn ngoài giống LED 5mm thông thường, nhưng bên trong có cấu trúc phức tạp hơn:

Vỏ trong suốt / mờ (epoxy)
┌─────────────────────────────────┐
│                                 │
│    [Die đỏ]                     │ ← LED đỏ (GaAsP/AlGaInP)
│    [Die xanh lá]                │ ← LED xanh (InGaN)
│    [Die xanh dương]             │ ← LED xanh dương (InGaN)
│                                 │
│    [IC Controller CMOS]         │ ← IC điều khiển tích hợp
│    (oscillator + state machine) │
│                                 │
└─────────────────────────────────┘
      │            │
   Anode(+)     Cathode(-)

IC controller bên trong là mạch CMOS đơn giản, gồm:

  • Ring oscillator (bộ dao động vòng): tạo xung clock từ nguồn điện
  • Counter/State machine: đếm và chuyển đổi giữa các trạng thái R, G, B
  • Switching transistors: bật từng LED theo thứ tự

2. Chuỗi Chuyển Màu Tự Động

IC controller chuyển đổi theo chu kỳ cố định (tùy nhà sản xuất, thường ~1-3 giây/màu):

Chuỗi phổ biến (7 bước — gọi là "7 color"):

[Đỏ][Xanh lá][Xanh dương][Vàng R+G][Cyan G+B][Tím R+B][Trắng R+G+B][lặp]

Một số loại bổ sung fade in/out giữa các màu:
[Đỏ đậm][Đỏ nhạt dần][Xanh lá nhạt dần lên][Xanh đậm] → ...

Tần số dao động nội: Phụ thuộc điện áp cấp và capacitance nội bộ. Ở 3V: ~1.5 giây/màu. Ở 5V: ~1 giây/màu (nhanh hơn). Không điều chỉnh được.

3. Loại Trong Suốt vs Loại Mờ (Diffused)

Trong suốt (Clear)Mờ (Diffused)
Nhìn vào LEDThấy 3 die riêng biệtToàn vỏ phát sáng đều
Khi trộn màuThấy 3 điểm sáng R, G, B riêngMàu trộn đều mượt mà
Hiệu ứng vàng/cyan/trắngThấy 2-3 điểm sáng riêngMàu thứ cấp đẹp hơn
Ứng dụngQuan sát kỹ thuậtTrang trí, mood light

Khuyến nghị: Dùng loại mờ cho trang trí — màu trộn đẹp hơn nhiều. Loại trong suốt cho demo/giáo dục.

4. So Sánh Với RGB LED Thông Thường

7-Color Auto LEDRGB LED Thông Thường
Điều khiểnKhông cần MCUCần 3 chân PWM
Tùy chỉnh màuKhông (IC quyết định)Hoàn toàn (16.7M màu)
Tốc độ đổi màuCố định (IC nội)Theo lập trình
Số chân2 (Anode + Cathode)4 (R, G, B, Common)
Ứng dụngTrang trí đơn giảnĐiều khiển màu chính xác
GiáNhư nhauNhư nhau

Thông Số Kỹ Thuật

Thông sốGiá trị
Điện áp hoạt động3V – 5V
Dòng tiêu thụ~20mA
Tần số chuyển màu~1-3 giây/màu (tùy điện áp)
Số màu7 (R, G, B, Y, C, M, W)
Loại package5mm LED thông thường
Điện áp thuận~2V – 3.5V
Chân2 (Anode dài hơn, Cathode ngắn hơn)

Sơ Đồ Chân (Pinout)

7-Color LED — Nhìn từ đáy:

  Anode (+)   Cathode (-)
     │              │
     ← Dài hơn      ← Ngắn hơn
     
Hoặc:
     ← Bên cạnh flat edge là Cathode

Phân biệt Anode/Cathode: Như LED thường — chân dài = Anode, chân ngắn = Cathode. Hoặc nhìn flat edge nhỏ bên vỏ — phía flat = Cathode.

Module KY-034 (trong kit 37 module)

┌──────────────────────────┐
│   [7-Color LED]          │
│   [Điện trở hạn dòng]    │
└──────────────────────────┘
  GND   VCC   (không có S)

Chỉ 2 chân VCC và GND — cấp nguồn là tự chạy.

Kết Nối Phần Cứng

KY-034 với ESP32 DevKit V1

ESP32 DevKit V1           KY-034 Module
─────────────────────     ─────────────────
GPIO5 (Output) ────────→  VCC  ← Cấp nguồn qua GPIO để bật/tắt
GND  ─────────────────→  GND

Cấp nguồn qua GPIO5: khi GPIO5 = HIGH → LED tự đổi màu; LOW → tắt. Module đã có điện trở hạn dòng nên không cần thêm.

Lưu ý: Module KY-034 dùng điện trở tính cho 5V. Ở 3.3V, LED vẫn sáng nhưng hơi tối hơn và tốc độ chuyển màu có thể chậm hơn.

KY-034 với Arduino Uno

Arduino Uno               KY-034 Module
─────────────────────     ─────────────────
Pin 9 (OUTPUT) ────────→  VCC
GND  ─────────────────→  GND

Hoặc nối thẳng 5V nếu không cần điều khiển:

5V  ────────────────────→  VCC  (luôn sáng, không điều khiển)
GND ────────────────────→  GND

Code Arduino IDE

Code Bật Tắt LED Đơn Giản — Arduino Uno

/*
 * 7-Color LED KY-034 — Bật tắt qua GPIO
 * Board: Arduino Uno
 * Kết nối: VCC→Pin9, GND→GND
 *
 * LED tự chuyển màu khi bật — không cần code điều khiển màu
 * Chỉ cần bật/tắt nguồn
 */

const int LED_PIN = 9;

void setup() {
  Serial.begin(9600);
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, LOW); // Tắt ban đầu
  Serial.println("=== 7-Color LED KY-034 ===");
}

void loop() {
  // Bật LED — tự đổi màu 10 giây
  Serial.println("LED BẬT — tự đổi màu...");
  digitalWrite(LED_PIN, HIGH);
  delay(10000);

  // Tắt 2 giây
  Serial.println("LED TẮT");
  digitalWrite(LED_PIN, LOW);
  delay(2000);
}

Code Hiệu Ứng Blink — Arduino Uno

/*
 * 7-Color LED — Hiệu ứng blink với tốc độ thay đổi
 * Board: Arduino Uno
 * Kết nối: VCC→Pin9, GND→GND
 */

const int LED_PIN = 9;

void setup() {
  Serial.begin(9600);
  pinMode(LED_PIN, OUTPUT);
}

// Blink N lần với khoảng cách onMs và offMs
void blink(int times, int onMs, int offMs) {
  for (int i = 0; i < times; i++) {
    digitalWrite(LED_PIN, HIGH);
    delay(onMs);
    digitalWrite(LED_PIN, LOW);
    delay(offMs);
  }
}

void loop() {
  // Bật liên tục 5 giây — xem màu chuyển
  digitalWrite(LED_PIN, HIGH);
  delay(5000);

  // Blink nhanh 10 lần (SOS style)
  blink(10, 100, 100);

  // Blink chậm 3 lần
  blink(3, 800, 400);

  delay(1000);
}

Code ESP32 — Non-Blocking Blink

/*
 * 7-Color LED KY-034 — ESP32, non-blocking blink
 * Board: ESP32 DevKit V1
 * Kết nối: VCC→GPIO5, GND→GND
 */

const int LED_PIN = 5;

unsigned long lastToggleTime = 0;
bool ledState = false;
int blinkInterval = 500; // ms — thay đổi để điều chỉnh tốc độ blink

void setup() {
  Serial.begin(115200);
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, LOW);
  Serial.println("=== 7-Color LED ESP32 Non-Blocking ===");
}

void loop() {
  unsigned long now = millis();

  // Blink không dùng delay()
  if (now - lastToggleTime >= blinkInterval) {
    lastToggleTime = now;
    ledState = !ledState;
    digitalWrite(LED_PIN, ledState ? HIGH : LOW);

    if (ledState) {
      Serial.println("LED BẬT (tự đổi màu)");
    } else {
      Serial.println("LED TẮT");
    }
  }

  // MCU vẫn xử lý được các task khác ở đây
  // Ví dụ: đọc sensor, WiFi, MQTT...
}

Kết Quả Mong Đợi

=== 7-Color LED ESP32 Non-Blocking ===
LED BẬT (tự đổi màu)     ← LED bắt đầu đỏ, sau ~1-2s chuyển xanh...
LED TẮT
LED BẬT (tự đổi màu)
LED TẮT

Ứng Dụng Thực Tế

Ứng dụngChi tiết
Đèn trang trí đơn giảnCắm vào nguồn 3-5V, không cần MCU
Chỉ thị nguồn điện chạyThay LED đơn sắc bằng 7-color cho đẹp hơn
Đèn cảnh báo màu sắc nổi bậtThu hút chú ý hơn LED một màu
Demo IoT kit cho học sinhThêm màu sắc sinh động mà không cần code phức tạp

Lưu Ý Khi Sử Dụng

1. Không điều chỉnh được màu hay tốc độ

IC bên trong là fixed program — không có cách thay đổi sequence hoặc tốc độ từ bên ngoài. Nếu cần điều khiển màu → dùng RGB LED thông thường (KY-016/Bài 16).

2. GPIO phải đủ dòng khi dùng cấp nguồn

LED tiêu thụ ~20mA. GPIO Arduino Uno chịu được 40mA — OK. GPIO ESP32 chịu được 12mA — không đủ! Với ESP32: dùng transistor NPN hoặc MOSFET khi cấp nguồn qua GPIO. Hoặc nối VCC thẳng vào 3V3/5V và không điều khiển bật tắt.

3. Tốc độ chuyển màu thay đổi theo điện áp

3V: chậm hơn, màu hơi tối. 5V: nhanh hơn, sáng hơn. Không ảnh hưởng đến số màu hay thứ tự màu.

4. Không phải 7 màu riêng biệt rõ ràng ở mọi loại

Một số loại LED kém chất lượng chỉ có 3 màu (R, G, B) không có màu trộn. Loại tốt có đủ 7 màu rõ ràng. Dùng loại mờ (diffused) để màu trộn đẹp hơn.

Bài tiếp theo: