Mục lục:
- Bước 1: Các thành phần bạn cần
- Bước 2: Kết nối động cơ với tấm chắn động cơ L293D
- Bước 3: Arduino Uno, Lắp ráp lá chắn động cơ
- Bước 4: Kết nối nguồn với Banana Pi và Arduino
- Bước 5: Đặt Banana Pi vào Vỏ in 3D, Lắp ráp các phần còn lại của Rover
- Bước 6: Hoàn tất quá trình lắp ráp phần cứng
- Bước 7: Cấu hình hệ thống
- Bước 8: Khởi động phần mềm
- Bước 9: Tín dụng
Video: Banana / Raspberry Pi + Arduino Rover Với Webcam: 9 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Một dự án tôi đã thực hiện trong thời gian rảnh rỗi. Nó là một robot 4 bánh toàn thời gian được điều khiển thông qua giao diện web. Nếu bạn có bất kỳ ý kiến hoặc câu hỏi xin vui lòng liên hệ với tôi. Bản thân dự án này sử dụng các bộ phận in 3D và một số đoạn mã do người khác tạo ra. Bạn có thể tìm các khoản tín dụng và xem qua các phần gốc ở cuối phần hướng dẫn.
Chúng ta bắt đầu chứ?
Bước 1: Các thành phần bạn cần
Đây là danh sách các thành phần tôi đã sử dụng với các liên kết và các lựa chọn thay thế. Tôi sống ở Thâm Quyến, Trung Quốc và tôi đã mua các bộ phận trực tiếp trên Taobao.
Khung robot 4 động cơ Thay thế: Bất kỳ khung gầm đủ lớn nào cũng được. Cái này có 4 động cơ để tăng thêm một số mô-men xoắn. Động cơ là động cơ màu vàng giá rẻ thông thường, rater cho
L293D Arduino Motor Shield rev.1 clone Thay thế: Tấm chắn động cơ tốt hơn được đánh giá cho nhiều dòng điện hơn
Arduino Uno clone Thay thế: Bạn có thể sử dụng bất kỳ bảng Arduino nào khác mà không có thay đổi đáng kể nào đối với mã.
Pin Pb 6V 4,5Ah Thay thế: Có thể thử nghiệm với pin LiPo nhỏ hơn nếu bạn muốn robot nhẹ hơn / chỉ sử dụng hai động cơ.
Banana Pi Alternative: Có thể hoán đổi lấy Raspberry Pi 1/2/3 hoặc Orange Pi mà không cần thay đổi mã đáng kể. Tôi chỉ sử dụng Banana Pi vì tôi có một cái nằm xung quanh.
Máy ảnh web Thay thế: Sử dụng máy ảnh CSI cho Raspberry Pi / Banana Pi / Orange Pi
Ngàm xoay / nghiêng máy ảnh với servo sg60 Thay thế: Ví dụ: có thể sử dụng ngàm xoay / nghiêng của In 3D Print.
Các bộ phận in 3D Thay thế: Hãy để trí tưởng tượng và tài năng thiết kế 3D hướng dẫn bạn! Ngoài ra Thingverse:)
Bước 2: Kết nối động cơ với tấm chắn động cơ L293D
Kết nối mỗi động cơ với các đầu cuối vít lá chắn động cơ. Đây là sơ đồ đấu dây. Nếu bạn chỉ có hai động cơ và không muốn thay đổi mã, hãy gắn chúng vào MOTOR 1 và MOTOR 3.
LƯU Ý: Đối với những người sử dụng các động cơ khác nhau có định mức dòng điện cao hơn, bạn có thể cần một trình điều khiển động cơ khác. Ngoài ra, một mẹo nhỏ thú vị mà tôi đã học được gần đây là bạn có thể cõng thêm hai trình điều khiển L293D trên đầu trình điều khiển hiện có (đó là chip giữa trên bảng)!
Bước 3: Arduino Uno, Lắp ráp lá chắn động cơ
Đặt Arduino Uno vào trong trường hợp và cài đặt Motor Shield lên trên nó. Chỉ có một cách để làm điều đó, nếu nó không phù hợp, bạn đang làm điều gì đó-ting wong!
Arduino Uno Snug Case
Đây là trường hợp tôi đã sử dụng, mô hình do Esquilo tạo ra.
Bước 4: Kết nối nguồn với Banana Pi và Arduino
Tôi đã sử dụng giao diện SATA để cung cấp điện cho Banana Pi (6v). Nếu bạn có cùng một bảng, bạn cũng có thể làm điều đó, chỉ cần đảm bảo điện áp là 5v-6v. Đó là nguồn cung cấp điện không được kiểm soát, vì vậy tôi giả sử có một mạch bảo vệ cho nguồn SATA trên Banana Pi M1.
LƯU Ý: Đối với Raspberry Pi, bạn có một vài lựa chọn: một lựa chọn an toàn (sử dụng đầu nối USB để cung cấp 5v) và một lựa chọn không an toàn (sử dụng chân GPIO). Đây là liên kết để đọc về cách kết nối nguồn với các chân GPIO của Raspberry Pi. Hãy chắc chắn rằng bạn
1) Sử dụng nguồn điện được quy định
2) Đặt điện áp thành 5v
Không có mạch bảo vệ cho chân GPIO! Nếu bạn làm sai điều gì đó, rất có thể sẽ làm hỏng các thiết bị điện tử trên bo mạch.
Đối với Arduino, chỉ cần đấu dây nguồn vào các cực vít đầu vào trên tấm chắn động cơ. Nó có thể mất đến 12v.
Bước 5: Đặt Banana Pi vào Vỏ in 3D, Lắp ráp các phần còn lại của Rover
Tôi đã sử dụng trường hợp này cho Banana Pi từ thingverse, được tạo bởi GermanRobotics. Bìa cho nó tôi tự làm.
Đặt Banana Pi vào hộp, đậy nắp lại, dùng súng bắn keo gắn Arduino Uno lên trên hộp Banana Pi.
Đậy pin bằng nắp này và gắn kết nối xoay / nghiêng web cam lên trên cùng.
Nếu bạn đang sử dụng Banana Pi, bạn sẽ cần một bộ chia USB, vì nó chỉ có hai khe cắm USB (Raspberry 2, 3 có bốn). Hoàn toàn không lo lắng về thẩm mỹ, tôi quyết định sử dụng bộ chia USB OTG 1-2 và giấu dây bên trong vỏ Banana Pi.
Bước 6: Hoàn tất quá trình lắp ráp phần cứng
Hãy nhanh chóng tóm tắt những gì chúng tôi đã làm cho đến nay.
Chúng tôi đã lắp ráp nền tảng robot, kết nối nguồn điện với Banana Pi, Arduino Uno, kết nối động cơ và servo với trình điều khiển động cơ và sử dụng bộ chia USB để kết nối máy ảnh USB và Arduino Uno với Banana Pi. Bây giờ bạn có thể kiểm tra và khắc phục sự cố phần cứng. Sơ đồ đấu dây hiển thị tất cả các kết nối là hình ảnh cho bước này.
Bước 7: Cấu hình hệ thống
Tôi đã sử dụng hình ảnh Raspbian Lite cho hệ thống trên pi của mình. Phiên bản Lite không có GUI và chỉ đi kèm với các gói cơ bản cho mỗi lần cài đặt. Nhưng nó chiếm ít dung lượng hơn nhiều, có nghĩa là chúng ta có thể sử dụng thẻ SD nhỏ hơn. Nếu bạn không thoải mái khi không có GUI, bạn cũng có thể cài đặt toàn bộ hình ảnh.
Kết nối số pi của bạn với Internet bằng cáp Ethernet. Sau khi nó khởi động, bước đầu tiên là kết nối nó với Wi-Fi.
Chạy lệnh sau trong thiết bị đầu cuối
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Chỉnh sửa tệp cấu hình thành bằng thông tin đăng nhập WiFi của bạn
mạng = {ssid = "testing" psk = "testingPassword"}
Khởi động lại pi. Thì đấy! Bạn hiện đã kết nối với Wi-Fi.
Tiếp theo, chúng ta sẽ cần cài đặt pip (Trình quản lý gói Python)
sudo apt-get install python-setuptools
sudo easy_install pip
Bây giờ chúng ta sử dụng pip để cài đặt Flask để chạy máy chủ web và pyserial để pi giao tiếp với Arduino qua kết nối nối tiếp.
sudo pip cài đặt bình
sudo pip cài đặt pyserial
Điều cuối cùng sẽ là cài đặt và cấu hình gói chuyển động, mà chúng tôi sử dụng để phát trực tuyến video từ webcam của mình.
Làm theo hướng dẫn tuyệt vời này để làm điều này.
Bây giờ chúng tôi đã sẵn sàng để ầm ầm!
Bước 8: Khởi động phần mềm
Hãy nhớ cách tôi đã nói rằng chúng ta đã sẵn sàng để ầm ĩ?
Được rồi, mài thêm một chút nữa và sau đó chúng ta có thể bắt đầu ầm ầm:)
Hãy tải xuống tất cả các tệp cần thiết từ kho lưu trữ github của tôi.
git clone
Tải rover.ino lên Arduino Uno. Nếu bạn đã thực hiện các thay đổi phần cứng (ví dụ: bằng cách sử dụng lá chắn động cơ khác), bạn cần phải thay đổi bản phác thảo.
Nếu bạn đang sử dụng web cam, hãy sửa đổi dòng gần cuối tệp index.html trong thư mục mẫu. Thay đổi URL trong dòng IFRAME để khớp với URL src cho luồng video của bạn.
Bây giờ bạn có thể khởi động máy chủ web. Chạy lệnh sau
sudo python pi_rover.py
Nếu bạn đã theo dõi quá trình xây dựng của tôi rất gần và đã kết nối Arduino, bạn sẽ thấy phần sau (hình đầu tiên) trong thiết bị đầu cuối.
Nhập địa chỉ ip của rô bốt của bạn vào trình duyệt web (ví dụ trong trường hợp của tôi là 192.168.1.104), bạn có thể kiểm tra địa chỉ ip bằng lệnh $ ifconfig trên Linux.
/ nhảy ăn mừng ở đây! /
Nếu bạn có bất kỳ câu hỏi nào, hãy hỏi tôi trong phần bình luận. Hướng dẫn này dành cho người mới bắt đầu, nhưng không phải là người mới bắt đầu, đó là lý do tại sao tôi đã trình bày khá ngắn gọn về những thứ bạn có thể chỉ cần google (ví dụ: ghi hình ảnh hệ thống vào thẻ SD, tải lên bản phác thảo Arduino, v.v.).
Bước 9: Tín dụng
Ý tưởng và mã máy chủ web đến từ tài liệu hướng dẫn tuyệt vời này của jscottb. Tôi đã sửa đổi nó để sử dụng phần cứng phổ biến hơn, như Arduino Uno.
Các bộ phận được in 3D từ Thingverse.
www.thingiverse.com/thing:994827
www.thingiverse.com/thing:2816536/files
www.thingiverse.com/thing:661220
Đề xuất:
Kiểm soát độ sáng của đèn LED với chiết áp với Arduino: 3 bước
Điều khiển độ sáng của đèn LED bằng chiết áp Với Arduino: Trong dự án này, chúng ta sẽ điều khiển độ sáng của đèn LED bằng cách sử dụng điện trở thay đổi được cung cấp bởi chiết áp. Đây là một dự án rất cơ bản cho người mới bắt đầu nhưng nó sẽ dạy cho bạn nhiều điều về chiết áp và hoạt động của đèn LED, những thứ cần thiết để tạo ra
Tất cả bộ thu băng tần với SI4732 / SI4735 (FM / RDS, AM và SSB) Với Arduino: 3 bước
Bộ thu tất cả băng tần với SI4732 / SI4735 (FM / RDS, AM và SSB) Với Arduino: Đây là một dự án bộ thu tất cả băng tần. Nó sử dụng Thư viện Arduino Si4734. Thư viện này có hơn 20 ví dụ. Bạn có thể nghe FM với RDS, đài AM cục bộ (MW), đài SW và đài nghiệp dư (SSB). Tất cả tài liệu ở đây
PWM Với ESP32 - Làm mờ đèn LED với PWM trên ESP 32 Với Arduino IDE: 6 bước
PWM Với ESP32 | Làm mờ LED với PWM trên ESP 32 Với Arduino IDE: Trong hướng dẫn này, chúng ta sẽ thấy cách tạo tín hiệu PWM với ESP32 bằng Arduino IDE & PWM về cơ bản được sử dụng để tạo ra đầu ra tương tự từ bất kỳ MCU nào và đầu ra tương tự có thể là bất kỳ thứ gì trong khoảng từ 0V đến 3,3V (trong trường hợp esp32) & từ
Bắt đầu với Esp 8266 Esp-01 Với Arduino IDE - Cài đặt Bo mạch Esp trong Arduino Ide và Lập trình Esp: 4 bước
Bắt đầu với Esp 8266 Esp-01 Với Arduino IDE | Cài đặt bo mạch Esp-01 trong Arduino Ide và Lập trình Esp: Trong phần hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt bo mạch esp8266 trong Arduino IDE và cách lập trình esp-01 và tải lên mã trong đó. điều này và hầu hết mọi người đều phải đối mặt với vấn đề
Robot FPV Rover được điều khiển bằng Wi-fi (với Arduino, ESP8266 và Động cơ bước): 11 bước (có Hình ảnh)
Robot FPV Rover được điều khiển bằng Wi-fi (với Arduino, ESP8266 và Động cơ bước): Tài liệu hướng dẫn này cho thấy cách thiết kế robot hai bánh điều khiển từ xa qua mạng wi-fi, sử dụng Arduino Uno được kết nối với mô-đun Wi-fi ESP8266 và hai động cơ bước. Robot có thể được điều khiển từ một mạng Internet thông thường