Mục lục:

Cánh tay robot với mô-đun Zio Phần 2: 11 bước
Cánh tay robot với mô-đun Zio Phần 2: 11 bước

Video: Cánh tay robot với mô-đun Zio Phần 2: 11 bước

Video: Cánh tay robot với mô-đun Zio Phần 2: 11 bước
Video: Căn Nhà Ma | Thám Tử Sê Lốc Huy 30 2024, Tháng bảy
Anonim
Cánh tay robot với mô-đun Zio Phần 2
Cánh tay robot với mô-đun Zio Phần 2

Trong hướng dẫn hôm nay, chúng ta sẽ sử dụng tất cả 4 servo và bộ điều khiển không dây PS2 để điều khiển cánh tay robot.

Bài đăng trên blog này là một phần của Zio Robotics Series.

Giới thiệu

Trong blog trước của chúng tôi, chúng tôi đã đăng phần 1 hướng dẫn về cách điều khiển Cánh tay robot bằng cách sử dụng mô-đun Zio. Phần 1 chủ yếu tập trung vào việc tự động điều khiển Robotic Arm’s Claw của bạn để mở và đóng.

Trong hướng dẫn hôm nay, chúng tôi sẽ cải thiện một chút bằng cách bao gồm một bộ điều khiển không dây PS2 để điều khiển Cánh tay robot. Đối với dự án này, chúng tôi sẽ sử dụng 4 servo.

Bước 1: Tổng quan về dự án

Cấp độ khó:

Zio Padawan

Các nguồn hữu ích:

Bạn nên có hiểu biết cơ bản về cách cài đặt bảng phát triển Zio. Trong hướng dẫn này, chúng tôi giả định rằng bảng phát triển của bạn đã được định cấu hình và sẵn sàng thiết lập. Nếu bạn chưa định cấu hình bo mạch của mình, hãy xem hướng dẫn Hướng dẫn bắt đầu Zio Qwiic của chúng tôi bên dưới để bắt đầu:

Hướng dẫn Bắt đầu Zio Zuino M UNO Qwiic

Bước 2: Sơ đồ

Sơ đồ
Sơ đồ

Đây là Sơ đồ đấu dây của Dự án Cánh tay robot Phần 2 cũng như sơ đồ Bộ điều khiển PS2 cần thiết để hiểu cho phần viết mã của bạn.

Bước 3: Sơ đồ bộ điều khiển PS2

Sơ đồ bộ điều khiển PS2
Sơ đồ bộ điều khiển PS2

Bước 4: Thiết lập kết nối mô-đun Zio

Dưới đây là kết nối của các mô-đun Zio của chúng tôi được thiết lập với Cánh tay robot. Việc kết nối tất cả các mô-đun với nhau khá dễ dàng và sẽ không mất quá 10 phút để thiết lập.

Bước 5: Kết nối Robot cánh tay Servo với Bộ điều khiển Servo Zio 16

Kết nối Servo cánh tay robot với Bộ điều khiển Servo Zio 16
Kết nối Servo cánh tay robot với Bộ điều khiển Servo Zio 16

Bước 6: Kết nối Servo 16 của bạn với DC / DC Booster và đặt nó ở 6.0V

Kết nối Servo 16 của bạn với DC / DC Booster và đặt nó ở 6.0V
Kết nối Servo 16 của bạn với DC / DC Booster và đặt nó ở 6.0V

Chúng tôi sử dụng Bộ tăng cường DC / DC để tăng và điều chỉnh điện áp cung cấp cho pin thành 6,0.

Sử dụng chiết áp trên DC Booster để điều chỉnh điện áp cho đến khi bạn nhận được 6,0. Nhấn nút In / Out cho đến khi màn hình hiển thị 6.0. Trước tiên, bạn cần cung cấp nguồn (pin 3.7V) cho Bộ tăng cường DC / DC của mình để điều chỉnh điện áp.

Bước 7: Kết nối Zuino M Uno với Bộ điều khiển Servo Zio 16

Kết nối Zuino M Uno với Bộ điều khiển Servo Zio 16
Kết nối Zuino M Uno với Bộ điều khiển Servo Zio 16

Kết nối Qwiic Zuino M Uno với bộ điều khiển Zio Servo bằng cáp qwiic.

Bước 8: Kết nối Uno với Bộ thu PS2

Kết nối Uno với Bộ thu PS2
Kết nối Uno với Bộ thu PS2

Đây là sơ đồ chân của các kết nối. Bạn cần 5 Dây Nhảy từ Nam đến Nữ cho phần này.

Bước 9: Mã cho Cánh tay robot

Chúng tôi sẽ sử dụng Thư viện Arduino PS2 để mã hóa Bộ điều khiển không dây PS2 của chúng tôi để hoạt động với Cánh tay robot của chúng tôi. Bạn có thể tìm và tải xuống mã nguồn cho dự án Cánh tay robot phần 2 này trên trang Github của chúng tôi.

Tải xuống và cài đặt các thư viện sau và lưu nó vào thư mục thư viện Arduino IDE cục bộ của bạn:

  • Thư viện trình điều khiển Servo Adafruit PWM
  • Thư viện PS2 Arduino

Để cài đặt các thư viện, hãy mở Arduino IDE của bạn, chuyển đến tab Sketch, chọn Bao gồm Thư viện -> Thư viện Add. Zip. Chọn các thư viện trên để đưa vào IDE của bạn.

Arduino có một hướng dẫn hữu ích về cách cài đặt các thư viện vào IDE Arduino của bạn. Kiểm tra chúng ở đây!

Bước 10: Chạy mã của bạn

Chạy mã của bạn
Chạy mã của bạn

Mở Arduino IDE. Trong Tệp> Ví dụ> PS2_Arduino_Library, Chọn PS2X_Servo

Lưu ý: Trước khi bạn có thể điều khiển cánh tay Robotic của mình bằng Bộ điều khiển PS2, hãy kiểm tra các bước sau: Bật Bộ điều khiển PS2 của bạn. Kiểm tra xem đèn LED Chế độ có sáng không. Nếu không, hãy nhấn nút Chế độ trên bộ điều khiển của bạn. Sau khi thực hiện các bước trên, bạn cần nhấn nút đặt lại trên Zuino M Uno để nó đọc cài đặt bộ điều khiển của bạn. Bạn cần Nhấn L1 và Cần điều khiển để di chuyển Cánh tay robot của mình.

  • Cần điều khiển trái điều khiển sự uốn cong của Cánh tay lên hoặc xuống
  • Cần điều khiển bên phải điều khiển Claw để mở hoặc đóng và xoay vuốt sang trái hoặc phải.

Bước 11: Giải thích mã

Việc sử dụng thư viện PS2X Arduino rất đơn giản, chỉ yêu cầu khởi tạo, thiết lập và sau đó là lệnh đọc.

Để thiết lập kết nối cho Bộ điều khiển PS2 với Uno của bạn, dưới đây là các chân bạn cần xác định trong mã của mình:

/ ************************************************* *************** * đặt chân kết nối với bộ điều khiển PS2: * - Cột 1e: gốc * - 2e colmun: Stef? * thay thế số pin bằng số bạn sử dụng ****************************************** ********************** / # xác định PS2_DAT 13 // 14 # xác định PS2_CMD 11 // 15 # định nghĩa PS2_SEL 10 // 16 # định nghĩa PS2_CLK 12 // 17

Chúng tôi đã thay thế các chân bằng những chân mà chúng tôi sử dụng để kết nối với Uno của chúng tôi như được nêu trên Sơ đồ chân ở trên.

/ ************************************************* **************** chọn chế độ của bộ điều khiển PS2: * - áp suất = đọc tương tự của nút nhấn * - ầm ầm = động cơ kêu ầm ầm * bỏ ghi chú 1 trong các dòng cho mỗi lựa chọn chế độ ** ************************************************** ************ / // # xác định áp suất đúng # xác định áp suất sai // # xác định ầm ầm đúng # xác định ầm ầm sai

Ở đây chúng tôi đã xác định chế độ PS2 cho các áp suất và tiếng ầm ầm là sai. Chúng tôi đã nhận xét những cái chúng tôi không sử dụng.

Chúng tôi sẽ chỉ sử dụng lệnh Cần điều khiển của Bộ điều khiển và L1 để điều khiển chuyển động của Cánh tay robot của chúng tôi.

void loop () {/ * Bạn phải Đọc Gamepad để nhận các giá trị mới và đặt giá trị rung ps2x.read_gamepad (bật / tắt động cơ nhỏ, cường độ động cơ lớn hơn từ 0-255) nếu bạn không bật tiếng ầm ầm, hãy sử dụng ps2x.read_gamepad (); không có giá trị Bạn nên gọi điều này ít nhất một lần một giây * / if (error == 1) // bỏ qua vòng lặp nếu không tìm thấy bộ điều khiển trả về; else {// Bộ điều khiển DualShock ps2x.read_gamepad (false, rung); // đọc bộ điều khiển và đặt động cơ lớn quay ở tốc độ 'rung' if (ps2x. Button (PSB_START)) // sẽ là TRUE miễn là nhấn nút Serial.println ("Bắt đầu đang được giữ"); if (ps2x. Button (PSB_SELECT)) Serial.println ("Lựa chọn đang được giữ"); rung = ps2x. Analog (PSAB_CROSS); // điều này sẽ đặt tốc độ rung động cơ lớn dựa trên mức độ bạn nhấn nút (X) màu xanh lam if (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// in các giá trị thanh nếu là TRUE RY_Value = ps2x. Analog (PSS_RY); RX_Value = ps2x. Analog (PSS_RX); LY_Value = ps2x. Analog (PSS_LY); LX_Value = ps2x. Analog (PSS_LX); Serial.print ("Giá trị cố định:"); Serial.print (RX_Value); Serial.print (""); Serial.print (RY_Value); Serial.print (""); Serial.print (LY_Value); Serial.print (""); Serial.println (LX_Value);

Đoạn mã dưới đây là nơi chúng tôi mã hóa các servo điều khiển cánh tay robot của chúng tôi mà chúng tôi đưa vào lệnh gọi hàm dưới ps2x.button (PSB_L1) || ps2x.button (PSB_R1).

Bạn cần nhấn nút L1 hoặc R1 cùng với Cần điều khiển để điều khiển Cánh tay robot của mình.

Cần điều khiển bên trái serystick điều khiển 2 và 3 cho phần Cánh tay - điều khiển uốn cong lên và xuống của cánh tay tương ứng, trong khi cần điều khiển bên phải điều khiển servos 0 và 1 của Robotic Arm’s Claw để mở hoặc đóng và xoay trái hoặc phải.

SERVO 0, 1 - Vuốt SERVO 2, 3 - Cánh tay

Bạn có thể thực hiện các thay đổi đối với các giá trị trong phần này để kiểm soát mức độ của góc Cánh tay robot của bạn:

pulselen0 = map (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = map (RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = map (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = map (LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);

Đề xuất: