ESP32 Cảm Biến Lửa (Flame Sensor)
Cảm biến lửa có thể phát hiện và đo lường ánh sáng hồng ngoại phát ra từ ngọn lửa. Nó rất hữu ích để phát hiện hỏa hoạn và còn được gọi là cảm biến lửa hồng ngoại hoặc cảm biến hỏa hoạn. Cảm biến này cung cấp hai loại thông tin: một là tín hiệu digital đơn giản (bật hoặc tắt), và một là tín hiệu analog hiển thị cường độ của ngọn lửa.
Trong hướng dẫn này, chúng ta sẽ học cách sử dụng ESP32 với cảm biến lửa để phát hiện ngọn lửa. Cụ thể, chúng ta sẽ đề cập đến các bước sau:
- Kết nối cảm biến lửa với ESP32.
- Lập trình ESP32 để nhận biết lửa bằng cách đọc tín hiệu digital từ cảm biến lửa.
- Lập trình ESP32 để đo cường độ lửa bằng cách đọc tín hiệu analog từ cảm biến lửa.

Sau đó, bạn có thể chỉnh sửa code để kích hoạt còi báo động khi phát hiện lửa.
Linh Kiện Cần Thiết
| 1 | × | mô-đun phát triển ESP-WROOM-32 | ||
| 1 | × | Alternatively, ESP32 Uno-form board | ||
| 1 | × | Alternatively, ESP32 S3 Uno-form board | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | Cảm Biến Lửa | ||
| 1 | × | Cảm Biến Lửa 5-trong-1 5-way | ||
| 1 | × | breadboard | ||
| 1 | × | Dây Jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Breakout Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP32 |
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Cảm Biến Lửa

Cảm biến lửa hồng ngoại có thể phát hiện ngọn lửa hoặc kiểm tra lượng ánh sáng hồng ngoại mà ngọn lửa phát ra. Do đó, nó giúp chúng ta phát hiện hỏa hoạn. Cảm biến này cung cấp hai lựa chọn sử dụng chân đầu ra digital và chân đầu ra analog.
Những cảm biến này được thiết kế để bắt một số loại ánh sáng hồng ngoại cụ thể được phát ra bởi ngọn lửa trong khi bỏ qua các loại khác, như nhiệt từ con người hoặc đèn trong nhà. Nhưng giống như bất kỳ cảm biến nào, chúng có giới hạn của mình, và đôi khi chúng có thể mắc lỗi, hoặc báo có lửa khi không có (dương tính giả) hoặc bỏ lỡ lửa khi có (âm tính giả).
Sơ Đồ Chân
Có hai loại module cảm biến lửa có sẵn:
Cảm biến lửa đơn bao gồm bốn chân:
- Chân VCC: Cần được kết nối với VCC (3.3V đến 5V).
- Chân GND: Cần được kết nối với GND (0V).
- Chân DO: Đây là chân đầu ra digital. Nó ở mức HIGH nếu không phát hiện lửa và LOW nếu phát hiện. Giá trị ngưỡng để phát hiện lửa có thể được điều chỉnh bằng biến trở tích hợp.
- Chân AO: Đây là chân đầu ra analog. Giá trị đầu ra giảm khi mức hồng ngoại giảm, và tăng khi mức hồng ngoại tăng.

Hơn nữa, nó có hai đèn LED báo hiệu:
- Một đèn LED PWR báo nguồn.
- Một đèn LED DO báo trạng thái lửa trên chân DO: nó sáng khi có lửa.
Module cảm biến lửa 5-trong-1 kết hợp năm cảm biến lửa riêng lẻ trên một PCB duy nhất. Các cảm biến chia sẻ chung biến trở, kết nối VCC và GND, trong khi mỗi cảm biến có chân DO (Digital Output) và AI (Analog Input) độc lập riêng.
Cách Hoạt Động
Đối với chân DO:
- Module có biến trở tích hợp để thiết lập ngưỡng hồng ngoại (độ nhạy).
- Khi cường độ hồng ngoại trên ngưỡng, lửa được phát hiện, chân đầu ra của cảm biến ở mức LOW, và đèn LED DO sáng.
- Khi cường độ hồng ngoại dưới ngưỡng, lửa KHÔNG được phát hiện, chân đầu ra của cảm biến ở mức HIGH, và đèn LED DO tắt.
Đối với chân AO:
- Cường độ hồng ngoại trong môi trường xung quanh càng cao, giá trị đọc từ chân AO càng cao.
- Cường độ hồng ngoại trong môi trường xung quanh càng thấp, giá trị đọc từ chân AO càng thấp.
Lưu ý rằng biến trở không ảnh hưởng đến giá trị trên chân AO.
Sơ Đồ Kết Nối
Vì module cảm biến lửa có hai đầu ra, bạn có thể chọn sử dụng một hoặc cả hai, tùy thuộc vào nhu cầu của bạn.
- Cách kết nối ESP32 và cảm biến lửa sử dụng breadboard
Module cảm biến lửa cung cấp hai tùy chọn đầu ra. Bạn có thể sử dụng một hoặc cả hai dựa trên nhu cầu của mình.

This image is created using Fritzing. Click to enlarge image
Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.
- Cách kết nối ESP32 và cảm biến lửa sử dụng screw terminal block breakout board

Code ESP32 - Đọc Giá Trị Từ Chân DO
Các Bước Nhanh
- Nếu đây là lần đầu tiên bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
- Sao chép code trên và mở bằng Arduino IDE
- Nhấn nút Upload trên Arduino IDE để upload code lên ESP32
- Hướng cảm biến lửa về phía ngọn lửa.
- Xem kết quả trên Serial Monitor.
Hãy lưu ý rằng nếu bạn nhận thấy trạng thái LED luôn sáng hoặc tắt ngay cả khi cảm biến hướng về phía ngọn lửa, bạn có thể điều chỉnh biến trở để tinh chỉnh độ nhạy của cảm biến.
Code ESP32 - Đọc Giá Trị Từ Chân AO
Các Bước Nhanh
- Sao chép code trên và mở bằng Arduino IDE
- Nhấn nút Upload trên Arduino IDE để upload code lên ESP32
- Hướng cảm biến lửa về phía ngọn lửa.
- Xem kết quả trên Serial Monitor.
※ Lưu ý:
Hướng dẫn này sử dụng hàm analogRead() để đọc giá trị từ ADC (Analog-to-Digital Converter) kết nối với cảm biến lửa. ADC của ESP32 phù hợp cho các dự án KHÔNG cần độ chính xác cao. Tuy nhiên, đối với các dự án cần đo lường chính xác, hãy lưu ý:
- ADC của ESP32 không hoàn toàn chính xác và có thể cần hiệu chuẩn để có kết quả đúng. Mỗi bo mạch ESP32 có thể khác nhau một chút, vì vậy bạn cần hiệu chuẩn ADC cho từng bo mạch riêng lẻ.
- Hiệu chuẩn có thể khó khăn, đặc biệt đối với người mới bắt đầu, và có thể không luôn cho kết quả chính xác như bạn mong muốn.
Đối với các dự án cần độ chính xác cao, hãy cân nhắc sử dụng ADC ngoài (ví dụ ADS1115) với ESP32 hoặc sử dụng Arduino, có ADC đáng tin cậy hơn. Nếu bạn vẫn muốn hiệu chuẩn ADC của ESP32, tham khảo ESP32 ADC Calibration Driver
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.