Mục lục:

Robot ném kẹo với Arduino, các bộ phận tái chế và Dlib.: 6 bước
Robot ném kẹo với Arduino, các bộ phận tái chế và Dlib.: 6 bước

Video: Robot ném kẹo với Arduino, các bộ phận tái chế và Dlib.: 6 bước

Video: Robot ném kẹo với Arduino, các bộ phận tái chế và Dlib.: 6 bước
Video: Để làm được Robot thì cần trang bị những gì ??? 2024, Tháng mười một
Anonim
Robot ném kẹo với Arduino, các bộ phận tái chế và Dlib
Robot ném kẹo với Arduino, các bộ phận tái chế và Dlib

Với một vài bộ phận tái chế, tấm chắn động cơ Arduino + và phần mềm máy tính Dlib, bạn có thể tạo ra một chiếc máy ném kẹo nhận diện khuôn mặt đang hoạt động.

Vật liệu:

  • Khung gỗ
  • Máy tính xách tay / máy tính (tốt nhất là một máy tính xách tay mạnh hơn Raspberry Pi!).
  • Arduino (Tốt hơn là Uno hoặc một cái phù hợp với tấm chắn động cơ của bạn.)
  • Tấm chắn động cơ Arduino (Tôi đã sử dụng tấm chắn Adafruit cũ, vẫn được bán ở đây)
  • Bất kỳ webcam tiêu chuẩn nào
  • Máy giặt nhỏ

Các bộ phận tái chế:

  • Vỏ bọc (hộp kim loại cũ hoạt động tốt.)
  • Động cơ bước, động cơ DC từ máy in cũ tháo rời.
  • Bộ nguồn máy in cũ
  • Hộp đựng kẹo (Hộp đựng sữa chua lớn).

Các phần bên trong của thành phẩm sẽ giống như tổng quan đính kèm.

Cảnh báo

Đảm bảo rằng bạn đã rút nguồn điện để thiết lập Arduino / động cơ trước khi đấu dây / quấn lại. Đảm bảo cắm nguồn đúng cực!

Đây là một dự án cấp độ trung cấp sử dụng Arduino và phần mềm bạn cần cài đặt hoặc biên dịch trên máy tính của mình. Các hướng dẫn có thể khác nhau và đã được thử nghiệm hoạt động trên Ubuntu.

Bạn có thể cần điều chỉnh mã Arduino thành bất kỳ tấm chắn động cơ nào bạn đang sử dụng, nếu bạn không sử dụng tấm chắn động cơ Adafruit cũ.

Bước 1: Khoan, kết nối và lắp động cơ

Máy khoan, kết nối và gắn động cơ
Máy khoan, kết nối và gắn động cơ
Máy khoan, kết nối và gắn động cơ
Máy khoan, kết nối và gắn động cơ

Khoan các lỗ trên vỏ, gắn động cơ bước để webcam có thể di chuyển xung quanh trên cùng và bộ phân phối có thể xoay xung quanh ở phía dưới.

Động cơ bước có thể di chuyển theo từng bước nhỏ (4 dây), không giống như động cơ DC (2 dây) chạy lùi / tiến, không chạy theo bước.

Động cơ DC có 2 dây (chạy một trong hai chiều), động cơ bước tùy chọn sẽ có 4 trong hai cuộn dây (kiểm tra với đồng hồ đo điện trở vạn năng để xem nơi các cuộn dây được nối, như mô tả ở đây.)

Nếu bạn đang sử dụng tấm chắn Adafruit cũ như trong ví dụ của tôi, bạn nên kết nối động cơ máy quay kẹo DC với động cơ số 3 và bước với hai động cơ đầu tiên (# 1, # 2) như được mô tả trong tài liệu của họ.

Sau khi được kết nối, hãy đấu dây động cơ vào Lá chắn động cơ Arduino được gắn với Arduino. Để có kết quả tốt nhất, bạn nên có nguồn điện thứ hai cho các động cơ, bạn có thể đấu dây tới đầu ra DC trên một chiếc ổ cắm trên tường trị giá 2 đô la từ một cửa hàng đồ cũ.

Bước 2: Gắn hộp chứa

Gắn hộp chứa
Gắn hộp chứa
Gắn hộp chứa
Gắn hộp chứa
Gắn hộp chứa
Gắn hộp chứa
Gắn hộp chứa
Gắn hộp chứa

Đo phần giữa của hộp đựng sữa chua hoặc hộp nhựa lớn khác và khoan một phần giữ chỉ lớn hơn phần cuối của động cơ.

Gắn hộp vào hộp bằng máy rửa nhỏ - Krazy-dán keo vào đáy hộp và vào trục xoay của động cơ điện.

Để keo khô trong một hoặc hai ngày để keo hoàn toàn đóng rắn - bạn có thể đặt một miếng đệm nhỏ giữa hộp và thùng quay để đảm bảo keo không bị cong.

Bước 3: Tạo một lỗ nhỏ cho máy ném kẹo

Tạo một lỗ nhỏ cho người ném kẹo
Tạo một lỗ nhỏ cho người ném kẹo

Sau khi con quay được gắn đúng cách, hãy dùng đầu của một con dao sắc để vạch một lỗ nhỏ để kẹo có thể văng ra khỏi đầu - lỗ này nằm ngay phía trên đáy, nơi có môi.

(Để có kết quả tốt nhất, có thể cho khoảng 30 viên kẹo vào phần cuối nắp của máy phân phối, phần này sẽ là phần dưới cùng.)

Tiếp tục vạch ra nhẹ nhàng bằng dao sắc cho đến khi nó bật ra, để lại một lỗ nhỏ (bạn có thể mở rộng lỗ sau đó nếu cần).

Bước 4: Thiết lập Arduino

Nếu bạn chưa cài đặt phần mềm Arduino, hãy tải xuống từ

www.arduino.cc/en/Main/Software

Bất kỳ phiên bản gần đây sẽ hoạt động.

Kiểm tra động cơ DC / Bước với các ví dụ được đưa ra trong mã ví dụ của Arduino Shield của bạn.

Nếu bạn tình cờ sử dụng lá chắn này (vẫn có sẵn từ một số người bán lại), bạn có thể sử dụng mã của tôi trực tiếp:

github.com/programmin1/HowToTrainYourRobot…

Khi bạn đã kiểm tra và có thể phân phối kẹo bằng cách nhập "d" trong cửa sổ nối tiếp Arduino, đã đến lúc kết nối thiết bị này với trình nhận dạng của Dlib.

Bước 5: Thiết lập Dlib

Dlib (https://dlib.net/) cung cấp một thư viện mã nguồn mở, dễ sử dụng để nhận dạng hình ảnh. Cài đặt mô-đun Python Dlib bằng cách sử dụng:

sudo pip cài đặt Dlib

- hoặc -

sudo easy_install Dlib

Chờ Dlib cài đặt và biên dịch. (Bạn sẽ cần một máy tính tốt nhất là một vài GB RAM, nếu không bạn sẽ cần đợi một thời gian dài và mở rộng không gian hoán đổi). Mã cũng sử dụng OpenCV cho mô-đun webcam, vì vậy hãy chạy:

sudo apt-get install python-opencv

Các bước cài đặt có thể khác nhau nếu bạn sử dụng MacOS hoặc các hệ điều hành khác.

Bây giờ lấy dữ liệu mốc phát hiện khuôn mặt từ

dlib.net/files/shape_predictor_68_face_land…

Giải nén nó (với Trình quản lý lưu trữ / 7zip) và đặt nó vào HOME / Downloads / shape_predictor_68_face_landmarks.dat

Bước 6: Kết nối trình nhận dạng khuôn mặt với Robot của bạn

Kết nối trình nhận dạng khuôn mặt với Robot của bạn
Kết nối trình nhận dạng khuôn mặt với Robot của bạn

Cắm USB điều khiển Arduino vào máy tính và xác minh rằng tệp "/ dev / ttyACM0" tồn tại (đây là thiết bị để gửi các lệnh nối tiếp đến). Nếu nó không hoạt động và một thư mục có tên tương tự khác hiển thị trong / dev khi bạn cắm nó, hãy thay thế / dev / ttyACM0 trong tệp faceDetectThreadCorrelationCV2FaceSmile.py trong repo.

Cắm webcam (nếu không có webcam tích hợp trong máy tính bạn đang sử dụng) và chạy tệp.py đó trong dòng lệnh hoặc bằng lệnh Run / F5 trong trình soạn thảo văn bản Geany. Nếu bạn muốn sử dụng webcam thứ hai / bên ngoài trên máy tính xách tay, bạn có thể muốn thay đổi "VideoCapture (0)" thành "VideoCapture (1)" để sử dụng webcam thứ hai mà bạn có thể đặt trên động cơ bước ở phía trên hộp của rô bốt.

Nếu mọi việc suôn sẻ, bạn sẽ thấy đường viền của một nụ cười khi một khuôn mặt ở trước webcam.

Đọc tổng quan và mã nguồn của tệp.py để xem toán học về cách phát hiện nụ cười hoạt động từ các điểm mà Dlib cung cấp từ chức năng mốc khuôn mặt.:)

Đề xuất: