Nội Dung Bài Viết
Giới thiệu cảm biến phát hiện lửa
Cảm biến chuyên dùng để phát hiện lửa, thường dùng trong các hệ thống báo cháy. Tầm hoạt động trong khoảng 80cm với góc quét 60°.
Cảm biến phát hiện lửa sử dụng một diode hồng ngoại thu để phát hiện ngọn lửa và đưa tín hiệu ra về bộ điều khiển.
Cảm biến nhận biết được lửa tốt nhất với bước sóng 760nm – 1100nm. Mạch còn được tích hợp IC LM393 để so sánh tạo mức tín hiệu và có thể chỉnh được độ nhạy bằng biến trở.
Thông tin kỹ thuật cần lưu ý
- Điện áp hoạt động: 3.3 ~ 5.3 VDC
- Bước sóng phát hiện được: 760 ~ 1100 nm
- Góc quét: 0 – 60°
- Tín hiệu ra: có xuất ra 2 dạng tín hiệu: Analog (AOUT) và tín hiệu số (DOUT)
- Khoảng cách an toàn cho module là 80 cm và lớn hơn nếu ngọn lửa to hơn.
Sơ đồ nguyên lý
Sơ đồ chân
- VCC: Nguồn cung cấp (3.3V ~ 5.3V)
- GND: Mass
- AOUT (AO): Analog output
- DOUT (DO): Digital output
Nguyên lí hoạt động
Như đã biết mọi vật có nhiệt độ lớn hơn 0 độ K đều phát ra tia hồng ngoại nhưng ở các bước sóng khác nhau. Và ngọn lửa cũng không ngoại lệ, nó phát ra tia hồng ngoại ở dãy dải 760nm-1100nm. Dựa vào điều này, module cảm biến phát hiện lửa dùng một diode hồng ngoại thu tín hiệu hồng ngoại ngọn lửa phát ra. Thông qua mạch tích hợp IC LM393 so sánh và đưa ra tín hiệu đầu ra.
Ví dụ sử dụng module cảm biến với Arduino
Viết chương trình hiển thị ra màn hình serial monitor giá trị analog mà cảm biến đọc được. Nếu đưa cảm biến gần nguồn lửa thì giá trị sẽ giảm dần về 0. Nếu phát hiện ra lửa (digital output vượt quá ngưỡng so sánh) thì bật đèn led trên chân 13 của Arduino.
Sơ chân kết nối với Arduino
Module cảm biến phát hiện lửa | Arduino |
VCC | 5V |
GND | GND |
A0 | A0 |
D0 | D2 |
Chương trình Arduino
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | const int analogPin = A0; // Flame Sensor (A0) to Arduino analog input pin A0 const int digitalpin= 2; const int Led=13; void setup() { Serial.begin(9600); pinMode(digitalpin,INPUT); pinMode(Led,OUTPUT); } void loop() { // read the value of the Flame Sensor: int analogValue = analogRead(analogPin); Serial.println(analogValue); //serial print the FLAME sensor value if( digitalRead(digitalpin)==0){ digitalWrite(Led,HIGH); } else { digitalWrite(Led,LOW); } delay(500); } |
Download file
Source code
Flame Datasheet 1
Flame Datasheet 2
Bài viết các bạn có thể tham khảo:
- Cảm biến chuyển động PIR
- Cảm biến IMU MPU6050– Cảm biến gia tốc
- Cảm biến màu sắc TCS3200 với Arduino – Phân biệt màu sắc