Giới thiệu về cảm biến lửa (Flame sensor)
Cảm biến lửa là một loại cảm biến quang điện dùng để phát hiện ngọn lửa hoặc ánh sáng hồng ngoại phát ra từ lửa. Nó hoạt động bằng cách phát hiện bức xạ hồng ngoại trong khoảng bước sóng từ 760nm đến 1100nm, tương ứng với phổ sáng của ngọn lửa.
Loại cảm biến này thường được sử dụng trong các hệ thống cảnh báo cháy, robot phát hiện hỏa hoạn, hoặc các ứng dụng an toàn phòng cháy chữa cháy.
- Dải quang phổ: 760nm ~ 1100nm
- Góc phát hiện: 0 – 60 độ
- Điện áp: 3.3V ~ 5.3V
- Nhiệt độ hoạt động: -25℃ ~ 85℃
- Kích thước: 27.3mm * 15.4mm
- Kích thước lỗ gá: 2.0mm
Linh kiện được sử dụng trong bài viết gồm:
Sơ đồ kết nối với Raspberry Pi 4:
Raspberry Pi 4 | Flame sensor |
5V | VCC |
GND | GND |
GPIO 17 | Dout |
Sử dụng Raspberry Pi 4 và Flame sensor để phát hiện ngọn lửa
Mở IDE bất kỳ trên Raspberry Pi. Trong hướng dẫn này, chúng ta sẽ sử dụng Thonny IDE – một môi trường lập trình Python thân thiện với người mới bắt đầu.
Nhập và chạy đoạn code dưới đây:
from gpiozero import InputDevice import time # Connect the digital output of the flame sensor to GPIO17 on the Raspberry Pi flame_sensor = InputDevice(17) # Continuous loop to read from the sensor while True: # Check if the sensor is active (no flame detected) if flame_sensor.is_active: print("No flame detected.") else: # When the sensor is inactive (flame detected) print("Flame detected!") # Wait for 1 second before reading the sensor again time.sleep(1)
Khi đưa đến gần ngọn lửa, cảm biến sẽ phát hiện ra có cháy và hiển thị lên màn hình dòng chữ ‘Flame detected!’
Lưu ý: Cảm biến không có khả năng kháng lửa nên tuyệt đối không đưa cảm biến quá sát ngọn lửa tránh gây hỏng hóc
Giải thích câu lệnh
1. Nhập thư viện
-
gpiozero.InputDevice
: Dùng để khai báo và đọc tín hiệu số từ chân GPIO của Raspberry Pi. -
time
: Thư viện chuẩn của Python, dùng để tạo độ trễ trong chương trình.
2. Khởi tạo cảm biến lửa
flame_sensor = InputDevice(17)
-
Tạo một đối tượng
flame_sensor
đại diện cho cảm biến lửa. -
17
là số GPIO mà cảm biến được kết nối – tương ứng với chân số 11 trên Raspberry Pi 4. -
Cảm biến đang sử dụng ngõ ra digital (DO).
3. Vòng lặp kiểm tra liên tục
-
while True
: Tạo một vòng lặp vô hạn để liên tục kiểm tra trạng thái cảm biến. -
flame_sensor.is_active
:-
True: Không có ngọn lửa (DO mức cao).
-
False: Có ngọn lửa (DO mức thấp) – vì cảm biến phát hiện lửa và kéo tín hiệu xuống LOW.
-
-
print(...)
: In ra trạng thái lên màn hình để giám sát. -
time.sleep(1)
: Dừng 1 giây giữa mỗi lần đọc để tránh chiếm dụng CPU quá mức.
Kết luận
Qua bài viết này, chúng ta đã tìm hiểu cách kết nối và lập trình cảm biến lửa (Flame Sensor) với Raspberry Pi 4 bằng ngôn ngữ Python trong môi trường Thonny IDE. Kết quả cho thấy khi đưa cảm biến đến gần nguồn phát sáng như ngọn lửa, thiết bị sẽ phát hiện và hiển thị cảnh báo "Flame detected!"
trên màn hình.
Đây là một bước khởi đầu đơn giản nhưng hiệu quả để áp dụng cảm biến lửa trong các hệ thống cảnh báo cháy tự động, robot cứu hỏa, hoặc các dự án IoT an toàn. Tuy nhiên, cần lưu ý rằng cảm biến không chịu được nhiệt độ cao, do đó không nên đặt quá gần ngọn lửa để tránh hư hỏng thiết bị.