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ý Hoạt Động Laser Module KY-008: Diode Laser 650nm, Cộng Hưởng Quang Học & An Toàn Laser

Th7 2026
Series 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

KY-008 là module diode laser đỏ 650nm, phổ biến trong bộ kit Arduino 37 module. Khác với LED thông thường phát ánh sáng khuếch tán, laser diode tạo ra chùm ánh sáng kết hợp (coherent), đơn sắc và hội tụ. Bài này giải thích nguyên lý vật lý làm cho laser diode khác biệt, quy tắc an toàn quan trọng, và ứng dụng laser tripwire thực tế.

Nguyên Lý Hoạt Động

1. Laser Diode vs LED — Sự Khác Biệt Cơ Bản

Cả laser diode và LED đều là p-n junction semiconductor phát sáng khi dòng điện chạy qua. Nhưng cơ chế khác nhau hoàn toàn.

LED (Light Emitting Diode):

Electron + Hole  Photon (phát xạ tự phát)
                  Bước sóng: dải rộng 20-50nm (ví dụ 630-680nm)
                  Hướng: phân kỳ mọi hướng ~120°
                  Phase: ngẫu nhiên (incoherent)

Laser Diode:

Electron + Hole → Photon (phát xạ tự phát)
Photon đó kích thích electron khác → 2 photon cùng tần số + cùng pha (stimulated emission)
2 photon đó kích thích → 4 photon → ... → cascade
Buồng cộng hưởng khuếch đại → Chùm laser ra ngoài

2. Buồng Cộng Hưởng Fabry-Pérot

Đây là điểm cốt lõi tạo ra laser. Laser diode có hai mặt tinh thể được chẻ phẳng (cleaved facets) ở hai đầu — đóng vai trò gương bán phản chiếu:

                 Gương bán phản       Gương bán phản
                 R₁  30%            R₂  30%
GND ──┤ p-layer ├──────────────────────────────┤ n-layer ├── VCC
                Mặt chẻ (gương)          Mặt chẻ (gương) 

Photon bouncing:
    →→→→→ Phản xạ ←←←←←
    →→→→→ Phản xạ ←←←←←   Khi đủ khuếch đại
    →→→→→ Phản xạ ←←←←←   Thoát ra ngoài qua mặt gương bán phản
    ─────────────────────  Chùm laser hội tụ

Ngưỡng laser (Threshold current):

  • Dưới ngưỡng: phát xạ tự phát (như LED) — ánh sáng yếu, phân kỳ
  • Trên ngưỡng: phát xạ cưỡng bức thắng → chùm laser hội tụ, mạnh

KY-008 mặc định hoạt động trên ngưỡng khi cấp điện đúng (điện trở 1kΩ tích hợp giới hạn dòng phù hợp).

3. Đặc Điểm Chùm Laser 650nm

Chùm sáng laser (so sánh với LED):

LED:                              Laser diode:
    ╱│╲                               ─────→
                                   ─────→  (song song, divergence nhỏ ~10-20°)
                                   ─────→
 [LED]                             [Laser]
Góc: ~120°                         Góc: ~10-20° (trước khi đi qua thấu kính hội tụ)
Bước sóng: dải rộng (~20-50nm)     Bước sóng: rất hẹp (<1nm, thường <0.1nm)

Bước sóng 650nm — màu đỏ: Đây là giới hạn giữa đỏ và gần hồng ngoại. Mắt người nhạy nhất với 550nm (xanh lá), kém nhạy với 650nm → 650nm cần công suất quang học cao hơn để nhìn thấy tương đương với 550nm. Tuy nhiên, 650nm rất rẻ để sản xuất → phổ biến nhất trong laser diode thương mại.

4. Mạch Trong KY-008

KY-008 module (cực đơn giản):

Pin S (Signal)
    │
   [1kΩ]  ← Điện trở hạn dòng tích hợp
    │
[Laser Diode Anode]
[Laser Diode Cathode]
    │
   GND

Không có IC điều khiển. Không có điều chỉnh công suất. Chỉ là laser diode + điện trở nối tiếp:

  • Cấp 5V: dòng ≈ (5V – V_f) / 1kΩ ≈ (5 – 2.5) / 1000 = 2.5mA → công suất quang học thấp nhưng đủ thấy được
  • Tăng cao hơn 5V → có thể hỏng diode

Thông Số Kỹ Thuật

Thông sốGiá trị
Điện áp hoạt động5V (3.3V cũng hoạt động nhưng yếu hơn)
Điện trở hạn dòng1kΩ (tích hợp trên module)
Bước sóng650nm (đỏ)
Công suất quang~5mW (tùy dòng điện)
Phân kỳ chùm tia~10–30° (trước thấu kính)
Class laserIIIa / Class 3R
Kích thước module15mm × 13mm

Phân Loại An Toàn Laser

QUAN TRỌNG — Đọc trước khi dùng:

ClassCông suấtMức độ nguy hiểm
Class 1<0.4mW (visible)An toàn hoàn toàn
Class 21–1mWAn toàn — reflex blink bảo vệ
Class 3R / IIIa1–5mWNhìn trực tiếp >0.25s có thể hại mắt
Class 3B / IIIb5–500mWNguy hiểm — bỏng võng mạc nhanh
Class 4>500mWCháy da, mắt, vật liệu

KY-008 là Class 3R (~5mW):

  • KHÔNG nhìn trực tiếp vào chùm tia
  • KHÔNG chiếu vào mắt người khác
  • Phản xạ khuếch tán (từ giấy, tường) thường an toàn
  • Phản xạ gương (từ gương, kim loại nhẵn) vẫn nguy hiểm

Sơ Đồ Chân (Pinout)

KY-008 Module (nhìn từ phía sau board):

 S    Middle   GND
 │      │       │
[1kΩ]   │       │
 │      │       │
[Laser Diode Anode ─── Cathode]
ChânKý hiệuChức năng
1S (Signal)Nối với 1kΩ → anode laser diode
2(Middle)Cùng nối với S qua PCB trace — thường bỏ qua
3GNDCathode laser diode, đất

Thực tế sử dụng: Nối VCC (5V) vào S (hoặc Middle), GND vào GND → laser sáng. Muốn bật/tắt qua MCU: dùng transistor NPN hoặc MOSFET điều khiển dòng.

So Sánh Laser Diode Modules Phổ Biến

ModuleBước sóngCông suấtGhi chú
KY-008650nm (đỏ)~5mWPhổ biến nhất, kit 37 module
Laser xanh 532nm532nm5-50mWĐắt hơn, mắt nhạy hơn → thấy rõ hơn
Laser tím 405nm405nm5-50mWPhổ UV, tẩy vải/keo UV
Laser IR 850nm850nm10-100mWKhông thấy bằng mắt thường

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

Kết Nối KY-008 với ESP32 — Điều Khiển Trực Tiếp GPIO

Cách 1: Nối thẳng (đơn giản)

ESP32 DevKit V1              KY-008
─────────────────────        ─────────────
3V3 hoặc 5V ──────────────→  S (Signal)
GND  ──────────────────────→  GND

Laser luôn sáng khi có nguồn. Không điều khiển ON/OFF từ MCU.

Cách 2: Điều khiển bật/tắt qua GPIO (đúng cách)

ESP32 GPIO → 2N2222 NPN Transistor → Laser

ESP32                  2N2222 NPN         KY-008
─────────────────      ──────────────     ───────
GPIO5 ─────────────→ Base (qua 1kΩ)
                     Collector ──────────→ S (Signal)
                     Emitter  ──────────→ GND (chung)
5V ───────────────→ VCC KY-008 (trực tiếp)
GND ──────────────→ GND (chung)

Tại sao cần transistor: GPIO ESP32 (3.3V, 12mA max) không đủ dòng/điện áp để cấp laser 5V cần ~5mA. Transistor NPN làm “công tắc”: GPIO HIGH → transistor dẫn → laser sáng.

Kết Nối KY-008 với Arduino Uno

Arduino Uno 5V → cấp trực tiếp hơn:

Arduino Uno              KY-008
─────────────────────    ─────────────
Pin 9 (PWM/Digital)────→ S (Signal)  ← GPIO Uno 5V, 40mA — đủ dùng
GND  ──────────────────→ GND

Arduino Uno GPIO có thể cấp 40mA — đủ cho KY-008 (chỉ ~5mA). Không cần transistor.

Mạch Laser Tripwire (Thực Tế)

[KY-008 Laser] ─────────────────────────────→ [LDR]
     │                      ~1-5m                │
   Arduino                              Arduino Uno
   GPIO9                                A0 (đọc LDR)
                                        Pull-up 10kΩ:
                                        VCC─[10kΩ]─┬─ A0
                                                   │
                                                 [LDR]
                                                   │
                                                  GND

Khi laser chiếu vào LDR → LDR điện trở thấp → A0 thấp. Khi beam bị chắn → LDR điện trở cao → A0 cao → báo động.

Code Arduino IDE

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

/*
 * KY-008 Laser Module — Bật tắt laser
 * Board: Arduino Uno
 * Kết nối: S→Pin9, GND→GND
 * (Điện trở 1kΩ đã có trên module — không cần thêm)
 *
 * AN TOÀN: Không hướng laser vào mắt người
 */

const int LASER_PIN = 9;

void setup() {
  Serial.begin(9600);
  pinMode(LASER_PIN, OUTPUT);
  digitalWrite(LASER_PIN, LOW); // Tắt laser ban đầu
  Serial.println("=== KY-008 Laser - Arduino Uno ===");
  Serial.println("AN TOÀN: Không hướng laser vào mắt!");
}

void loop() {
  // Bật laser 2 giây
  digitalWrite(LASER_PIN, HIGH);
  Serial.println("Laser: BẬT");
  delay(2000);

  // Tắt laser 1 giây
  digitalWrite(LASER_PIN, LOW);
  Serial.println("Laser: TẮT");
  delay(1000);
}

Code Laser Tripwire — Arduino Uno

/*
 * Laser Tripwire — Cảnh báo khi beam bị cắt
 * Board: Arduino Uno
 * Kết nối:
 *   Laser KY-008: S→Pin9, GND→GND
 *   LDR (ở đầu thu): một đầu→A0, một đầu→GND; Pull-up 10kΩ từ A0→5V
 *   Buzzer: +→Pin8, -→GND
 *
 * Đặt laser và LDR thẳng nhau, cách 0.5m-5m
 * Khi có người cắt ngang beam → LDR không nhận laser → báo động
 */

const int LASER_PIN  = 9;
const int LDR_PIN    = A0;
const int BUZZER_PIN = 8;

int beamThreshold;    // Ngưỡng — đo khi beam thẳng, set = 80% giá trị đó
bool alarmTriggered = false;

void calibrate() {
  Serial.println("Calibrating — giữ nguyên beam 3 giây...");
  delay(2000);
  int beamValue = analogRead(LDR_PIN);
  // Ngưỡng: nếu LDR đọc thấp hơn 70% giá trị ban đầu → beam bị cắt
  beamThreshold = beamValue * 0.7;
  Serial.print("Beam value: "); Serial.println(beamValue);
  Serial.print("Threshold set to: "); Serial.println(beamThreshold);
  Serial.println("Tripwire active!");
}

void setup() {
  Serial.begin(9600);
  pinMode(LASER_PIN, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  digitalWrite(BUZZER_PIN, LOW);

  // Bật laser để calibrate
  digitalWrite(LASER_PIN, HIGH);
  delay(500); // Ổn định

  calibrate();
}

void loop() {
  int ldrValue = analogRead(LDR_PIN);

  if (ldrValue < beamThreshold) {
    // Beam bị cắt → báo động
    if (!alarmTriggered) {
      alarmTriggered = true;
      Serial.println("!!! BEAM BỊ CẮT — CÓ NGƯỜI QUA !!!");
    }
    // Còi báo liên tục
    tone(BUZZER_PIN, 1000);
  } else {
    // Beam bình thường
    if (alarmTriggered) {
      alarmTriggered = false;
      Serial.println("Beam khôi phục — bình thường");
    }
    noTone(BUZZER_PIN);
  }

  delay(50); // Polling 50ms
}

Code ESP32 — Laser Tripwire + Timestamp

/*
 * Laser Tripwire — ESP32 với transistor NPN điều khiển laser
 * Board: ESP32 DevKit V1
 * Laser: Base transistor → GPIO5 (qua 1kΩ); Collector → KY-008 S; Emitter → GND
 * LDR: GPIO34 (ADC1, input-only); Pull-up 10kΩ từ LDR → 3V3
 */

const int LASER_CTRL = 5;  // Điều khiển transistor → bật/tắt laser
const int LDR_PIN    = 34; // ADC1_CH6, input-only

int beamBaseline;   // Giá trị LDR khi beam bình thường
int threshold;      // Ngưỡng phát hiện

void calibrate() {
  Serial.println("Calibration: giữ beam thẳng, chờ 2 giây...");
  delay(2000);

  int sum = 0;
  for (int i = 0; i < 20; i++) {
    sum += analogRead(LDR_PIN);
    delay(50);
  }
  beamBaseline = sum / 20;
  threshold = beamBaseline * 7 / 10; // 70% của baseline

  Serial.printf("Baseline ADC: %d | Threshold: %d\n", beamBaseline, threshold);
  Serial.println("Tripwire ACTIVE!");
}

void setup() {
  Serial.begin(115200);
  pinMode(LASER_CTRL, OUTPUT);
  analogSetAttenuation(ADC_11db);
  analogReadResolution(12);

  // Bật laser
  digitalWrite(LASER_CTRL, HIGH);
  delay(500);

  calibrate();
}

void loop() {
  int ldrVal = analogRead(LDR_PIN);

  if (ldrVal < threshold) {
    // Beam bị cắt
    Serial.printf("[%lums] !!! BEAM CẮT! LDR=%d (threshold=%d) !!!\n",
      millis(), ldrVal, threshold);
    delay(500); // Debounce
  }

  delay(50);
}

Kết Quả Mong Đợi

=== KY-008 Laser Tripwire ===
Calibration: giữ beam thẳng, chờ 2 giây...
Baseline ADC: 3850 | Threshold: 2695
Tripwire ACTIVE!
[12345ms] !!! BEAM CẮT! LDR=1200 (threshold=2695) !!!
[13890ms] !!! BEAM CẮT! LDR=980 (threshold=2695) !!!

Ứng Dụng Thực Tế

Ứng dụngChi tiết
Laser tripwire cảnh báoBảo vệ cửa, kho hàng
Đếm vật thể đi quaĐếm sản phẩm trên băng chuyền
Laser level markerĐánh dấu đường thẳng khi lắp đặt
Demo nguyên lý laser/quang họcGiáo dục
Photo booth triggerChụp ảnh khi người đi qua

Lưu Ý Khi Sử Dụng

1. AN TOÀN MẮT — Quan trọng nhất

KY-008 là Class 3R (~5mW). Không nhìn trực tiếp vào chùm tia. Không chiếu về phía mắt. Phản xạ từ gương/kim loại nhẵn vẫn nguy hiểm. Phản xạ từ giấy/tường (diffuse) thường an toàn nhưng tránh nhìn trực tiếp điểm sáng. Đặc biệt nguy hiểm với trẻ em — không để trẻ em chơi module laser không có giám sát.

2. Không điều chỉnh dòng vượt quá điện trở 1kΩ tích hợp

Điện trở 1kΩ bảo vệ diode khỏi quá dòng. Không bỏ điện trở hoặc shunt để “tăng sáng” → sẽ hỏng diode laser ngay lập tức. Dòng quá cao làm hỏng buồng cộng hưởng không sửa được.

3. Transistor hoặc MOSFET khi điều khiển từ ESP32

GPIO ESP32 chỉ 3.3V, 12mA max. Laser cần 5V để sáng đúng, dòng ~5mA. Dùng transistor NPN (2N2222, BC547, S8050) hoặc N-MOSFET (2N7000) để điều khiển. GPIO → base transistor (qua 1kΩ) → transistor đóng/mở mạch laser.

4. Calibrate tripwire tại chỗ thực tế

Độ sáng phòng, khoảng cách, loại LDR đều ảnh hưởng baseline ADC. Luôn calibrate sau khi lắp đặt xong — không dùng giá trị threshold cố định. Code calibration đo giá trị khi beam bình thường → set ngưỡng 70-80% giá trị đó.

Bài tiếp theo: