KẾT NỐI CẢM BIẾN CHUYỂN ĐỘNG (PIR) VỚI ARDUINO
Trong bài viết này, chúng ta sẽ tìm hiểu cách kết nối cảm biến chuyển động hay còn gọi cảm biến hồng ngoại thụ động với Arduino. Chúng tôi đã viết một hướng dẫn về cách kết nối cảm biến Pir đến vi điều khiển 8051 trước đây trên trang Điện Tử Tương Lai! Vì vậy, một cảm biến PIR, còn được gọi là cảm biến chuyển động về cơ bản là một cảm biến điện tử được sử dụng trong các ứng dụng phát hiện chuyển động. Một cảm biến Pir phát hiện hoặc đo các bức xạ hồng ngoại (Infrared) được phát ra bởi bất kỳ đối tượng nào trong phạm vi quan sát của nó. Dưới đây là hình ảnh của cảm biến hồng ngoại
Trước tiên bài viết sẽ nói ngắn gọn về cách một cảm biến Pir hoạt động!
Trong thực tế, tất cả các vật thể phát ra năng lượng nhiệt dưới dạng bức xạ. Lý thuyết đằng sau khái niệm này là tất cả các vật thể có nhiệt độ trên độ không tuyệt đối (độ không tuyệt đối là âm 273,15 độ C hoặc 0 kelvin) phát ra năng lượng nhiệt dưới dạng bức xạ ở bước sóng hồng ngoại (vô hình với mắt người). Những bức xạ hồng ngoại phát ra này có thể được phát hiện với sự trợ giúp của thiết bị điện tử và nguyên tắc này được sử dụng trong thiết kế cảm biến Pir. Một cảm biến Pir không phát ra bất kỳ loại bức xạ nào cho mục đích phát hiện chuyển động mà chúng chỉ đo cường độ bức xạ hồng ngoại phát ra từ các vật thể khác trong trường hoặc phạm vi đo của nó.
Một mô-đun cảm biến Pir chỉ có 3 chân - chân Vcc là đầu vào cho nguồn +5 volt DC, chân nối đất (GND) và cuối cùng là chân tín hiệu đầu ra kỹ thuật số (Digital). Kết nối chân + 5V từ Arduino đến Vcc của mô-đun cảm biến Pir, kết nối GND từ Arduino với chân GND của cảm biến Pir và cuối cùng kết nối chân đầu ra (OUT) với bất kỳ chân kỹ thuật số (chân Digital) nào của arduino. Trong sơ đồ mạch dưới đây, chúng ta kết nối chân OUT cảm biến với chân 7 của arduino.
Chương trình
int sensor=7; // khai báo rằng ngõ ra cảm biến PIR gắn với chân số 7
int sensor_value; // giá trị sensor_value là giá trị đọc từ cảm biến
void setup()
{
pinMode(sensor,INPUT); // cấu hình chân 7 của Arduino là chân ngõ vào
Serial.begin(9600); // Khai báo dòng lênh ngày để có thể hiển thị giá trị cảm biến bằng serial monitor
}
void loop()
{
sensor_value=digitalRead(sensor); // lệnh đọc giá trị cảm biến từ chân 7
Serial.println(sensor_value); // in giá trị ngõ ra ra serial monitor
}
Sau khi viết xong chương trình trên, ta sẽ dùng Serial Monitor để quan sát hoạt động của cảm biến
Khi không có chuyển động, chương trình in ra các giá trị 0
Khi có chuyển động, chương trình in ra các giá trị 1
Hi vọng bài viết trên phần nào có ích cho những người quan tâm các đồ án về cảm biến chuyển động và arduino. Cảm ơn các bạn đã theo dõi các bài viết của Điện Tử Tương Lai, Điện Tử Tương Lai mong rằng các bạn sẽ tiếp tục ủng hộ để chúng tôi có động lực để viết thêm những bài viết hay hơn, cung cấp kiến thức cho mọi người.
Hotline: 0979 466 469