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ảm biến lửa ESP8266 NodeMCU

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

mô-đun cảm biến lửa hồng ngoại

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.
cấu hình chân cảm biến lửa
image source: diyables.io

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ở, VCCGND. 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.
sơ đồ nối dây cảm biến lửa ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Xem thêm Sơ đồ chân ESP8266Cá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.
sơ đồ nối dây cảm biến lửa ESP8266 NodeMCU

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.
sơ đồ nối dây cảm biến ngọn lửa hồng ngoại ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Mã ESP8266 - Đọc giá trị từ chân DO

/* * Mã ESP8266 NodeMCU này được phát triển bởi newbiely.vn * Mã ESP8266 NodeMCU này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/esp8266/esp8266-flame-sensor */ #define DO_PIN D7 // The ESP8266 pin connected to DO pin of the flame sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266's pin as an input pinMode(DO_PIN, INPUT); } void loop() { int flame_state = digitalRead(DO_PIN); if (flame_state == HIGH) Serial.println("No flame => No fire detected"); else Serial.println("Flame present => Fire detected"); }

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.
COM6
Send
Flame present => Fire detected Flame present => Fire detected No flame => No fire detected No flame => No fire detected No flame => No fire detected Flame present => Fire detected Flame present => Fire detected Flame present => Fire detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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

/* * Mã ESP8266 NodeMCU này được phát triển bởi newbiely.vn * Mã ESP8266 NodeMCU này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/esp8266/esp8266-flame-sensor */ #define AO_PIN A0 // The ESP8266 pin connected to AO pin of the flame sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); } void loop() { int flameValue = analogRead(AO_PIN); Serial.println(flameValue); }

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.
COM6
Send
245 246 246 573 677 949 955 1004 1007 1013 1018 641 543 340 179
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ 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.

Bài hướng dẫn liên quan