IoTLabs

Nghiên cứu, Sáng tạo và Thử nghiệm

Series 37 Module Cảm Biến – Nguyên Lý Hoạt Động Của 37 Module Cảm Biến Thông Dụng (Arduino & ESP32)

Series: Nguyên Lý Hoạt Động Của 37 Module Cảm Biến Thông Dụng

Bạn đã dùng DHT11 đọc nhiệt độ, HC-SR04 đo khoảng cách, hay MPU6050 đọc góc nghiêng — nhưng bạn có biết bên trong chúng hoạt động như thế nào không?

Series này giải thích nguyên lý vật lý và điện tử bên trong 37 module cảm biến & actuator phổ biến nhất trong thế giới Arduino và ESP32. Mỗi bài đi từ nguyên lý đến code thực tế, giúp bạn không chỉ dùng được mà còn hiểu tại sao — để debug tốt hơn, chọn linh kiện đúng hơn, và xây dựng dự án IoT đáng tin cậy hơn.

Dành Cho Ai?

  • Học sinh, sinh viên đang học lập trình nhúng, IoT, Robotics
  • Maker đã dùng qua sensor nhưng muốn hiểu sâu hơn về cơ chế hoạt động
  • Kỹ sư cần tra cứu nhanh đặc điểm kỹ thuật và cách phòng tránh lỗi thường gặp

Kiến thức cần có: Biết lập trình Arduino cơ bản (upload sketch, đọc Serial Monitor). Không cần kiến thức điện tử sâu — series này giải thích từng bước.

Bạn Sẽ Học Được Gì?

  • Nguyên lý vật lý / hóa học / điện tử bên trong mỗi sensor
  • Sơ đồ kết nối chuẩn với Arduino Uno và ESP32
  • Code Arduino IDE hoàn chỉnh, có comment tiếng Việt rõ ràng
  • Những lỗi thường gặp và cách phòng tránh (sai điện áp, đọc nhiễu, xung đột I2C…)
  • Ứng dụng thực tế trong dự án IoT

Danh Sách 37 Bài Viết

Nhóm 1 — Cảm Biến Môi Trường

#Tên BàiMô Tả
01DHT11 — Cảm Biến Nhiệt Độ & Độ ẨmGiao tiếp 1-wire độc quyền, thời gian lấy mẫu 1 giây, khi nào dùng DHT22 thay thế
02DHT22 / AM2302 — Độ Chính Xác CaoSo sánh DHT11 vs DHT22, dải đo rộng hơn, pull-up resistor bắt buộc
03DS18B20 — Nhiệt Độ 1-Wire Chống NướcGiao thức 1-Wire, nhiều sensor trên 1 dây, parasitic power mode
04BMP280 — Áp Suất & Nhiệt Độ BoschMEMS áp điện, tính độ cao từ áp suất, chế độ tiết kiệm điện
05Soil Moisture — Cảm Biến Độ Ẩm ĐấtĐiện trở đất, hiệu chỉnh theo loại đất, tự động tưới cây
06Rain Sensor FC-37 — Phát Hiện MưaLM393 comparator, ngưỡng điều chỉnh qua biến trở, cả output số và analog

Nhóm 2 — Cảm Biến Khí & Môi Trường Nguy Hiểm

#Tên BàiMô Tả
07MQ-2 — Cảm Biến Khí Gas & KhóiBán dẫn SnO₂, đường cong nhạy khí, cần 24h burn-in lần đầu

Nhóm 3 — Cảm Biến Khoảng Cách & Vị Trí

#Tên BàiMô Tả
08HC-SR04 — Siêu Âm Đo Khoảng CáchSóng 40kHz, time-of-flight, giới hạn góc phát 15°
09PIR HC-SR501 — Phát Hiện Chuyển ĐộngPyroelectric infrared, thấu kính Fresnel, chế độ H/L
10IR Obstacle — Tránh Vật CảnLED IR + photodiode, LM393 so sánh, điều chỉnh biến trở
11Line Tracking TCRT5000 — Robot Theo VạchPhản xạ IR, khoảng cách tối ưu 2-10mm, lắp 3 sensor song song

Nhóm 4 — Cảm Biến Ánh Sáng & Lửa

#Tên BàiMô Tả
12Flame Sensor — Phát Hiện LửaPhổ IR lửa 760-1100nm, LM393 comparator, hệ thống chữa cháy
13Laser KY-008 — Module Laser ĐiốtLaser 650nm đỏ, cộng hưởng quang học, an toàn laser Class II
14LDR — Quang Trở Điều Khiển Ánh SángCdS photoconductor, cầu phân áp điện trở, đèn tự động sáng tối
15IR Receiver VS1838B — Điều Khiển Từ XaDemodulate 38kHz, NEC protocol, decode mã remote TV

Nhóm 5 — LED & Hiển Thị

#Tên BàiMô Tả
16RGB LED KY-016 — Mix Màu PWM3 LED đỏ-xanh lá-xanh dương, PWM mix 16 triệu màu
177 Color LED — Tự Đổi MàuIC tích hợp dao động nội, không cần code, 7 màu tự chuyển
33OLED SSD1306 — Màn Hình 0.96″Frame buffer 1KB, Adafruit GFX, ký tự tùy chỉnh 5×8
347-Segment 1 Chữ Số — Đếm 0-9Mã segment 0x3F-0x7F, common anode vs cathode, đồng hồ đếm ngược
35LCD 1602 I2C — PCF8574 ExpanderPCF8574 chuyển 16 dây → 4 dây I2C, VCC 5V bắt buộc, cuộn chữ

Nhóm 6 — Âm Thanh

#Tên BàiMô Tả
18Active Buzzer — Cảnh Báo Âm ThanhOscillator tích hợp, chỉ cần HIGH/LOW, phân biệt active vs passive
19Passive Buzzer — Phát Nhạc PWMĐiều khiển tần số PWM, hàm tone(), phát nhạc Happy Birthday
20Sound Sensor — Phát Hiện Tiếng ỒnMicrophone electret, LM393 comparator, clap detector

Nhóm 7 — Điều Khiển & Input

#Tên BàiMô Tả
21Joystick KY-023 — Điều Khiển RobotBiến trở 2 trục, dead zone, điều khiển servo 2 chiều
22Rotary Encoder KY-040 — Xoay MenuXung quadrature, đếm hướng xoay, điều chỉnh menu
23Touch Sensor TTP223 — Cảm ỨngCapacitive self-capacitance, chế độ toggle/latch, không mài mòn

Nhóm 8 — Cảm Biến Cơ Học

#Tên BàiMô Tả
24Tilt Switch SW-520D — Phát Hiện NghiêngBi kim loại dẫn điện, báo động nghiêng, chống rung debounce
25Vibration Switch SW-18010P — Phát Hiện RungLò xo dẫn điện, nhận dạng pattern gõ, so sánh vs piezo
26Reed Switch — Cảm Biến Từ Dạng SậyTiếp điểm từ trong ống thủy tinh, đếm tốc độ quay, báo cửa
31Knock Sensor KY-031 — Cảm Biến GõPiezoelectric thuận chiều, nhận dạng pattern gõ Morse

Nhóm 9 — Cảm Biến Từ Trường & Hall Effect

#Tên BàiMô Tả
27Hall Effect KY-003 — Phát Hiện Nam ChâmIC số unipolar, phát hiện nam châm đơn cực, đếm tốc độ quay
28Hall Effect Analog 49E — Đo Từ TrườngSS49E tuyến tính, đo cường độ từ trường, ADC 12-bit ESP32

Nhóm 10 — Relay & Điều Khiển Công Suất

#Tên BàiMô Tả
29Relay 5V — Điều Khiển Thiết Bị 220VCuộn điện từ, cách ly galvanic, điều khiển bóng đèn 220V an toàn

Nhóm 11 — IMU & Chuyển Động

#Tên BàiMô Tả
30MPU-6050 — IMU 6 Trục MEMSMEMS gia tốc + con quay hồi chuyển, complementary filter, tính góc nghiêng

Nhóm 12 — Cảm Biến Analog Nhiệt Độ

#Tên BàiMô Tả
32LM35 — Nhiệt Độ Analog 10mV/°CTuyến tính 10mV/°C, VCC tối thiểu 4V, trung bình 20 mẫu giảm nhiễu

Nhóm 13 — Lưu Trữ & Thời Gian Thực

#Tên BàiMô Tả
36SD Card SPI — Ghi Log & Đọc ConfigFAT32, tên file 8.3, PHẢI gọi file.close() sau khi ghi
37DS3231 RTC — Đồng Hồ TCXO ±2ppmTCXO tích hợp, sai số ~1 phút/năm, Alarm1+Alarm2, backup CR2032 8.5 năm

Thứ Tự Học Đề Nghị

Người Mới Bắt Đầu (Bài 1-10)

Bắt đầu với các cảm biến đơn giản nhất, chỉ cần đọc 1 pin digital hoặc analog:

Tuần 1: Bài 01 (DHT11) → Bài 08 (HC-SR04) → Bài 14 (LDR) Tuần 2: Bài 05 (Soil Moisture) → Bài 10 (IR Obstacle) → Bài 18 (Active Buzzer) Tuần 3: Bài 09 (PIR) → Bài 16 (RGB LED) → Bài 12 (Flame Sensor)

Người Đã Có Kinh Nghiệm (Bài 11-25)

Sensor với giao tiếp phức tạp hơn (I2C, SPI, giao thức đặc biệt):

Nhóm I2C: Bài 04 (BMP280) → Bài 30 (MPU6050) → Bài 33 (OLED) → Bài 35 (LCD) Nhóm Analog: Bài 32 (LM35) → Bài 28 (Hall Analog) → Bài 21 (Joystick)

Dự Án Tích Hợp (Bài 26-37)

Kết hợp nhiều sensor trong một hệ thống hoàn chỉnh:

  • Trạm đo môi trường: Bài 01/03/04 + Bài 36 (SD Card) + Bài 37 (RTC)
  • Robot theo vạch: Bài 11 (Line Tracking) + Bài 08 (HC-SR04) + Bài 29 (Relay)
  • Màn hình thông tin: Bài 33 (OLED) + Bài 35 (LCD) + Bài 37 (RTC)

Phần Cứng Cần Có

Bộ Cơ Bản (Học được 25/37 bài)

  • Arduino Uno R3 (hoặc clone tương thích)
  • Breadboard + dây jumper đực-đực, đực-cái
  • LED đỏ/xanh/vàng (×10), điện trở 220Ω (×20), 10kΩ (×10)
  • Kit cảm biến 37 module (bán sẵn trên Shopee/Lazada ~150-200k)

Bộ Đầy Đủ (Học cả 37 bài)

  • Thêm ESP32 DevKit V1 — cần cho Bài 03 (DS18B20 tốc độ cao), Bài 04 (BMP280 I2C), Bài 30 (MPU6050 DMP), Bài 32 (LM35 ADC 12-bit), Bài 37 (DS3231 + WiFi đồng bộ)
  • Màn hình OLED 0.96″ I2C (Bài 33)
  • Module SD Card SPI (Bài 36)
  • Module DS3231 RTC (Bài 37)
  • LCD 1602 I2C (Bài 35)

Cấu Trúc Mỗi Bài Viết

Mỗi bài trong series đều có cấu trúc nhất quán:

  1. Tổng quan — sensor này làm được gì, dùng trong ứng dụng nào
  2. Nguyên lý hoạt động — giải thích vật lý/hóa học/điện tử bên trong
  3. Thông số kỹ thuật — bảng tóm tắt voltage, range, accuracy
  4. Sơ đồ kết nối — với Arduino Uno và ESP32
  5. Code cơ bản — đọc sensor và hiển thị Serial Monitor
  6. Code nâng cao — ứng dụng thực tế (alarm, data logger, điều khiển)
  7. Lỗi thường gặp — những vấn đề phổ biến và cách xử lý
  8. Bài tiếp theo — gợi ý học tiếp gì

Bắt Đầu Ngay

👉 Bài đầu tiên: DHT11 — Cảm Biến Nhiệt Độ & Độ Ẩm Phổ Biến Nhất

Có câu hỏi? Để lại comment bên dưới mỗi bài — IoTLabs sẽ hỗ trợ bạn!