Mục lục:

Banana / Raspberry Pi + Arduino Rover Với Webcam: 9 bước
Banana / Raspberry Pi + Arduino Rover Với Webcam: 9 bước

Video: Banana / Raspberry Pi + Arduino Rover Với Webcam: 9 bước

Video: Banana / Raspberry Pi + Arduino Rover Với Webcam: 9 bước
Video: 5 Dự Án Nổi Bật với Raspberry Pi trong năm 2022 2024, Tháng bảy
Anonim
Banana / Raspberry Pi + Arduino Rover có Webcam
Banana / Raspberry Pi + Arduino Rover có Webcam

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

Các thành phần bạn cần
Các thành phần bạn cần
Các thành phần bạn cần
Các thành phần bạn cần
Các thành phần bạn cần
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 động cơ với tấm chắn động cơ L293D
Kết nối động cơ với tấm chắn động cơ L293D
Kết nối động cơ với tấm chắn động cơ L293D
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ơ

Arduino Uno, Lắp ráp lá chắn động cơ
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

Kết nối nguồn với Banana Pi và Arduino
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 Banana Pi vào Vỏ in 3D, Lắp ráp các phần còn lại của Rover
Đặt Banana Pi vào Vỏ in 3D, Lắp ráp các phần còn lại của Rover
Đặt Banana Pi vào Vỏ in 3D, Lắp ráp các phần còn lại của Rover
Đặ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

Đã hoàn tất quá trình lắp ráp phần cứng!
Đã 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

Cấu hình hệ thông
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

Khởi động phần mềm
Khởi động phần mềm
Khởi động phần mềm
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: