- Mô-đun cảm biến rung SW-420
- Thành phần bắt buộc
- Sơ đồ mạch cảm biến rung Arduino
- Lập trình cảm biến rung Arduino Uno
- Kiểm tra mạch cảm biến rung Arduino
Có một số máy móc quan trọng hoặc thiết bị đắt tiền bị hư hỏng do rung động. Trong trường hợp này, cần phải có cảm biến rung để tìm hiểu xem máy hoặc thiết bị có tạo ra rung động hay không. Việc xác định vật thể đang rung động liên tục không phải là một công việc phức tạp nếu sử dụng cảm biến thích hợp để phát hiện sự rung động. Có một số loại cảm biến rungcó sẵn trên thị trường, có thể phát hiện rung động bằng cách cảm nhận gia tốc hoặc vận tốc và có thể mang lại kết quả tuyệt vời. Tuy nhiên, những cảm biến như vậy quá đắt khi sử dụng gia tốc kế. Gia tốc kế rất nhạy và có thể được sử dụng để làm mạch phát hiện Động đất. Tuy nhiên, có rất ít cảm biến chuyên dụng và rẻ tiền cũng có sẵn để chỉ phát hiện rung động, một cảm biến rung như vậy là SW-420 mà chúng tôi sẽ giao tiếp với Arduino Uno.
Vì vậy, trong dự án này, một mô-đun cảm biến rung cơ bản được giao tiếp với Arduino UNO phổ biến và bất cứ khi nào cảm biến rung phát hiện bất kỳ rung hoặc giật nào, một đèn LED sẽ bắt đầu nhấp nháy.
Mô-đun cảm biến rung SW-420
Đây là mô-đun rung SW-420, có thể hoạt động từ 3.3V đến 5V. Cảm biến sử dụng bộ so sánh LM393 để phát hiện rung động trên một điểm ngưỡng và cung cấp dữ liệu kỹ thuật số, Logic Thấp hoặc Logic Cao, 0 hoặc 1. Trong hoạt động bình thường, cảm biến cung cấp Logic Thấp và khi phát hiện rung động, cảm biến cung cấp Logic Cao. Có ba thiết bị ngoại vi có sẵn trong mô-đun, hai đèn LED, một cho trạng thái Nguồn và một cho đầu ra của cảm biến. Ngoài ra, có sẵn một chiết áp có thể được sử dụng thêm để kiểm soát điểm ngưỡng của rung động. Trong dự án này, chúng tôi sẽ sử dụng 5V để cấp nguồn cho mô-đun.
Chúng tôi đã sử dụng cùng một cảm biến trong Hệ thống cảnh báo chống trộm bằng Vi điều khiển ATmega8. Ngoài ra, một cảm biến độ nghiêng có thể được sử dụng để phát hiện tai nạn bất ngờ.
Thành phần bắt buộc
- Arduino UNO
- Mô-đun cảm biến rung SW-420
- 5mm LED (bất kỳ màu nào)
- Jumper Wires (Hookup Wires)
- Cáp USB để tải lên chương trình
Sơ đồ mạch cảm biến rung Arduino
Sơ đồ để giao tiếp Cảm biến rung với Arduino una được đưa ra bên dưới.
Đèn LED được kết nối trong chân D13. Mô-đun được cấp nguồn bằng chân 5V có sẵn trong Arduino. Chân Ground và chân 5V được sử dụng để cấp nguồn cho Arduino trong khi chân A5 được sử dụng để lấy dữ liệu từ cảm biến rung.
Mạch được cấu tạo ở đó mô-đun SW-420 và đèn LED được kết nối với Arduino Uno.
Lập trình cảm biến rung Arduino Uno
Việc lập trình Arduino UNO với cảm biến rung giao diện không cần nhiều nỗ lực vì chỉ cần theo dõi chân đầu vào để đưa ra kết luận. Các mã hoàn chỉnh và video làm việc được gắn ở cuối.
Ban đầu các Tệp tiêu đề được bao gồm. Tiêu đề arduino được bao gồm vì hướng dẫn này được viết bằng IDE Eclipse với phần mở rộng Arduino. Bản phác thảo này cũng sẽ hoạt động cho Arduino IDE và trong khi sử dụng bản phác thảo này trong Arduino IDE, không cần bao gồm tiêu đề.
#include
Ở đây hai macro được xác định cho BẬT và TẮT.
#define BẬT 1 #define TẮT 0
Tuyên bố dưới đây được sử dụng để tích hợp đèn LED và Cảm biến rung. Cảm biến rung được kết nối với chân A5. Đèn LED có sẵn cũng được sử dụng được kết nối trực tiếp trong bảng vào chân 13. Đèn LED 5mm cũng được kết nối với chân 13.
/ * * Mô tả Pin * / int rung_Sensor = A5; int LED = 13;
Hai số nguyên được khai báo nơi các cảm biến hiện tại đầu ra và đầu ra trước đó sẽ được lưu trữ, tiếp tục được sử dụng để phát hiện xem rung động có xảy ra hay không.
/ * * Luồng chương trình Mô tả * / int present_condition = 0; int before_condition = 0;
Cùng một chân được khai báo là kết nối ngoại vi, hướng của các chân được cấu hình. Chân cảm biến làm đầu vào và chân LED làm đầu ra.
/ * * Thiết lập chế độ ghim * / void setup () { pinMode (rung_Sensor, INPUT); pinMode (LED, OUTPUT); }
Một chức năng được viết để nhấp nháy led hai lần. Độ trễ có thể được cấu hình bằng cách gắn giá trị độ trễ.
void led_blink (void) { digitalWrite (LED, ON); chậm trễ (250); digitalWrite (LED, TẮT); chậm trễ (250); digitalWrite (LED, ON); chậm trễ (250); digitalWrite (LED, TẮT); chậm trễ (250); }
Trong hàm lặp, điều kiện hiện tại và điều kiện trước đó được so sánh. Nếu hai đèn này không giống nhau, các đèn led sẽ bắt đầu nhấp nháy cho đến khi cả hai đều giống nhau. Khi bắt đầu, hai biến giữ 0 và đèn dẫn vẫn tắt trong khi bắt đầu chương trình. Khi có một số virbraion, present_condition biến trở thành 1 và bắt đầu dẫn đến chớp. Và một lần nữa khi rung động dừng cả hai vaiable trở thành 0 và đèn LED ngừng nhấp nháy.
void loop () { before_condition = present_condition; hiện_condition = digitalRead (A5); // Đọc dữ liệu kỹ thuật số từ Pin A5 của Arduino. if (before_condition! = present_condition) { led_blink (); } else { digitalWrite (LED, OFF); } }
Điều này kết thúc quá trình lập trình arduino UNO với cảm biến Rung. Bước cuối cùng sẽ là kiểm tra toàn bộ thiết lập.
Kiểm tra mạch cảm biến rung Arduino
Mạch không yêu cầu thêm breadboard. Nó có thể được kiểm tra đơn giản bằng cách sử dụng Arduino UNO Board. Đèn led được giám sát khi cảm biến rung bị va đập hoặc nếu nó thay đổi trạng thái. Đèn led sẽ nhấp nháy được kết nối với Pin 13 của Arduino UNO khi có một số rung động. Nếu cảm biến rung không hoạt động thì vui lòng kiểm tra kết nối và nguồn. Tránh bất kỳ kết nối lỏng lẻo nào giữa cảm biến và vi điều khiển.
Vì vậy, đây là cách một cảm biến rung có thể được giao tiếp với Arduino UNO. Nếu bạn có bất kỳ nghi ngờ hoặc đề xuất nào thì bạn có thể liên hệ với chúng tôi thông qua diễn đàn hoặc bạn cũng có thể bình luận bên dưới.