- Thiết bị cảm biến cháy
- Thành phần bắt buộc
- Sơ đồ mạch
- Hoạt động của Cảm biến ngọn lửa với Arduino
- Giải thích mã
Hệ thống Báo cháy rất phổ biến trong các tòa nhà thương mại và nhà máy, các thiết bị này thường chứa một cụm cảm biến liên tục theo dõi bất kỳ ngọn lửa, khí đốt hoặc đám cháy nào trong tòa nhà và kích hoạt báo động nếu phát hiện bất kỳ điều nào trong số này. Một trong những cách đơn giản nhất để phát hiện đám cháy là sử dụng cảm biến Ngọn lửa hồng ngoại, những cảm biến này có điốt quang IR nhạy cảm với ánh sáng hồng ngoại. Bây giờ, trong trường hợp hỏa hoạn, ngọn lửa sẽ không chỉ tạo ra nhiệt mà còn phát ra tia hồng ngoại, vâng mỗi ngọn lửa đang cháy sẽ phát ra một mức ánh sáng IR nào đó, ánh sáng này mắt người không nhìn thấy nhưng cảm biến ngọn lửa của chúng tôi có thể phát hiện ra và cảnh báo cho một bộ vi điều khiển như Arduino rằng đã phát hiện thấy đám cháy.
Trong bài viết này, chúng tôi giao diện Cảm biến ngọn lửa với Arduino và tìm hiểu tất cả các bước để xây dựng Hệ thống báo cháy bằng cách sử dụng Arduino và cảm biến ngọn lửa. Mô-đun cảm biến ngọn lửa có một diode quang để phát hiện ánh sáng và một op-amp để kiểm soát độ nhạy. Nó được sử dụng để phát hiện cháy và cung cấp tín hiệu CAO khi phát hiện. Arduino đọc tín hiệu và đưa ra cảnh báo bằng cách bật còi và đèn LED. Cảm biến ngọn lửa được sử dụng ở đây là cảm biến ngọn lửa dựa trên IR. Chúng tôi cũng đã sử dụng khái niệm tương tự để phát hiện đám cháy trong Robot chữa cháy của chúng tôi, bạn cũng có thể kiểm tra xem của chúng tôi nếu bạn quan tâm.
Thiết bị cảm biến cháy
Đầu báo cháy là một cảm biến được thiết kế để phát hiện và phản ứng với sự hiện diện của ngọn lửa hoặc ngọn lửa. Các phản ứng đối với ngọn lửa được phát hiện tùy thuộc vào cách lắp đặt nhưng có thể bao gồm phát ra âm thanh báo động, tắt đường dẫn nhiên liệu (chẳng hạn như khí propan hoặc đường khí đốt tự nhiên) và kích hoạt hệ thống dập lửa. Cảm biến ngọn lửa IR được sử dụng trong dự án này được hiển thị bên dưới, những cảm biến này còn được gọi là mô-đun cảm biến lửa hoặc cảm biến đầu báo cháy đôi khi.
Có nhiều loại phương pháp phát hiện ngọn lửa khác nhau. Một số trong số đó là: Máy dò tia cực tím, máy dò mảng hồng ngoại gần, máy dò tia hồng ngoại (IR), máy ảnh nhiệt hồng ngoại, máy dò UV / IR, v.v.
Khi lửa cháy nó phát ra một lượng nhỏ ánh sáng hồng ngoại, ánh sáng này sẽ được tiếp nhận bởi Điốt quang (bộ thu IR) trên mô-đun cảm biến. Sau đó, chúng tôi sử dụng một Op-Amp để kiểm tra sự thay đổi điện áp trên Bộ thu IR, để nếu phát hiện cháy, chân đầu ra (DO) sẽ đưa ra 0V (THẤP) và nếu không cháy, chân đầu ra sẽ 5V (CAO).
Trong dự án này, chúng tôi đang sử dụng cảm biến ngọn lửa dựa trên IR. Nó dựa trên cảm biến YG1006 là một điện trở quang silicon NPN tốc độ cao và có độ nhạy cao. Nó có thể phát hiện ánh sáng hồng ngoại với bước sóng từ 700nm đến 1000nm và góc phát hiện của nó là khoảng 60 °. Mô-đun cảm biến ngọn lửa bao gồm một điốt quang (bộ thu IR), điện trở, tụ điện, chiết áp và bộ so sánh LM393 trong một mạch tích hợp. Có thể điều chỉnh độ nhạy bằng cách thay đổi chiết áp trên bo mạch. Điện áp làm việc là từ 3.3v đến 5v DC, với đầu ra kỹ thuật số. Mức logic cao trên đầu ra cho biết sự hiện diện của ngọn lửa hoặc ngọn lửa. Mức logic thấp ở đầu ra cho biết không có ngọn lửa hoặc ngọn lửa.
Dưới đây là Mô tả chân của Mô-đun cảm biến ngọn lửa:
Ghim |
Sự miêu tả |
Vcc |
Nguồn điện 3.3 - 5V |
GND |
Đất |
Dout |
Đầu ra kỹ thuật số |
Các ứng dụng của cảm biến ngọn lửa
- Trạm hydro
- Màn hình đốt cháy cho đầu đốt
- Đường ống dẫn dầu khí
- Cơ sở sản xuất ô tô
- Cơ sở hạt nhân
- Nhà chứa máy bay
- Vỏ tuabin
Thành phần bắt buộc
- Arduino Uno (có thể sử dụng bất kỳ bảng Arduino nào)
- Mô-đun cảm biến ngọn lửa
- Đèn LED
- Buzzer
- Điện trở
- Dây nhảy
Sơ đồ mạch
Hình ảnh dưới đây là sơ đồ mạch cảm biến cháy Arduino, nó cho thấy cách giao tiếp giữa mô-đun cảm biến cháy với Arduino.
Hoạt động của Cảm biến ngọn lửa với Arduino
Arduino Uno là một bo mạch vi điều khiển mã nguồn mở dựa trên vi điều khiển ATmega328p. Nó có 14 chân kỹ thuật số (trong đó 6 chân có thể được sử dụng làm đầu ra PWM), 6 đầu vào tương tự, bộ điều chỉnh điện áp trên bo mạch, v.v. Arduino Uno có 32KB bộ nhớ flash, 2KB SRAM và 1KB EEPROM. Nó hoạt động ở tần số xung nhịp 16MHz. Arduino Uno hỗ trợ giao tiếp Serial, I2C, SPI để giao tiếp với các thiết bị khác. Bảng dưới đây cho thấy thông số kỹ thuật của Arduino Uno.
Vi điều khiển |
ATmega328p |
Điện áp hoạt động |
5V |
Điện áp đầu vào |
7-12V (khuyến nghị) |
Chân I / O kỹ thuật số |
14 |
Chân analog |
6 |
Bộ nhớ flash |
32KB |
SRAM |
2KB |
EEPROM |
1KB |
Tốc độ đồng hồ |
16MHz |
Các cảm biến phát hiện ngọn lửa sự hiện diện của lửa hoặc ngọn lửa dựa trên hồng ngoại (IR) bước sóng phát ra từ ngọn lửa. Nó đưa ra mức logic 1 là đầu ra nếu ngọn lửa được phát hiện, ngược lại, nó đưa ra mức logic 0 làm đầu ra. Arduino Uno kiểm tra mức logic trên chân đầu ra của cảm biến và thực hiện các tác vụ khác như kích hoạt bộ rung và đèn LED, gửi thông báo cảnh báo.
Ngoài ra, hãy kiểm tra các dự án báo cháy khác của chúng tôi:
- Báo cháy sử dụng Thermistor
- Hệ thống báo cháy sử dụng Vi điều khiển AVR
- Robot chữa cháy dựa trên Arduino
Giải thích mã
Mã Arduino hoàn chỉnh cho dự án này được đưa ra ở cuối bài viết này. Mã được chia thành các đoạn nhỏ có ý nghĩa và được giải thích bên dưới.
Trong phần này của mã, chúng ta sẽ xác định các chân cho cảm biến Ngọn lửa, đèn LED và bộ rung được kết nối với Arduino. Cảm biến ngọn lửa được kết nối với chân số 4 của Arduino. Bộ rung được kết nối với chân số 8 của Arduino. Đèn LED được kết nối với chân số 7 của Arduino.
Biến “ flame_detected ” được sử dụng để lưu trữ giá trị kỹ thuật số đọc ra từ cảm biến ngọn lửa. Dựa trên giá trị này, chúng tôi sẽ phát hiện ra sự hiện diện của ngọn lửa.
int buzzer = 8; int LED = 7; int flame_sensor = 4; int flame_detected;
Trong phần mã này, chúng ta sẽ thiết lập trạng thái của các chân kỹ thuật số của Arduino và cấu hình
Tốc độ truyền cho giao tiếp nối tiếp với PC để hiển thị trạng thái của mạch phát hiện ngọn lửa.
void setup () { Serial.begin (9600); pinMode (buzzer, OUTPUT); pinMode (LED, OUTPUT); pinMode (cảm biến ngọn lửa, INPUT); }
Dòng mã này đọc đầu ra kỹ thuật số từ cảm biến ngọn lửa và lưu trữ nó trong biến “ flame_detected ”.
flame_detected = digitalRead (flame_sensor);
Dựa trên giá trị được lưu trữ trong “ flame_detected ”, chúng tôi phải bật còi và đèn LED. Trong phần này của mã, chúng tôi so sánh giá trị được lưu trữ trong “ flame_detected ” với 0 hoặc 1.
Nếu nó bằng 1, nó chỉ ra rằng ngọn lửa đã được phát hiện. Chúng ta phải bật còi và đèn LED, sau đó hiển thị thông báo cảnh báo trong Serial monitor của Arduino IDE.
Nếu nó bằng 0, thì nó chỉ ra rằng không có ngọn lửa nào được phát hiện, vì vậy chúng ta phải tắt đèn LED và còi. Quá trình này được lặp lại mỗi giây để xác định sự hiện diện của lửa hoặc ngọn lửa.
if (flame_detected == 1) { Serial.println ("Đã phát hiện ngọn lửa…! hành động ngay lập tức."); digitalWrite (buzzer, HIGH); digitalWrite (LED, CAO); chậm trễ (200); digitalWrite (LED, THẤP); chậm trễ (200); } else { Serial.println ("Không phát hiện thấy ngọn lửa. Hãy giữ mát"); digitalWrite (buzzer, LOW); digitalWrite (LED, THẤP); } delay (1000);
Chúng tôi đã chế tạo một robot chữa cháy dựa trên khái niệm này, nó tự động phát hiện đám cháy và bơm nước ra để dập lửa. Bây giờ bạn đã biết cách phát hiện đám cháy bằng Arduino và cảm biến ngọn lửa, hy vọng bạn thích học nó, nếu bạn có bất kỳ câu hỏi nào, hãy để lại chúng trong phần bình luận bên dưới.
Kiểm tra mã hoàn chỉnh và Video demo bên dưới.