ESP8266 Cảm biến lửa
Cảm biến lửa là một thiết bị tiện dụng có thể bắt và đo lường bức xạ hồng ngoại từ ngọn lửa, làm cho nó trở thành một công cụ hữu ích để phát hiện cháy. Bạn cũng có thể nghe thấy nó được gọi là cảm biến lửa hồng ngoại hoặc cảm biến cháy. Cảm biến này có hai loại đầu ra: một đầu ra kỹ thuật số (LOW/HIGH) và một đầu ra analog.
Trong hướng dẫn này, chúng ta sẽ đi qua cách sử dụng ESP8266 cùng với một cảm biến ngọn lửa để nhận diện và đo lường ngọn lửa và đám cháy. Cụ thể, chúng ta sẽ xem xét các bước sau:
- Cách kết nối cảm biến lửa với ESP8266.
- Cách lập trình ESP8266 để phát hiện lửa và đám cháy bằng cách diễn giải tín hiệu số từ cảm biến lửa.
- Cách lập trình ESP8266 để đo mức độ lửa bằng cách diễn giải tín hiệu analog từ cảm biến lửa.

Sau đó, bạn có thể chỉnh sửa mã để kích hoạt còi cảnh báo (thông qua một rơ-le) khi nó phát hiện cháy.
Phần cứng cần chuẩn bị
| 1 | × | ESP8266 NodeMCU ESP-12E | ||
| 1 | × | Recommended: ESP8266 NodeMCU ESP-12E (Uno-form) | ||
| 1 | × | USB Cable Type-A to Type-C (for USB-A PC) | ||
| 1 | × | USB Cable Type-C to Type-C (for USB-C PC) | ||
| 1 | × | Flame Sensor | ||
| 1 | × | 5-in-1 5-way Flame Sensor | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP8266 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP8266 Type-C |
Or you can buy the following kits:
| 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 phục vụ cho mục đích nhận diện sự tồn tại của ngọn lửa hoặc đo mức phát xạ hồng ngoại do ngọn lửa tạo ra. Điều này làm cho nó trở thành một công cụ hữu ích trong việc phát hiện cháy. Cảm biến có hai lựa chọn thông qua một chân đầu ra kỹ thuật số và một chân đầu ra tương tự.
Những cảm biến ngọn lửa hồng ngoại này được chế tác tỉ mỉ để nhạy bén với các bước sóng bức xạ hồng ngoại mà chúng nhận được, tập trung vào các bước sóng đặc trưng liên quan đến ngọn lửa. Thiết kế của chúng nhằm giảm khả năng kích hoạt báo động giả do các nguồn bức xạ hồng ngoại khác, như nhiệt cơ thể người hoặc ánh sáng nhân tạo. Dù có độ chính xác cao, điều quan trọng cần lưu ý là, giống như bất kỳ cảm biến nào, chúng cũng có những giới hạn. Trong một số điều kiện nhất định, chúng có thể thể hiện dương tính giả hoặc âm tính giả.
Bố trí chân
Có hai loại module cảm biến ngọn lửa có sẵn:
Một cảm biến ngọn lửa duy nhất gồm bốn chân:
- Chân VCC: Cần được kết nối với VCC (từ 3.3V đến 5V).
- Chân GND: Cần được kết nối với GND (0V).
- Chân DO: Là một chân đầu ra số. Nó ở mức HIGH nếu ngọn lửa không được phát hiện và ở mức LOW nếu được phát hiện. Giá trị ngưỡng cho phát hiện ngọn lửa có thể được điều chỉnh bằng một potentiometer tích hợp.
- Chân AO: Là một 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 chỉ báo:
- Một đèn báo PWR-LED cho nguồn.
- Một đèn báo DO-LED cho trạng thái ngọn lửa trên chân DO: nó sáng khi có ngọn lửa.
Cảm biến ngọn lửa 5 trong 1 tích hợp năm cảm biến ngọn lửa riêng lẻ trên một PCB duy nhất. Những cảm biến này dùng chung một biến trở, VCC và GND. Tuy nhiên, các chân DO (Đầu ra kỹ thuật số) và AI (Đầu vào tương tự) của mỗi cảm biến hoạt động độc lập với nhau.
Cách hoạt động
Đối với chân Đầu ra số (DO):
- Mô-đun đi kèm với một vòng chỉnh tích hợp cho phép bạn điều chỉnh độ nhạy của nó đối với ánh sáng hồng ngoại.
- Nếu ánh sáng hồng ngoại đủ mạnh (vượt quá ngưỡng nhạy đã thiết lập), có nghĩa là cảm biến đã phát hiện ngọn lửa. Chân đầu ra ở mức 'LOW,' và đèn DO-LED sáng lên.
- Nếu ánh sáng hồng ngoại không đủ mạnh (dưới ngưỡng nhạy đã thiết lập), có nghĩa là không phát hiện ngọn lửa. Chân đầu ra ở mức 'HIGH,' và đèn DO-LED tắt.
Đối với chân đầu ra tương tự (AO):
- Chân AO cho bạn một số đại diện cho lượng ánh sáng hồng ngoại xung quanh.
- Nhiều ánh sáng hồng ngoại xung quanh hơn sẽ cho bạn một giá trị cao hơn từ chân AO.
- Ít ánh sáng hồng ngoại xung quanh hơn sẽ cho bạn một giá trị thấp hơn từ chân AO.
Hãy nhớ rằng việc điều chỉnh độ nhạy bằng núm vặn sẽ không làm thay đổi giá trị bạn nhận được từ chân AO.
Sơ đồ đấu dây
Vì mô-đun cảm biến ngọn lửa có hai đầu ra, bạn có thể chọn dùng một trong số chúng hoặc cả hai, tùy thuộc vào nhu cầu của bạn.
- Sơ đồ kết nối giữa ESP8266 và cảm biến ngọn lửa khi chỉ sử dụng DO.

This image is created using Fritzing. Click to enlarge image
Xem thêm Sơ đồ chân ESP8266 và Cách cấp nguồn cho ESP8266.
- Sơ đồ mạch nối giữa ESP8266 và cảm biến ngọn lửa khi chỉ sử dụng AO.

This image is created using Fritzing. Click to enlarge image
- Sơ đồ đấu nối giữa ESP8266 và cảm biến ngọn lửa khi sử dụng cả AO và DO.

This image is created using Fritzing. Click to enlarge image
Mã ESP8266 - Đọc giá trị từ chân DO
Hướng dẫn từng bước
Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:
- Hãy tham khảo ESP8266 - Cài đặt phần mềm bài hướng dẫn nếu đây là lần đầu bạn sử dụng ESP8266.
- Nối các linh kiện như được hiển thị trong sơ đồ.
- Kết nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn bo mạch ESP8266 đúng, chẳng hạn (ví dụ NodeMCU 1.0 (ESP-12E Module)), và cổng COM tương ứng của nó.
- Sao chép mã ở trên và mở bằng Arduino IDE
- Nhấn nút Upload trên Arduino IDE để tải mã lên ESP8266
- Hướng cảm biến lửa về phía ngọn lửa.
- Kiểm tra kết quả trên Serial Monitor.
Hãy lưu ý rằng nếu bạn nhận thấy đèn LED sáng liên tục hoặc tắt ngay cả khi cảm biến hướng về 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.
Mã ESP8266 - Đọc giá trị từ chân A0
Hướng dẫn từng bước
- Nối các thành phần như được thể hiện trong sơ đồ.
- Kết nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn bo mạch ESP8266 đúng, ví dụ như NodeMCU 1.0 (ESP-12E Module), và cổng COM tương ứng của nó.
- Sao chép mã ở trên và mở bằng Arduino IDE
- Nhấn nút Upload trên Arduino IDE để tải mã lên ESP8266
- 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 ý:
Tutorial này sử dụng hàm analogRead() để lấy dữ liệu từ một ADC (Bộ chuyển đổi tín hiệu tương tự sang số) được kết nối với một cảm biến hoặc một phần khác. ADC của ESP8266 hoạt động tốt cho các dự án mà bạn không cần độ chính xác cao. Nhưng hãy nhớ, ADC của ESP8266 không quá chính xác cho các phép đo chi tiết. Nếu dự án của bạn cần độ chính xác cao, bạn có thể muốn sử dụng một ADC riêng như ADS1115 với ESP8266, hoặc dùng Arduino như Arduino Uno R4 WiFi, loại có ADC đáng tin cậy hơn.
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.