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ài | Mô Tả |
|---|---|---|
| 01 | DHT11 — Cảm Biến Nhiệt Độ & Độ Ẩm | Giao 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ế |
| 02 | DHT22 / AM2302 — Độ Chính Xác Cao | So sánh DHT11 vs DHT22, dải đo rộng hơn, pull-up resistor bắt buộc |
| 03 | DS18B20 — Nhiệt Độ 1-Wire Chống Nước | Giao thức 1-Wire, nhiều sensor trên 1 dây, parasitic power mode |
| 04 | BMP280 — Áp Suất & Nhiệt Độ Bosch | MEMS áp điện, tính độ cao từ áp suất, chế độ tiết kiệm điện |
| 05 | Soil 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 |
| 06 | Rain Sensor FC-37 — Phát Hiện Mưa | LM393 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ài | Mô Tả |
|---|---|---|
| 07 | MQ-2 — Cảm Biến Khí Gas & Khói | Bá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ài | Mô Tả |
|---|---|---|
| 08 | HC-SR04 — Siêu Âm Đo Khoảng Cách | Sóng 40kHz, time-of-flight, giới hạn góc phát 15° |
| 09 | PIR HC-SR501 — Phát Hiện Chuyển Động | Pyroelectric infrared, thấu kính Fresnel, chế độ H/L |
| 10 | IR Obstacle — Tránh Vật Cản | LED IR + photodiode, LM393 so sánh, điều chỉnh biến trở |
| 11 | Line Tracking TCRT5000 — Robot Theo Vạch | Phả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ài | Mô Tả |
|---|---|---|
| 12 | Flame Sensor — Phát Hiện Lửa | Phổ IR lửa 760-1100nm, LM393 comparator, hệ thống chữa cháy |
| 13 | Laser KY-008 — Module Laser Điốt | Laser 650nm đỏ, cộng hưởng quang học, an toàn laser Class II |
| 14 | LDR — Quang Trở Điều Khiển Ánh Sáng | CdS photoconductor, cầu phân áp điện trở, đèn tự động sáng tối |
| 15 | IR Receiver VS1838B — Điều Khiển Từ Xa | Demodulate 38kHz, NEC protocol, decode mã remote TV |
Nhóm 5 — LED & Hiển Thị
| # | Tên Bài | Mô Tả |
|---|---|---|
| 16 | RGB LED KY-016 — Mix Màu PWM | 3 LED đỏ-xanh lá-xanh dương, PWM mix 16 triệu màu |
| 17 | 7 Color LED — Tự Đổi Màu | IC tích hợp dao động nội, không cần code, 7 màu tự chuyển |
| 33 | OLED SSD1306 — Màn Hình 0.96″ | Frame buffer 1KB, Adafruit GFX, ký tự tùy chỉnh 5×8 |
| 34 | 7-Segment 1 Chữ Số — Đếm 0-9 | Mã segment 0x3F-0x7F, common anode vs cathode, đồng hồ đếm ngược |
| 35 | LCD 1602 I2C — PCF8574 Expander | PCF8574 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ài | Mô Tả |
|---|---|---|
| 18 | Active Buzzer — Cảnh Báo Âm Thanh | Oscillator tích hợp, chỉ cần HIGH/LOW, phân biệt active vs passive |
| 19 | Passive Buzzer — Phát Nhạc PWM | Điều khiển tần số PWM, hàm tone(), phát nhạc Happy Birthday |
| 20 | Sound Sensor — Phát Hiện Tiếng Ồn | Microphone electret, LM393 comparator, clap detector |
Nhóm 7 — Điều Khiển & Input
| # | Tên Bài | Mô Tả |
|---|---|---|
| 21 | Joystick KY-023 — Điều Khiển Robot | Biến trở 2 trục, dead zone, điều khiển servo 2 chiều |
| 22 | Rotary Encoder KY-040 — Xoay Menu | Xung quadrature, đếm hướng xoay, điều chỉnh menu |
| 23 | Touch Sensor TTP223 — Cảm Ứng | Capacitive self-capacitance, chế độ toggle/latch, không mài mòn |
Nhóm 8 — Cảm Biến Cơ Học
| # | Tên Bài | Mô Tả |
|---|---|---|
| 24 | Tilt Switch SW-520D — Phát Hiện Nghiêng | Bi kim loại dẫn điện, báo động nghiêng, chống rung debounce |
| 25 | Vibration Switch SW-18010P — Phát Hiện Rung | Lò xo dẫn điện, nhận dạng pattern gõ, so sánh vs piezo |
| 26 | Reed Switch — Cảm Biến Từ Dạng Sậy | Tiếp điểm từ trong ống thủy tinh, đếm tốc độ quay, báo cửa |
| 31 | Knock 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ài | Mô Tả |
|---|---|---|
| 27 | Hall Effect KY-003 — Phát Hiện Nam Châm | IC số unipolar, phát hiện nam châm đơn cực, đếm tốc độ quay |
| 28 | Hall Effect Analog 49E — Đo Từ Trường | SS49E 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ài | Mô Tả |
|---|---|---|
| 29 | Relay 5V — Điều Khiển Thiết Bị 220V | Cuộ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ài | Mô Tả |
|---|---|---|
| 30 | MPU-6050 — IMU 6 Trục MEMS | MEMS 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ài | Mô Tả |
|---|---|---|
| 32 | LM35 — Nhiệt Độ Analog 10mV/°C | Tuyế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ài | Mô Tả |
|---|---|---|
| 36 | SD Card SPI — Ghi Log & Đọc Config | FAT32, tên file 8.3, PHẢI gọi file.close() sau khi ghi |
| 37 | DS3231 RTC — Đồng Hồ TCXO ±2ppm | TCXO 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:
- Tổng quan — sensor này làm được gì, dùng trong ứng dụng nào
- Nguyên lý hoạt động — giải thích vật lý/hóa học/điện tử bên trong
- Thông số kỹ thuật — bảng tóm tắt voltage, range, accuracy
- Sơ đồ kết nối — với Arduino Uno và ESP32
- Code cơ bản — đọc sensor và hiển thị Serial Monitor
- Code nâng cao — ứng dụng thực tế (alarm, data logger, điều khiển)
- Lỗi thường gặp — những vấn đề phổ biến và cách xử lý
- 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!
📚 Series 37 Module Cảm Biến
➡️ Bài tiếp theo: Nguyên Lý Hoạt Động DHT11: Cảm Biến Nhiệt Độ Độ Ẩm Phổ Biến Nhất


