Lập trình Claw - Python
Hộp công cụ giáo viên
-
Phác thảo hoạt động
-
Khám phá này sẽ giới thiệu cho sinh viên về cách lập trình cơ bản cho Động cơ móng vuốt của V5 Clawbot.
-
Học cách lập trình Claw Motor cho phép học sinh kiểm soát chính xác cách V5 Clawbot cầm nắm các vật thể trong môi trường của nó.
Clawbot V5 đã sẵn sàng để nắm bắt!
Khám phá này sẽ cho phép bạn bắt đầu tạo một số dự án thú vị sử dụng móng vuốt của V5 Clawbot để nắm bắt các đối tượng.
- Các lệnh Python VEXcode V5 sẽ được sử dụng trong thăm dò này bao gồm:
- claw_motor.set_position(0, ĐỘ)
- claw_motor.spin_for(TIẾN, 90, ĐỘ)
- claw_motor.set_timeout(2, GIÂY)
-
Để tìm hiểu thêm thông tin về lệnh, hãy chọn biểu tượng dấu chấm hỏi bên cạnh lệnh để xem thêm thông tin..

- Đảm bảo bạn đã tải xuống phần cứng cần thiết, sổ ghi chép kỹ thuật và VEXcode V5 và sẵn sàng.
| Số lượng | Vật liệu cần thiết |
|---|---|
| 1 |
VEX V5 Classroom Starter Kit (với firmware cập nhật) |
| 1 |
VEXcode V5 |
| 1 |
Sổ tay kỹ thuật |
| 1 |
Dự án ví dụ về Clawbot và Advanced TrainingBot (Hệ thống truyền động 2 động cơ, Không có con quay hồi chuyển) |
| 1 |
Lon nhôm |
Bước 1: Chuẩn bị Thăm dò
Trước khi bắt đầu hoạt động, bạn đã chuẩn bị sẵn từng mục này chưa? Kiểm tra từng điều sau đây:
-
Các động cơ có được cắm vào đúng cổng không?
-
Cáp thông minhđược lắp hoàn toàn vào tất cả các động cơ?
-
Nãocó bậtkhông?
-
Pin đã được sạchay?
Mẹo dành cho giáo viên
Làm mẫu từng bước khắc phục sự cố cho học sinh.
Bước 2: Bắt đầu một dự án mới
Trước khi bạn bắt đầu dự án của mình, hãy chọn dự án mẫu chính xác. Dự án ví dụ về Clawbot và Advanced TrainingBot (Hệ thống truyền động 2 động cơ, Không có con quay hồi chuyển) chứa cấu hình động cơ của Clawbot. Nếu mẫu không được sử dụng, robot của bạn sẽ không chạy dự án một cách chính xác.
Hoàn thành các bước sau:
- Mở menu Tệp.
- ChọnMởVí dụ.
- Chọn và mở dự án ví dụ Clawbot và Advanced TrainingBot (Hệ thống truyền động 2 động cơ, Không có con quay hồi chuyển).
- Vì chúng ta sẽ lập trình để điều khiển móng vuốt, hãy đổi tên dự án của bạnClawControl.
- Lưudự án của bạn.
- Kiểm tra để đảm bảo tên dự án ClawControl hiện nằm trong cửa sổ ở giữa thanh công cụ.
Mẹo dành cho giáo viên
- Vì đây là hoạt động bắt đầu với lập trình nên giáo viên nên làm mẫu các bước, sau đó yêu cầu học sinh thực hiện các hành động tương tự. Sau đó, giáo viên nên theo dõi học sinh để đảm bảo rằng các em đang thực hiện đúng các bước.
- Đảm bảo rằng học sinh đã chọn Mở ví dụ từ menu Tệp.
- Đảm bảo rằng học sinh đã chọn dự án ví dụ Clawbot và Advanced TrainingBot (Hệ thống truyền động 2 động cơ, Không có con quay hồi chuyển). Bạn có thể chỉ cho học sinh biết rằng có một số lựa chọn để chọn trên trang Ví dụ. Khi xây dựng và sử dụng các robot khác, trẻ sẽ có cơ hội sử dụng các mẫu khác nhau.
- Bạn có thể yêu cầu học sinh thêm chữ cái đầu hoặc tên nhóm của mình vào tên dự án. Điều này sẽ giúp phân biệt các dự án nếu bạn yêu cầu học sinh nộp chúng.
Hộp công cụ giáo viên
-
Dừng lại và thảo luận
Đây là thời điểm thích hợp để tạm dừng và yêu cầu các nhóm học sinh xem lại các bước vừa hoàn thành khi bắt đầu một dự án mới trong VEXcode V5.
Bước 3: Lập trình V5 Claw để mở
Bây giờ chúng ta sẽ bắt đầu bằng cách lập trình móng vuốt để mở!
# Thư viện nhập
từ nhập vex *
# Bắt đầu mã dự
ánclaw_motor.set_position (0, ĐỘ)- Viết lệnhclaw_motor.set_position()như hiển thị ở trên trong vùng lập trình để thiết lập vị trí bắt đầu cho càng.
claw_motor.set_position(0, ĐỘ)
claw_motor.set_timeout(2, GIÂY)- Thêm lệnhclaw_motor.set_timeout()như hiển thị ở trên.
- Lưu ý rằng lệnh này xuất hiện trước lệnhclaw_motor.spin_for(). Mục đích của nó là thiết lập thời gian động cơ Claw có thể chạy và dừng sau thời gian đó. Vì vậy, ngay cả khi động cơ không di chuyển đủ 60 độ, dự án sẽ dừng động cơ Claw sau hai giây.
claw_motor.set_position(0, ĐỘ)
claw_motor.set_timeout(2, GIÂY) claw_motor.spin_for
(ĐẢO NGƯỢC, 60, ĐỘ)- Viết lệnhclaw_motor.spin_for()như minh họa ở trên để mở càng 60 độ.
- Chọn vị trí mà dự án sẽ được tải xuống trên Bộ não Robot V5 bằng cách chọn biểu tượng đóng hộp 1 để mở tất cả các vị trí dự án có sẵn và chọn vị trí mong muốn.
- Kết nối robot với máy tính hoặc máy tính bảng của bạn. Biểu tượng Não trên thanh công cụchuyển sang màu xanh lásau khi kết nối thành công.
- Nhấp vào biểu tượng Tải xuống bên cạnh biểu tượng Thông tin thiết bị để tải dự án xuống Bộ não Robot V5.

- Kiểm tra xem dự án ClawControl đã tải xuống bộ não trong vị trí bạn đã chọn chưa.
Hộp công cụ giáo viên
-
Mô hình đầu tiên
Làm mẫu chạy dự án trước lớp trước khi cho tất cả học sinh thử cùng một lúc. Tập hợp học sinh vào một khu vực và đặt Clawbot sao cho tất cả mọi người đều có thể nhìn thấy móng vuốt của nó. Nếu bạn dự định trình diễn nhiều lần, bạn có thể nhẹ nhàng đẩy Móng vuốt đóng lại giữa các lần chạy.
Nói với học sinh rằng bây giờ đến lượt các em thực hiện dự án của mình.
- Chạydự án trên Clawbot bằng cách đảm bảo dự án được chọn, sau đó nhấn nút Chạy. Chúc mừng bạn đã tạo dự án đầu tiên để di chuyển Móng vuốt!
Bước 4: Thử cái này: Đóng V5 Claw
Bây giờ bạn đã lập trình móng vuốt để mở, bây giờ bạn sẽ lập trình nó để đóng.

Bây giờ bạn có thể mở móng vuốt, bạn cũng sẽ muốn đóng nó lại.
- Quay lại dự án ClawControl của bạn và thêm lệnhclaw_motor.spin_for()để Claw Motor quay đóng 30 độ. Móng vuốt nên đóng một nửa quãng đường vì ban đầu nó xoay 60 độ.
- Kiểm tra xem dự án sửa đổi của bạn có mở móng vuốt trong 60 độ và sau đó đóng trong 30 độ bằng cách tải xuống và chạy dự án ClawControl của bạn.
Hộp công cụ giáo viên
-
Giải pháp
Trước đây, Claw mở ở góc 60 độ. Dự án đó bao gồm hướng dẫn thiết lập thời gian chờ động cơ vì đây là một hoạt động quan trọng cần thực hiện khi cấp nguồn cho bộ điều khiển có thể bị hạn chế chuyển động theo một cách nào đó. Thiết lập thời gian chờ giúp ngăn ngừa hao mòn không cần thiết cho động cơ.
Sau đây là giải pháp cho bước này:
# Bắt đầu mã dự án
claw_motor.set_position(0, DEGREES)
claw_motor.set_timeout(2, SECONDS)
claw_motor.spin_for(REVERSE, 60, DEGREES)
claw_motor.spin_for(FORWARD, 30, DEGREES)
Bước 5: Thử cái này: Giải trình tự nhiều chuyển động

Không phải mọi thứ bạn nhặt bằng móng vuốt sẽ có cùng kích thước. Hãy thử mở móng vuốt đến các vị trí khác nhau dọc theo phạm vi chuyển động.
- Quay động cơ để:
- Mở cửa 70 độ
- Đóng 20 độ
- Mở 10 độ
- Đóng 30 độ
- Đóng 25 độ
- Nếu Claw Motor khởi động ở 0 độ, Claw Motor sẽ mở bao nhiêu độ khi kết thúc dự án?
- Bắt đầu với Claw Motor đã đóng.
Hộp công cụ giáo viên
-
Giải pháp
Giải pháp cho bước này được trình bày bên dưới.
Động cơ móng vuốt vẫn mở ở góc 5 độ khi kết thúc dự án: 70 - 20 = 50 --> 50 + 10 = 60 --> 60 - 30 = 30 --> 30 - 25 = 5 độ.
# Bắt đầu mã dự án
# Lấy vị trí hiện tại của Claw là số không
claw_motor.set_position(0, DEGREES)
# Đặt thời gian chờ của Claw
claw_motor.set_timeout(2, SECONDS)
claw_motor.spin_for(REVERSE, 70, DEGREES)
claw_motor.spin_for(FORWARD, 20, DEGREES)
claw_motor.spin_for(REVERSE, 10, DEGREES)
claw_motor.spin_for(FORWARD, 30, DEGREES)
claw_motor.spin_for(FORWARD, 25, DEGREES)
Bước 6: Hoàn thành thử thách Khóa chặt

Thử thách Chặt chẽ về Khóa
- Lập trình Clawbot để đóng chặt móng vuốt trên một lon nhôm rỗng 12 ounce mà không nghiền nát các cạnh.
- Yêu cầu Clawbot giữ lon trong khi nó nâng và hạ cánh tay xuống 45 độ.
- Sau đó, Clawbot sẽ nhả lon và lùi lại.
- Bắt đầu thử thách với một móng vuốt mở và một cái lon rỗng bên trong nó.
Mẹo dành cho giáo viên
- Yêu cầu học sinh bắt đầu thử thách bằng một chiếc càng mở và một chiếc lon rỗng bên trong.
- Nếu lon bị đè bẹp hoặc rơi ra khỏi móc, bạn phải bắt đầu lại thử thách sau khi điều chỉnh dự án.
Hộp công cụ giáo viên
-
Giải pháp
Sau đây là một giải pháp ví dụ:
# Bắt đầu mã dự án
# Lấy vị trí hiện tại của Claw là số không
claw_motor.set_position(0, DEGREES)
# Đặt thời gian chờ của Claw
claw_motor.set_timeout(2, SECONDS)
claw_motor.spin_for(FORWARD, 170, DEGREES)
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
claw_motor.spin_for(REVERSE, 150, DEGREES)
drivetrain.drive_for(REVERSE, 150, MM)- Dự án thiết lập thời gian chờ, đóng móc khóa quanh lon, nâng và hạ lon, thả lon ra rồi lùi lại.
-
Tiêu chí lập trình