Arduino Cảm biến lửa

Cảm biến ngọn lửa có khả năng phát hiện và đo mức bức xạ hồng ngoại phát ra từ ngọn lửa, nó có thể được dùng để phát hiện cháy. Nó còn được gọi là cảm biến ngọn lửa hồng ngoại, hoặc cảm biến cháy. Cảm biến ngọn lửa hồng ngoại cung cấp hai đầu ra: đầu ra số (LOW/HIGH) và đầu ra tương tự.

Trong bài hướng dẫn này, chúng ta sẽ học cách sử dụng Arduino và một cảm biến lửa để phát hiện và đo lường ngọn lửa và đám cháy. Cụ thể, chúng ta sẽ đề cập đến các nội dung sau:

cảm biến lửa cho Arduino

Sau đó, bạn có thể chỉnh sửa mã để kích hoạt còi báo động (qua một rơ-le) khi nó phát hiện cháy.

Phần cứng cần chuẩn bị

1×Arduino Uno R3
1×USB 2.0 cable type A/B (for USB-A PC)
1×USB 2.0 cable type C/B (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 Block Shield for Arduino Uno
1×(Khuyến nghị) Breadboard Shield for Arduino Uno
1×(Khuyến nghị) Enclosure for Arduino Uno
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về cảm biến ngọ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 có thể được sử dụng để phát hiện sự hiện diện của ngọn lửa hoặc đo mức phát xạ hồng ngoại từ ngọn lửa. Do đó, cảm biến lửa có thể được dùng để phát hiện cháy. Cảm biến lửa cung cấp hai tùy chọn thông qua một chân đầu ra kỹ thuật số và một chân đầu ra analog.

Các cảm biến ngọn lửa hồng ngoại được thiết kế để có tính chọn lọc đối với các bước sóng của bức xạ hồng ngoại mà chúng phát hiện, tập trung vào các bước sóng cụ thể liên quan đến ngọn lửa. Chúng được thiết kế để giảm thiểu khả năng báo động giả từ các nguồn bức xạ hồng ngoại khác, chẳng hạn như nhiệt của cơ thể người hoặc ánh sáng nhân tạo. Tuy nhiên, như bất kỳ cảm biến nào, chúng có những hạn chế, và ở một số điều kiện nhất định, chúng có thể gặp báo động giả hoặc bỏ sót.

Bố trí chân

Có hai loại mô-đun cảm biến ngọn lửa có sẵn:

Một cảm biến ngọn lửa duy nhất bao gồm bốn chân:

  • Chân VCC: Nó cần được kết nối với VCC (từ 3.3V đến 5V).
  • Chân GND: Nó cần được kết nối với GND (0V).
  • Chân DO: Đây là một chân xuất ra tín hiệu số. Nó HIGH khi ngọn lửa không được phát hiện và LOW khi được phát hiện. Giá trị ngưỡng cho việc phát hiện ngọn lửa có thể được điều chỉnh bằng một biến trở tích hợp.
  • Chân AO: Đây là một chân xuất tín hiệu 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.
sơ đồ 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 LED PWR-LED báo nguồn.
  • Một đèn LED DO báo 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 lửa 5 trong 1 tích hợp năm cảm biến lửa riêng lẻ trên một bo mạch in (PCB) duy nhất. Trong khi chúng chia sẻ cùng một biến trở, VCCGND, các chân DO (Đầu ra số) và AI (Đầu vào tương tự) của mỗi cảm biến hoạt động độc lập. Thêm vào đó, mỗi cảm biến được định hướng theo một hướng khác nhau, điều này làm phạm vi phát hiện tổng thể được mở rộng một cách hiệu quả.

Cách hoạt động

Đối với chân DO:

  • Module có một 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 vượt quá ngưỡng, cảm biến phát hiện ngọn lửa, 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, ngọn 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 càng cao trong môi trường xung quanh, thì giá trị đọc được từ chân AO càng cao.
  • Cường độ hồng ngoại càng thấp trong môi trường xung quanh, thì giá trị đọc được từ chân AO càng thấp.

Lưu ý rằng biến trở không làm thay đổi giá trị ở 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 sử dụng một hoặc cả hai, tùy thuộc vào nhu cầu của bạn.

  • Sơ đồ đấu dây giữa Arduino và cảm biến lửa khi chỉ sử dụng DO.
sơ đồ đấu nối cảm biến lửa Arduino

This image is created using Fritzing. Click to enlarge image

  • Sơ đồ nối giữa Arduino 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 Arduino

This image is created using Fritzing. Click to enlarge image

  • Sơ đồ kết nối giữa Arduino 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 lửa hồng ngoại Arduino

This image is created using Fritzing. Click to enlarge image

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

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino 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/arduino/arduino-flame-sensor */ #define DO_PIN 2 // Arduino's pin connected to DO pin of the flame sensor void setup() { // initialize serial communication Serial.begin(9600); // initialize the Arduino's pin as an input pinMode(DO_PIN, INPUT); } void loop() { int flame_state = digitalRead(DO_PIN); if (flame_state == HIGH) Serial.println("The flame is NOT present => The fire is NOT detected"); else Serial.println("The flame is present => The fire is detected"); }

Hướng dẫn từng bước

  • Sao chép mã ở phía trên và mở bằng Arduino IDE
  • Nhấp vào nút Tải lên trên Arduino IDE để tải mã lên Arduino
  • 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
The flame is present => The fire is detected The flame is present => The fire is detected The flame is NOT present => The fire is NOT detected The flame is NOT present => The fire is NOT detected The flame is NOT present => The fire is NOT detected The flame is present => The fire is detected The flame is present => The fire is detected The flame is present => The fire is detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Xin 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 hẳn 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ã Arduino - Đọc giá trị từ chân AO

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino 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/arduino/arduino-flame-sensor */ #define AO_PIN A0 // Arduino's pin connected to AO pin of the flame sensor void setup() { // initialize serial communication Serial.begin(9600); } void loop() { int flameValue = analogRead(AO_PIN); Serial.println(flameValue); }

Hướng dẫn từng bước

  • Sao chép mã phía trên và mở bằng Arduino IDE
  • Nhấp vào nút Tải lên trên Arduino IDE để tải mã lên Arduino
  • 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  

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