- Yêu cầu:
- Tải xuống và Cài đặt Phần mềm:
- Sơ đồ mạch và phần cứng Arduino:
- Phần mềm Arduino:
- Ứng dụng di động Android cho Radar siêu âm:
- Giải thích làm việc:
Đây là một dự án thú vị trong đó chúng tôi khám phá sức mạnh của Arduino và Android để tạo ra một thiết bị Giám sát sử dụng Arduino và Cảm biến siêu âm để truyền thông tin đến một ứng dụng di động (Android) bằng Bluetooth.
An toàn và Bảo mật đã là mối quan tâm hàng đầu của chúng tôi từ bao đời nay. Việc cài đặt camera an ninh có chế độ ban đêm với tùy chọn nghiêng và xoay sẽ làm thủng túi của chúng ta. Do đó, hãy để chúng tôi tạo ra một thiết bị kinh tế gần như tương tự nhưng không có bất kỳ tính năng video nào.
Thiết bị này cảm nhận các vật thể với sự trợ giúp của Cảm biến siêu âm và do đó có thể hoạt động ngay cả vào ban đêm. Ngoài ra, chúng tôi đang gắn cảm biến của Hoa Kỳ (Ultra Sonic) trên động cơ servo, động cơ servo này có thể được đặt để xoay tự động để quét khu vực hoặc có thể được xoay theo cách thủ công bằng ứng dụng Di động của chúng tôi, để chúng tôi có thể lấy nét cảm biến siêu âm trong hướng yêu cầu của chúng tôi và cảm nhận các đối tượng hiện diện ở đó. Tất cả thông tin được cảm biến của Hoa Kỳ phát hiện sẽ được truyền đến Điện thoại thông minh của chúng tôi bằng Mô-đun Bluetooth (HC-05). Vì vậy, nó sẽ hoạt động giống như Sonar hoặc Radar.
Thật thú vị phải không ??…. Hãy để chúng tôi xem chúng tôi cần những gì để thực hiện dự án này.
Yêu cầu:
Phần cứng:
- Nguồn điện + 5V (Tôi đang sử dụng bảng Arduino (khác) để cấp nguồn)
- Arduino Mega (Bạn có thể sử dụng bất cứ thứ gì từ pro mini đến Yun)
- Động cơ Servo (bất kỳ xếp hạng nào)
- Mô-đun Bluetooth (HC-05)
- Cảm biến siêu âm (HC-SR04)
- Breadboard (không bắt buộc)
- Kết nối dây
- Di động Android
- Máy tính để lập trình
Phần mềm:
- Phần mềm Arduino
- SDK Android
- Xử lý Android (Để tạo ứng dụng di động)
Khi chúng tôi đã sẵn sàng với tài liệu của mình, chúng ta hãy bắt đầu xây dựng phần cứng. Tôi đã chia hướng dẫn này thành Phần Arduino và Phần xử lý để dễ hiểu. Những người mới xử lý không cần phải lo sợ nhiều vì mã hoàn chỉnh được đưa ra ở cuối hướng dẫn có thể được sử dụng như vậy.
Tải xuống và Cài đặt Phần mềm:
Các Arduino IDE có thể được cài đặt từ đây. Tải xuống phần mềm theo hệ điều hành của bạn và cài đặt nó. Arduino IDE sẽ yêu cầu trình điều khiển để giao tiếp với Phần cứng Arduino của bạn. Trình điều khiển này sẽ được cài đặt tự động sau khi bạn kết nối bo mạch với máy tính của mình. Hãy thử tải lên một chương trình nhấp nháy từ các ví dụ để đảm bảo rằng Arduino của bạn đang hoạt động.
Các chế biến IDE có thể được cài đặt từ đây. Xử lý là một ứng dụng mã nguồn mở tuyệt vời có thể được sử dụng cho nhiều thứ, nó có nhiều chế độ khác nhau. Trong “Chế độ Java”, chúng tôi có thể tạo các ứng dụng máy tính windows (tệp.EXE) và ở “chế độ Android”, chúng tôi có thể tạo Ứng dụng di động Android (tệp.APK), nó cũng có các chế độ khác như “chế độ Python”, nơi bạn có thể viết các chương trình python. Hướng dẫn này sẽ không bao gồm những điều cơ bản về Xử lý, do đó nếu bạn muốn học lập trình hoặc xử lý java, hãy truy cập kênh YouTube tuyệt vời này tại đây.
Sơ đồ mạch và phần cứng Arduino:
Dự án này liên quan đến rất nhiều thành phần như Động cơ Servo, Mô-đun Bluetooth, Cảm biến siêu âm, v.v. Do đó, nếu bạn là người mới bắt đầu thì bạn nên bắt đầu với một số hướng dẫn cơ bản liên quan đến các thành phần này và sau đó quay lại đây. Xem các dự án khác nhau của chúng tôi về Động cơ Servo, Mô-đun Bluetooth và Cảm biến siêu âm tại đây.
Tất cả các thành phần không được cấp nguồn bởi chính Arduino bởi vì, động cơ servo, mô-đun Bluetooth và cảm biến của Hoa Kỳ hoàn toàn tạo ra rất nhiều dòng điện mà Arduino sẽ không thể cấp nguồn. Do đó, bạn hoàn toàn nên sử dụng bất kỳ nguồn cung cấp + 5V bên ngoài nào. Nếu bạn không có nguồn cung cấp + 5V bên ngoài trong tầm tay, bạn có thể chia sẻ các thành phần giữa hai bảng Arduino như tôi đã làm. Tôi đã kết nối các thanh nguồn Servos với một bảng Arduino khác (màu đỏ) và kết nối mô-đun Bluetooth HC-05 và cảm biến siêu âm HC-SR04 với Arduino mega. THẬN TRỌNG: Việc cấp nguồn cho tất cả các mô-đun này bằng một bảng Arduino sẽ làm hỏng bộ điều chỉnh điện áp Arduino.
Sơ đồ kết nối cho Dự án Sonar dựa trên Arduino này được đưa ra dưới đây:
Sau khi kết nối được thực hiện, hãy gắn cảm biến Hoa Kỳ vào động cơ Servo của bạn như hình dưới đây:
Tôi đã sử dụng một miếng nhựa nhỏ bỏ đi và một miếng băng keo hai bên để gắn cảm biến. Bạn có thể đưa ra ý tưởng của riêng mình để làm điều tương tự. Ngoài ra còn có các bộ giữ servo có sẵn trên thị trường có thể được sử dụng cho cùng một mục đích.
Sau khi Servo được gắn và các Kết nối được cung cấp, nó sẽ trông giống như thế này.
Thực hiện theo các sơ đồ trên đầu trang nếu có bất kỳ kết nối sai. Bây giờ chúng ta hãy bắt đầu lập trình Arduino Mega bằng Arduino IDE.
Phần mềm Arduino:
Chúng tôi phải viết mã của mình để có thể tính toán khoảng cách giữa một vật thể và cảm biến Ultra Sonic và gửi nó đến ứng dụng di động của chúng tôi. Chúng tôi cũng phải viết mã để động cơ servo quét và cũng được kiểm soát từ dữ liệu nhận được bởi mô-đun Bluetooth. Nhưng đừng lo lắng, chương trình này đơn giản hơn nhiều so với những gì bạn có thể hình dung, nhờ vào Arduino và các thư viện của nó. Mã hoàn chỉnh được đưa ra bên dưới trong phần mã.
Chức năng bên dưới được sử dụng để làm cho động cơ servo tự động quét từ trái sang phải (170 đến 10) và một lần nữa từ phải sang trái (10 đến 170). Hai vòng lặp for được sử dụng để đạt được điều tương tự. Hàm us () được gọi bên trong cả hai hàm để tính toán khoảng cách giữa cảm biến và đối tượng và phát nó tới Bluetooth. Thời gian trễ 50 ms được đưa ra để làm cho servo quay chậm. Động cơ quay càng chậm thì kết quả đọc của bạn càng chính xác.
// ** Hàm cho servo quét ** // void servofun () {Serial.println ("Sweeping"); // để gỡ lỗi for (posc = 10; posc <= 170; posc ++) // Sử dụng 10 đến 170 độ là an toàn hơn 0 đến 180 vì một số servo có thể không hoạt động ở cực kỳ thiên thần {servo.write (posc); // đặt vị trí trễ động cơ servo (50); chúng ta(); // đo khoảng cách đối tượng sing cảm biến US} for (posc = 170; posc> = 10; posc--) {servo.write (posc); chậm trễ (50); chúng ta(); // đo khoảng cách các đối tượng cảm biến US} Serial.println ("Scan Complete"); // để gỡ lỗi flag = 0; } // ** Kết thúc chức năng quét Servo ** //
Như đã nói trước đó, động cơ servo cũng có thể được điều khiển bằng tay từ điện thoại thông minh. Bạn chỉ cần vuốt sang phải để làm cho động cơ di chuyển sang phải và vuốt sang trái để làm cho động cơ di chuyển sang trái. Chức năng trên được sử dụng để đạt được điều tương tự. Thiên thần của động cơ servo sẽ được mô-đun Bluetooth nhận trực tiếp và được lưu trữ trong BluetoothData có thể thay đổi, sau đó servo ở vị trí trong thiên thần cụ thể đó bằng cách sử dụng dòng servo.write (BluetoothData).
// ** Hàm điều khiển Servo bằng tay ** // void manualservo () {us (); // Nhận giá trị từ người dùng và điều khiển servo if (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("Đã viết"); if (BluetoothData == 'p') {flag = 0; }}} // __ Kết thúc chức năng điều khiển bằng tay __ //
Các khoảng cách hiện tại trước khi các đối tượng sẽ được tính bằng chức năng dưới đây. Nó hoạt động với một công thức đơn giản là Tốc độ = Khoảng cách / thời gian. Vì chúng ta biết tốc độ của sóng Hoa Kỳ và thời gian thực hiện quãng đường có thể được tính bằng cách sử dụng các công thức trên.
// ** Hàm đo khoảng cách ** // void us () {int length, distance; digitalWrite (trigPin, HIGH); delayMicroseconds (1000); digitalWrite (trigPin, LOW); thời lượng = xungIn (echoPin, CAO); khoảng cách = (thời lượng / 2) / 29,1; // Tính khoảng cách từ cảm biến if (khoảng cách <200 && khoảng cách> 0) Blueboy.write (khoảng cách); } // __ Kết thúc hàm đo khoảng cách __ //
Nếu bạn có bất kỳ nghi ngờ nào trong chương trình, vui lòng sử dụng phần bình luận cho các câu hỏi của bạn. Vì vậy, khi chúng ta đã sẵn sàng với mã của mình, chúng ta có thể kết xuất mã ngay lập tức vào phần cứng của mình. Nhưng thiết bị giám sát sẽ không bắt đầu hoạt động cho đến khi nó được kết nối với Ứng dụng Android. Cũng kiểm tra Video ở cuối để xem hoạt động hoàn chỉnh.
Ứng dụng di động Android cho Radar siêu âm:
Nếu bạn không muốn tạo ứng dụng của riêng mình và thay vào đó chỉ muốn cài đặt cùng một ứng dụng được sử dụng trong hướng dẫn này, bạn có thể làm theo các bước dưới đây.
1. Bạn có thể tải xuống trực tiếp tệp APK từ liên kết bên dưới. Tệp APK này được tạo cho Android phiên bản 4.4.2 trở lên (Kitkat ở trên). Giải nén tệp APK từ tệp zip.
Ứng dụng Android cho Radar siêu âm
2. Chuyển tệp.Apk từ máy tính sang điện thoại di động của bạn.
3. Cho phép cài đặt ứng dụng từ Nguồn không xác định trong cài đặt Android của bạn.
4. Cài đặt ứng dụng.
Nếu cài đặt thành công, bạn sẽ thấy ứng dụng có tên “Zelobt” được cài đặt trên điện thoại của mình như hình dưới đây:
Nếu bạn đã cài đặt APK này, thì bạn có thể bỏ qua phần bên dưới và chuyển sang phần tiếp theo.
Lập trình Ứng dụng của riêng bạn bằng Xử lý:
Bạn có thể sử dụng tệp.APK được cung cấp ở trên hoặc bạn có thể tạo ứng dụng của riêng mình bằng Xử lý như được giải thích ở đây. Với ít kiến thức về lập trình, bạn cũng có thể dễ dàng viết mã của riêng mình cho ứng dụng Android của mình. Tuy nhiên, nếu bạn mới bắt đầu thì không nên bắt đầu với mã này vì nó hơi cao so với trình độ mới bắt đầu.
Chương trình này sử dụng hai thư viện là “thư viện Ketai” và “thư viện ControlP5” . Thư viện ketai được sử dụng để kiểm soát tất cả phần cứng có bên trong điện thoại di động của chúng tôi. Thư viện này có thể dễ dàng truy cập những thứ như mức pin của điện thoại, giá trị cảm biến khoảng cách, giá trị cảm biến gia tốc, tùy chọn điều khiển Bluetooth, v.v. Trong chương trình này, chúng tôi sử dụng thư viện này để thiết lập giao tiếp giữa điện thoại Bluetooth và Arduino Bluetooth (HC-05). Các “ControlP5 thư viện” được sử dụng để đồ thị âm mưu cho hệ thống radar của chúng tôi.
Các chương trình trọn android được gắn, bạn có thể tải về từ đây.
THẬN TRỌNG: Đừng quên cài đặt các thư viện được đề cập ở trên và không sao chép, dán phần mã một mình, vì mã này nhập hình ảnh từ thư mục dữ liệu hoàn toàn được cung cấp trong tệp đính kèm ở trên. Do đó chỉ tải về và sử dụng.
Khi bạn đã hoàn tất phần mã hóa và đã biên dịch thành công, bạn có thể kết nối trực tiếp điện thoại di động với máy tính thông qua cáp dữ liệu và nhấp vào nút play để đưa ứng dụng vào điện thoại di động của bạn. Ngoài ra, hãy xem các Dự án xử lý khác của chúng tôi: Trò chơi Ping Pong sử dụng Arduino và Đài FM được điều khiển trên điện thoại thông minh bằng Xử lý.
Giải thích làm việc:
Bây giờ, chúng tôi đã sẵn sàng với phần cứng và phần mềm. Tăng sức mạnh cho phần cứng của bạn và ghép nối điện thoại di động của bạn với mô-đun Bluetooth. Sau khi được ghép nối, hãy mở ứng dụng “Zelobt” mà chúng tôi vừa cài đặt và bây giờ hãy đợi một giây và bạn sẽ thấy mô-đun Bluetooth (HC-05) tự động được kết nối với điện thoại thông minh của bạn. Khi kết nối được thiết lập, bạn sẽ nhận được màn hình sau:
Bạn có thể nhận thấy rằng nó cho biết đã kết nối với: Tên thiết bị (địa chỉ phần cứng) trên đầu màn hình. Nó cũng hiển thị thiên thần hiện tại của động cơ servo và khoảng cách giữa cảm biến Hoa Kỳ. Biểu đồ màu xanh lam cũng được vẽ trên nền màu đỏ dựa trên khoảng cách đo được. Vật thể càng đến gần thì vùng màu xanh lam càng cao. Đồ thị đo khi một số vật được đặt gần cũng được thể hiện trong hình thứ hai ở trên.
Như đã nói trước đó, bạn cũng có thể điều khiển động cơ servo từ ứng dụng di động của mình. Để làm những điều này, chỉ cần nhấp vào nút dừng. Điều này sẽ ngăn không cho servo của bạn quét tự động. Bạn cũng có thể tìm thấy một bánh xe tròn ở cuối màn hình mà khi vuốt sẽ xoay theo hướng đồng hồ hoặc ngược đồng hồ. Bằng cách vuốt bánh xe này, bạn cũng có thể làm cho động cơ servo của bạn quay theo hướng cụ thể đó. Bánh xe và biểu đồ được cập nhật khi vuốt được hiển thị trong hình bên dưới.
Mã Arduino được cung cấp bên dưới và tệp APK dành cho Ứng dụng android ở đây. Hoạt động của dự án hoàn chỉnh được hiển thị trong video dưới đây. Hy vọng bạn đã hiểu dự án. Nếu bạn có bất kỳ thắc mắc nào, vui lòng sử dụng phần bình luận bên dưới.