Máy dò chuyển động
Máy dò chuyển động, như tên gọi của chúng, là những cảm biến được sử dụng để cảm nhận chuyển động. Chúng thường được thấy trong hệ thống báo động an ninh và hệ thống chiếu sáng kích hoạt chuyển động nhưng có thể được sử dụng cùng với bộ truyền động tuyến tính cho nhiều ứng dụng thú vị. Một ứng dụng phổ biến của bộ truyền động tuyến tính và máy dò chuyển động được sử dụng cùng nhau trong những ngôi nhà ma ám để gây sợ hãi khi nhảy. Tuy nhiên, bộ truyền động tuyến tính và bộ phát hiện chuyển động cũng có thể được sử dụng cho nhiều dự án tự động hóa gia đình.
Khi nghĩ đến máy dò chuyển động, bạn thường nghĩ đến 2 loại:
- Hồng ngoại thụ động – Đo sự thay đổi nhiệt độ cơ thể (năng lượng hồng ngoại) để phát hiện chuyển động
- Lò vi sóng – Đo phản xạ của vật thể bằng vi sóng để phát hiện chuyển động
Hai loại máy dò chuyển động này là phổ biến nhất vì chúng thường được sử dụng trong các ứng dụng như hệ thống an ninh. Mặc dù có nhiều loại máy dò chuyển động khác, bao gồm cảm biến phản xạ khu vực, sử dụng ánh sáng suy luận, cảm biến rung và cảm biến siêu âm [1]. Để sử dụng cho những người có sở thích và các dự án DIY, loại máy dò chuyển động hiện có và được sử dụng phổ biến nhất là cảm biến chuyển động Hồng ngoại Thụ động (PIR). Vì lý do này, phần còn lại của blog này sẽ tập trung vào cách sử dụng bộ phát hiện chuyển động PIR với bộ truyền động tuyến tính của bạn. Mặc dù mỗi loại cảm biến sẽ có cách triển khai khác nhau, nhưng phần lớn những gì được mô tả dưới đây về cách điều khiển bộ truyền động tuyến tính bằng bộ phát hiện chuyển động sẽ giống nhau đối với tất cả các loại bộ phát hiện chuyển động.
Còn cảm biến tiệm cận thì sao?
Cảm biến tiệm cận không phải là máy dò chuyển động vì chúng phát hiện khoảng cách của một vật thể hơn là chuyển động. Về mặt chức năng, một cảm biến tiệm cận có thể cho bạn biết khoảng cách của một vật thể với cảm biến cho dù vật thể đó có chuyển động hay không. Trong khi máy dò chuyển động sẽ chỉ kích hoạt khi có chuyển động bất kể vật thể ở gần đến mức nào. Bạn có thể sử dụng cảm biến tiệm cận làm máy dò chuyển động vì đầu ra của cảm biến tiệm cận sẽ thay đổi khi một vật thể hoặc người di chuyển phía trước cảm biến. Mặc dù, cảm biến tiệm cận chỉ phát hiện khoảng cách của vật thể gần nhất với cảm biến, vì vậy nếu có thứ gì đó di chuyển phía sau vật thể gần nhất thì cảm biến tiệm cận sẽ không phát hiện được chuyển động này. Mặc dù có thể sử dụng cảm biến tiệm cận làm máy phát hiện chuyển động nhưng nó có thể không phải là giải pháp tốt nhất cho thiết kế của bạn.
Thiết lập máy dò chuyển động PIR của bạn
Nếu bạn đang muốn thiết kế robot hù dọa nhảy của riêng mình cho Halloween hoặc có một dự án nhạy cảm với chuyển động khác, bạn sẽ muốn sử dụng bộ phát hiện chuyển động PIR làm công tắc đầu vào để xác định khi nào bộ truyền động tuyến tính của bạn sẽ di chuyển. Để làm điều này, bạn sẽ muốn sử dụng một bộ vi điều khiển, giống như một Arduino, để đọc đầu ra của bộ phát hiện chuyển động PIR và điều khiển bộ truyền động tuyến tính của bạn. Đầu ra của cảm biến chuyển động PIR tương tự như một nút ấn đơn giản, khi có chuyển động cảm biến sẽ gửi tín hiệu hoặc điện áp cao đến vi điều khiển và khi không có chuyển động sẽ gửi tín hiệu hoặc điện áp thấp. Bạn cũng có thể muốn kiểm tra cảm biến PIR trước khi lắp nó vào thiết kế của mình vì một số cảm biến PIR cho phép bạn điều chỉnh độ nhạy của cảm biến để có hiệu suất tốt hơn.
Vì bạn sẽ không biết khi nào ai đó sẽ đi ngang qua máy dò chuyển động của bạn, bạn sẽ cần phải liên tục đọc đầu ra của cảm biến PIR trong vòng lặp chính của mã hoặc bạn có thể sử dụng các ngắt bên ngoài. Ngắt bên ngoài là các chân của Arduino phát hiện sự thay đổi điện áp và trong trường hợp của chúng tôi có thể được sử dụng để cảnh báo cho Arduino rằng cảm biến PIR của chúng tôi đã phát hiện chuyển động. Tùy thuộc vào ứng dụng của bạn, một trong hai phương pháp đọc đầu ra của cảm biến PIR đều khả thi, mặc dù phương pháp sau được coi là phương pháp tốt nhất vì nó đảm bảo mã của bạn sẽ không bỏ lỡ bất kỳ chuyển động nào được cảm biến PIR phát hiện. Nếu bạn dự định sử dụng một ngắt bên ngoài để phát hiện sự thay đổi từ bộ phát hiện chuyển động của mình, bạn sẽ cần tham khảo bảng dữ liệu của Arduino để đảm bảo những chân nào của bộ vi điều khiển có thể được sử dụng làm chân ngắt. Nếu không, bạn chỉ cần kết nối đầu ra của cảm biến PIR với bất kỳ chân đầu vào kỹ thuật số nào của Arduino. Cảm biến PIR cũng sẽ cần được kết nối với nguồn điện thích hợp và với điểm chung.
Thiết bị truyền động tuyến tính điều khiển chuyển động
Trong cả hai ví dụ dưới đây, Arduino điều khiển bộ truyền động tuyến tính bằng cách sử dụng người lái xe máy. Để tìm hiểu cách điều khiển bộ truyền động tuyến tính bằng bộ điều khiển động cơ hoặc các bộ phận trung gian khác, như rơle, bạn có thể xem bài viết của chúng tôi trên Cách điều khiển bộ truyền động tuyến tính bằng Arduino. Ngoài ra, không có ví dụ nào dưới đây sử dụng thiết bị truyền động tuyến tính phản hồi hoặc công tắc giới hạn bên ngoài trong thiết kế của họ, điều này sẽ cho phép bạn kiểm soát bộ truyền động của mình nhiều hơn là không có. Nếu bạn quan tâm đến cách thức và những tùy chọn phản hồi nào có sẵn, bạn có thể xem bài đăng của chúng tôi về chủ đề này đây.
Ví dụ mã ở trên cho thấy cách thiết lập một ngắt trong Arduino IDE trong đó ngắt sẽ được kích hoạt ở cạnh tăng của xung điện áp. Bạn có thể thiết lập ngắt để được kích hoạt tại các điểm khác nhau khi thay đổi điện áp và nên tham khảo bảng dữ liệu của bộ vi điều khiển để xác định các tùy chọn có sẵn. Khi bạn đã xác định và chọn được chân ngắt thích hợp, khía cạnh cuối cùng bạn cần làm để thiết lập ngắt là viết quy trình phục vụ ngắt. Quy trình phục vụ ngắt là một chức năng đơn giản mà mã sẽ chạy mỗi khi ngắt được kích hoạt. Trong trường hợp của chúng tôi, motionDetector thường trình dịch vụ ngắt của chúng tôi chỉ cần đặt cờ motionDetected ở mức cao khi ngắt được kích hoạt.
Khi Arduino của bạn đã đọc đầu ra của cảm biến PIR, bằng cách sử dụng ngắt bên ngoài hoặc chỉ cần đọc đầu ra, cách bạn sử dụng phản hồi này để điều khiển bộ truyền động tuyến tính sẽ tùy thuộc vào thiết kế và ứng dụng của bạn. Vì cảm biến PIR chỉ cung cấp phản hồi nhị phân, giống như nút ấn, nên mức độ điều khiển đối với bộ truyền động tuyến tính sẽ bị hạn chế. Một cách để điều khiển bộ truyền động tuyến tính bằng phản hồi này là yêu cầu bộ truyền động di chuyển bất cứ khi nào phát hiện chuyển động, điều này có thể hữu ích trong các ứng dụng như dọa robot nhảy trong ngôi nhà ma ám. Đoạn mã trên cho thấy cách bạn có thể triển khai thiết kế này. Sau khi cờ motionDetected được đặt ở mức cao, chúng tôi sẽ mở rộng bộ truyền động tuyến tính về phía trước và sau 10 giây, cờ được đặt lại ở mức thấp và bộ truyền động sẽ rút lại cho lần nhảy tiếp theo. Vì chúng tôi chỉ sử dụng bộ phát hiện chuyển động để báo cho Arduino biết rằng có ai đó đang ở đó nên chúng tôi sử dụng đồng hồ hẹn giờ để đặt lại cờ và đợi người tiếp theo đi ngang qua.
Một phương pháp khác là chuyển đổi giữa vị trí mở rộng và thu lại của bộ truyền động tuyến tính mỗi khi phát hiện chuyển động, phương pháp này có thể hữu ích trong các ứng dụng tự động hóa gia đình. Việc thực hiện phương pháp này được trình bày ở trên. Trong quy trình dịch vụ ngắt, cờ motionDetected được bật mỗi khi cảm biến PIR phát hiện chuyển động. Khi cờ được đặt ở mức cao, bộ truyền động tuyến tính được mở rộng và khi cờ được đặt ở mức thấp, bộ truyền động tuyến tính sẽ được rút lại. Chúng tôi cũng đã thêm một cờ hẹn giờ khácFlag được sử dụng để thêm thời gian trễ sau khi bộ phát hiện chuyển động PIR được kích hoạt. Cờ này được đặt CAO khi ngắt được kích hoạt lần đầu tiên và chỉ được gửi ở mức thấp sau khoảng thời gian trễ được thiết kế, trong ví dụ này là một phút. Nó cũng được sử dụng để đảm bảo giá trị của cờ motionDetected không được chuyển đổi cho đến sau thời gian trễ này.
Thẩm quyền giải quyết:
- Tross, K. (2019, tháng 10). Hướng dẫn cho người mới bắt đầu về cảm biến chuyển động. Lấy ra từ: https://www.safewise.com/resources/motion-sensor-guide/