- Thành phần bắt buộc
- Sơ đồ mạch cho Máy dò chuyển động dựa trên cảm biến Raspberry Pi và PIR
- Mã Python cho Raspberry Pi:
Hệ thống an ninh đóng một vai trò quan trọng trong cuộc sống hàng ngày của chúng ta và ở đó chúng ta có thể tìm thấy rất nhiều loại hệ thống an ninh khác nhau với các loại công nghệ khác nhau và với mức giá khác nhau. Là một người đam mê điện tử, bạn có thể tạo ra một hệ thống an ninh đơn giản bằng cách bỏ ra vài đô la và một chút thời gian rảnh rỗi. Ở đây trong bài viết này, tôi đang chia sẻ hướng dẫn Tự làm để tạo một cảnh báo phát hiện chuyển động dựa trên cảm biến Raspberry pi và PIR đơn giản sẽ bật còi khi cảm biến PIR phát hiện bất kỳ chuyển động nào của con người trong khu vực. Chúng tôi cũng đã đề cập đến một mạch phát hiện chuyển động dựa trên cảm biến PIR đơn giản trong một trong các bài viết trước của chúng tôi, nơi chúng tôi đã đề cập chi tiết về hoạt động của cảm biến PIR.
Thành phần bắt buộc
- Raspberry Pi 3 (bất kỳ kiểu máy nào)
- Cảm biến PIR
- Buzzer
- Breadboard
- Kết nối dây
Hoạt động của cảm biến PIR
Cảm biến hồng ngoại thụ động (PIR) được gọi là thụ động vì nó nhận tia hồng ngoại, không phát ra. Về cơ bản, nó phát hiện bất kỳ thay đổi nào về nhiệt và bất cứ khi nào nó phát hiện ra bất kỳ thay đổi nào, mã PIN đầu ra của nó sẽ trở nên CAO. Chúng còn được gọi là cảm biến chuyển động Pyro điện hoặc IR.
Ở đây chúng ta cần lưu ý rằng mọi vật thể đều phát ra một lượng tia hồng ngoại khi bị đốt nóng. Con người cũng phát ra tia hồng ngoại vì thân nhiệt. Cảm biến PIR có thể phát hiện một lượng nhỏ sự thay đổi trong tia hồng ngoại. Bất cứ khi nào một vật thể đi qua phạm vi cảm biến, nó tạo ra tia hồng ngoại do ma sát giữa không khí và vật thể, và bị bắt bởi PIR.
Thành phần chính của cảm biến PIR là cảm biến nhiệt điện được hiển thị trong hình (tinh thể hình chữ nhật phía sau nắp nhựa). Cùng với đó, BISS0001 ("Vi mạch phát hiện chuyển động PIR Micro Power"), một số điện trở, tụ điện và các thành phần khác được sử dụng để xây dựng cảm biến PIR. IC BISS0001 lấy đầu vào từ cảm biến và xử lý để làm cho chân đầu ra CAO hoặc THẤP cho phù hợp.
Cảm biến nhiệt điện chia làm hai nửa, khi không có chuyển động, cả hai nửa vẫn ở trạng thái như nhau, có nghĩa là cả hai đều cảm nhận cùng mức hồng ngoại. Ngay khi ai đó bước vào nửa đầu, mức hồng ngoại của một nửa sẽ trở nên lớn hơn so với nửa kia, và điều này khiến PIR phản ứng và làm cho chân đầu ra cao.
Cảm biến nhiệt điện được che bởi một nắp nhựa, bên trong có nhiều thấu kính Fresnel. Các ống kính này được làm cong theo cách để cảm biến có thể bao phủ một phạm vi rộng.
Sơ đồ mạch cho Máy dò chuyển động dựa trên cảm biến Raspberry Pi và PIR
Như được hiển thị trong sơ đồ trên cho máy dò chuyển động dựa trên cảm biến Raspberry Pi và PIR, chân dương của cảm biến PIR được kết nối với chân 4 (5v) và chân nối đất của cảm biến PIR được kết nối với chân 6 (Đất) của Raspberry Pi (Bạn có thể tìm thấy ở đây Sơ đồ Pin của Raspberry Pi). Chân đầu ra của cảm biến PIR được kết nối với GPIO 23 của Raspberry pi được sử dụng để cung cấp đầu vào cho Raspberry Pi. Chân GPIO 24 được khai báo ở đây cho đầu ra được kết nối với dương của buzzer và nối đất của buzzer với nối đất (chân 6) của raspberry pi.
Mã Python cho Raspberry Pi:
Mã Python cho máy dò chuyển động dựa trên cảm biến pi và cảm biến PIR này khá đơn giản và có thể hiểu dễ dàng với các nhận xét nội tuyến trong phần mã bên dưới. Tôi đã khai báo chân GPIO 23 và 24 là chân đầu vào và đầu ra.
while True: if GPIO.input (23): #Nếu có chuyển động, cảm biến PIR cung cấp đầu vào cho GPIO23 GPIO.output (24, True) #Output được cấp cho Buzzer thông qua GPIO24 time.sleep (1) #Buzzer bật cho 1 giây GPIO.output (24, Sai)
Một 'trong khi' vòng lặp được sử dụng như 'True' nên các nội dung bên trong vòng lặp sẽ luôn luôn thực thi. if GPIO.input (23): câu lệnh phát hiện xem chân 23 của GPIO có cao hay không và nếu điều này đúng, nó làm cho mã PIN đầu ra 24 ở mức cao. Hàm time.sleep (giây) được sử dụng để tạm dừng chương trình trong python trong thời gian cụ thể trong đó 'giây' là thời gian tính bằng giây. Vì vậy, ở đây chúng tôi đã sử dụng để tạm dừng nó trong 1 giây. Trong dòng tiếp theo, chúng tôi thực hiện đầu ra trên 24 là false để buzzer dừng lại cho đến khi vòng lặp bắt đầu lặp lại tiếp theo, vì vòng lặp While được đặt luôn đúng mà không có bất kỳ điều kiện trước nào.