Mục lục:
- Bước 1: Những gì bạn sẽ cần
- Bước 2: Tài liệu
- Bước 3: Chuẩn bị hỗ trợ cảm biến siêu âm
- Bước 4: Gắn kết mọi thứ vào một bảng tạo mẫu
- Bước 5: Thực hiện các kết nối cuối cùng
- Bước 6: Khởi động chương trình
- Bước 7: Tìm hiểu mã C
- Bước 8: Tìm hiểu mã Java
- Bước 9: Kết luận
Video: Dự án 3: SonarDuino: 9 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Kính gửi các bạn cùng sở thích, Trong dự án này, chúng tôi sẽ khám phá khả năng có một hệ thống radar 360 độ để phát hiện vật thể. Việc đặt riêng mô-đun này sẽ cho phép rô-bốt vận động của bạn phát hiện ranh giới của môi trường xung quanh. Nó cũng có thể hoạt động như một công cụ điều hướng khi trời tối, nhưng chỉ khi bạn đi đủ chậm; p
Bước 1: Những gì bạn sẽ cần
Để tạo bản dựng này, bạn sẽ cần mua những thứ sau:
Arduino Nano: https://www.ebay.com/itm/USB-Nano-V3-0-ATmega328-16M-5V-Micro-controller-CH340G-board-For-Arduino/201601613488?hash=item2ef0647eb0:g:DkoAAOSwvYZZpOl0: rk: 2: pf: 0
Bảng nguyên mẫu: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Prototype-PCB-Board/192076517108?epid=506557101&hash=item2cb8a70ef4:g:cQ4AAOSwN ~ Zbl232: rk: 13: pf: 0
Động cơ Servo: https://www.ebay.com/itm/5pcs-POP-9G-SG90-Micro-Servo-motor-RC-Robot-Helicopter-Airplane-Control-Car-Boat/142931003420?hash=item21475a081c:rk: 16: pf: 0 & var
Cảm biến siêu âm: https://www.ebay.com/itm/5PCS-Ultrasonic-Sensor-Module-HC-SR04-Distance-Measuring-Sensor-for-arduino-SR04/170897438205?epid=18020663283&hash=item27ca47f5fd:g:w ~ IAAOSw - xbD5Fp: rk: 2: pf: 0
Bước 2: Tài liệu
Như một số bạn có thể đã biết điều này, dự án này được lấy cảm hứng từ một dự án mã nguồn mở khác có tên “Dự án Arduino Radar” do Dejan thực hiện từ “How to Mechatronics” @ link sau: https://howtomechatronics.com/projects/arduino -radar-dự án /
Một điểm khác yêu cầu tài liệu là tải hai thư viện sau vào môi trường phát triển của bạn:
Adafruit-GFX-Thư viện:
Adafruit_SSD1306:
Điều này đang được nói, để thực sự hiểu mã C, bạn sẽ cần phải làm một số tài liệu của cả hai thư viện trên. Ngoài ra, các chức năng tôi đã sử dụng trong mã của mình có tên kể về những gì chúng làm.
Bước 3: Chuẩn bị hỗ trợ cảm biến siêu âm
Lấy một miếng bìa cứng bất kỳ và cắt nó theo kích thước của cáp kết nối gắn với cảm biến như trong hình đầu tiên. Sau đó, gấp cuối cùng này và dán nó vào giá đỡ động cơ servo. Sau khi hoàn tất, hãy dán hai cảm biến siêu âm theo hình cuối cùng. Lưu ý rằng đầu cắm của các cảm biến phải được hàn theo cách để cáp đi ra ngoài phía trước cảm biến. Điều này sẽ cho phép các cáp cảm biến không giao thoa với nhau khi thực hiện xoay 360 độ.
Bước 4: Gắn kết mọi thứ vào một bảng tạo mẫu
Trong bước này, bạn sẽ bắt đầu bằng cách gắn tiêu đề đã chuẩn bị ở bước trước vào động cơ servo tương ứng của nó. Một khi động cơ servo đã quen thuộc một cách cẩn thận, bạn sẽ gắn mọi thứ lại với nhau thành một bảng tạo mẫu. Bạn sẽ bắt đầu bằng cách hàn Arduino Nano sau đó bằng cách dán servo ngay bên cạnh nó. Cuối cùng, bạn sẽ hàn màn hình OLED nhỏ ở cạnh bên kia của bảng.
Bước 5: Thực hiện các kết nối cuối cùng
Bước này sẽ kết thúc phần cứng của dự án này. Bạn sẽ cần làm theo các sơ đồ được cung cấp để thiết lập tất cả các kết nối cần thiết.
Bước 6: Khởi động chương trình
Có hai mã mà bạn sẽ cần để khởi động
Arduino (C):
Đang xử lý (java):
Khi chạy mã, bạn sẽ có hai tùy chọn để lựa chọn:
Tùy chọn 1: Sử dụng Màn hình OLED, bạn sẽ cần đặt biến MODE trong mã C thành 0.
Tùy chọn 2: Sử dụng Màn hình của bạn, vì vậy bạn sẽ cần đặt biến MODE trong mã C thành 1. Ngoài ra, bạn sẽ cần tải xuống và cài đặt Môi trường phát triển xử lý và tải xuống phông chữ radar từ liên kết này: https:// github.com/l addressab/ArduinoRadar/blob/ma…
Và thêm tệp đó vào tệp mã xử lý của bạn để mã java của bạn sẽ nhận ra phông chữ khi được gọi.
Bước 7: Tìm hiểu mã C
Mã chủ yếu bao gồm hai vòng lặp "for". Một là tương quan với đường chuyền về phía trước trong khi đường kia tương quan với đường chuyền lùi. Bên trong cả hai, hàm chính draw_scanner (), sẽ vẽ các đường của radar lên màn hình, được gọi nhiều lần. Sau khi thử nghiệm nhiều cấu hình, tôi đi đến kết luận rằng chúng ta cần ghi đè các vạch radar màu trắng tại thời điểm t bằng các vạch radar màu đen tương tự tại thời điểm t + 1 để xóa chúng. Nếu không, hiện tượng nhấp nháy sẽ xảy ra mỗi khi bạn làm sạch màn hình bằng chức năng “clearDisplay ()” trước khi đẩy lưới pixel mới. Khi tôi xử lý 7 dòng - vì mục đích thiết kế - tôi phải tiếp tục lưu và chuyển mảng số nguyên gồm 7 phần tử, trong đó mỗi phần tử đại diện cho bán kính giữa tâm của radar đến đối tượng được phát hiện, nếu có. Với suy nghĩ này, phần còn lại của mã nên được chuyển tiếp để hiểu.
Bước 8: Tìm hiểu mã Java
Trong Xử lý, tôi phải bỏ qua lệnh gọi hàm serialEvent (), chỉ hoạt động với các cổng nối tiếp có tên COM. Khi tôi đang làm việc trên máy Mac, các cổng nối tiếp của tôi có một tên khác. Điều đó đang được nói, tôi đã giải nén hàm đó thành hàm chính trong xử lý “draw ()”. Về mọi thứ khác, tôi đã cập nhật ứng dụng để đáp ứng thiết kế cuộc cách mạng đầy đủ. Cuối cùng, tôi đã cập nhật tất cả các hình dạng và văn bản đã vẽ theo chiều rộng của màn hình để sản phẩm cuối cùng sẽ phù hợp với các độ phân giải màn hình khác nhau. Cá nhân tôi đã thử nghiệm nó cho cả độ phân giải 1000X1000 và 500X500, và nó hoạt động tốt:).
Bước 9: Kết luận
Công việc này có thể được nâng cấp để có 3 cảm biến Siêu âm, mỗi cảm biến bao phủ 120 góc nhìn, hoặc thậm chí 4 cảm biến (90 độ * 4) -> 360 độ nhanh hơn. quét.
Bạn cũng có thể mở rộng phạm vi hoạt động của radar từ 40 cm đến 60 cm hoặc thậm chí 80 cm. Cá nhân tôi đã kiểm tra chức năng xungIn và điều chỉnh biến TIMEOUT đối với 40 cm. Biến này phụ thuộc vào nhiều yếu tố, bao gồm độ dài của xung gửi và bề mặt của đối tượng nơi xung được phản xạ.
Cuối cùng như đã nêu trước đó, bước tiếp theo là kết hợp radarDuino với một robot chuyển động để quét chu vi xung quanh.
Đề xuất:
Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: 6 bước
Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: Trong phần Hướng dẫn nhanh này, chúng tôi sẽ tạo một bộ điều khiển động cơ bước đơn giản bằng cách sử dụng động cơ bước. Dự án này không yêu cầu mạch phức tạp hoặc vi điều khiển. Vì vậy, không cần thêm ado, chúng ta hãy bắt đầu
Động cơ bước được điều khiển Động cơ bước không có vi điều khiển (V2): 9 bước (có hình ảnh)
Động cơ bước được điều khiển bằng động cơ bước Không cần vi điều khiển (V2): Trong một trong những Hướng dẫn trước đây của tôi, tôi đã chỉ cho bạn cách điều khiển động cơ bước bằng cách sử dụng động cơ bước mà không cần vi điều khiển. Đó là một dự án nhanh chóng và thú vị nhưng nó đi kèm với hai vấn đề sẽ được giải quyết trong Có thể hướng dẫn này. Vì vậy, hóm hỉnh
Đầu máy mô hình điều khiển động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Đầu máy mô hình điều khiển động cơ bước | Động cơ bước làm bộ mã hóa quay: Trong một trong những phần Hướng dẫn trước, chúng ta đã học cách sử dụng động cơ bước làm bộ mã hóa quay. Trong dự án này, bây giờ chúng ta sẽ sử dụng bộ mã hóa quay động cơ bước đó để điều khiển đầu máy mô hình bằng vi điều khiển Arduino. Vì vậy, không có fu
Âm thanh bay bổng với Arduino Uno Từng bước (8 bước): 8 bước
Acoustic Levitation With Arduino Uno Step-by-by-by (8 bước): bộ chuyển đổi âm thanh siêu âm L298N Dc cấp nguồn cho bộ chuyển đổi âm thanh nữ với chân cắm một chiều nam Arduino UNOBreadboard Cách hoạt động: Đầu tiên, bạn tải mã lên Arduino Uno (nó là một vi điều khiển được trang bị kỹ thuật số và các cổng tương tự để chuyển đổi mã (C ++)
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy