Lập trình rẽ phải và rẽ trái - C++
Speedbot đã sẵn sàng để quay!
Khám phá này sẽ cung cấp cho bạn các công cụ để có thể bắt đầu tạo một số dự án thú vị để Speedbot của bạn theo dõi.
- Hướng dẫn VEXcode V5 sẽ được sử dụng trong thăm dò này:
- Drivetrain.turnFor(phải, 90, độ);
-
Để tìm hiểu thêm thông tin về hướng dẫn, hãy chọn Trợ giúp và sau đó chọn biểu tượng dấu 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 |
Robot Speedbot |
| 1 |
Pin Robot đã sạc |
| 1 |
VEXcode V5 |
| 1 |
Cáp USB (nếu sử dụng máy tính) |
| 1 |
Sổ tay kỹ thuật |
Bước 1: Chuẩn bị cho cuộc khám phá
Trước khi bắt đầu hoạt động, bạn đã chuẩn bị sẵn từng mục này chưa?
- Tất cả 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?
Bước 2: Bắt đầu một dự án mới
Hoàn thành các bước sau để bắt đầu dự án:
-
Mở menu Tệp và chọn Mở Ví dụ.
-
Chọn và mở dự án mẫu Speedbot (Drivetrain 2-motor, No Gyro). Dự án mẫu chứa cấu hình động cơcủa Speedbot. 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.

-
Vì bạn sẽ thực hiện nhiệm vụ xoay Speedbot nên bạn sẽ đặt tên cho dự án của mìnhTurn.

-
Khi hoàn tất, chọnLưu.
Mẹo dành cho giáo viên
Tên dự án có thể có khoảng cách giữa hoặc sau các từ.
Bước 3: Rẽ phải
Bây giờ bạn đã sẵn sàng để bắt đầu lập trình cho robot rẽ phải!
-
Thêm hướng dẫn vào dự án để dự án của bạn trông như thế này:
int main() { // Khởi tạo cấu hình robot. KHÔNG ĐƯỢC GỠ BỎ! vexcodeInit(); // Begin project code Drivetrain.turnFor(right, 90, degrees); } - Chọn biểu tượng Slot để chọn một trong tám vị trí có sẵn trên Robot Brain và chọn vị trí 1.
- Kết nối Robot Brain V5 với máy tính bằng cáp micro USB và cấp nguồn cho Robot Brain V5. Biểu tượng Não trên thanh công cụchuyển sang màu xanh lákhi kết nối thành công.
- Khi Bộ não Robot V5 được kết nối với máy tính, biểu tượng Xây dựng sẽ chuyển sang biểu tượng Tải xuống. ChọnTải xuốngđể tải dự án xuống Brain.
Hộp công cụ giáo viên
Nhắc nhở học sinh ngắt kết nối cáp USB khỏi Robot Brain. Việc kết nối robot với máy tính trong khi chạy một dự án có thể khiến robot kéo cáp kết nối.
Hộp công cụ giáo viên
-
Dừng lại và thảo luận
Yêu cầu học sinh dự đoán những gì các em nghĩ sẽ xảy ra khi dự án này được tải xuống và chạy trên Speedbot. Yêu cầu học sinh ghi lại dự đoán của mình vào sổ tay kỹ thuật. Nếu có thời gian, hãy yêu cầu mỗi nhóm chia sẻ dự đoán của mình.
-
Kiểm tra để đảm bảo dự án của bạn đã tải xuống (C++) bằng cách nhìn vào màn hình Robot Brain. Tên dự án Turn nên được liệt kê trong Khe 1.

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à chừa đủ không gian để Speedbot có thể di chuyển nếu nó được đặt trên sàn.
-
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. Hãy đảm bảo rằng chúng có đường đi thông thoáng và không có Speedbot nào đâm vào nhau.
-
Nhắc nhở học sinh lưu dự án của mình khi đang làm bài. Phần này (C++) từ Thư viện VEX giải thích các phương pháp lưu trong VEXcode V5.
- Chạy dự án (C++) trên robot Speedbot bằng cách đảm bảo dự án được chọn, sau đó nhấn nútChạytrên Robot Brain.
Bước 4: Rẽ trái
Bây giờ bạn đã lập trình cho robot của mình rẽ phải, hãy để chúng tôi lập trình cho nó rẽ trái.
-
Thay đổi tham số trong hướng dẫn để hiển thịleftthay vìright, do đó dự án của bạn trông như thế này:
int main() { // Khởi tạo cấu hình robot. KHÔNG ĐƯỢC GỠ BỎ! vexcodeInit(); // Bắt đầu mã dự ánDrivetrain.turnFor (trái, 90, độ); } - Chọn Tên Dự án để thay đổi từ Turn sang TurnLeft.
- Chọn biểu tượng Slot để chọn một slot mới. Chọn vị trí 2.
- Tải xuống (C++) dự án.
- Kiểm tra để đảm bảo dự án của bạn đã tải xuống (C++) bằng cách nhìn vào màn hình Robot Brain. Tên dự án TurnLeft phải được liệt kê trong Khe 2.
- Chạy (C++) dự án trên robot bằng cách đảm bảo dự án được chọn và sau đó nhấn nútChạy.
Bước 5: Đợi rồi rẽ trái
Bây giờ chúng ta đã lập trình cho robot rẽ trái phải sau đó rẽ trái, bây giờ chúng ta có thể thêm lệnh chờ để robot đợi một khoảng thời gian nhất định trước khi rẽ trái.
-
Thêm lệnh Chờ trước khi ra lệnh cho Drive. Đảm bảo chế độ Chờ được thụt lề để khớp với lệnh trên Bộ điều khiển động cơ và tất cả các lệnh đều nằm trong dấu ngoặc nhọn. Điều này yêu cầu robot đợi ba giây trước khi rẽ trái.
wait(3, giây); Drivetrain.turnFor(trái, 90, độ); - Chọn Tên Dự án để thay đổi nó từ TurnLeft thành WaitLeft.
- Chọn biểu tượng Slot để chọn một slot mới. Chọn vị trí 3.
- Tải xuống (C++) dự án.
- Kiểm tra để đảm bảo dự án của bạn đã tải xuống (C++) bằng cách nhìn vào màn hình Robot Brain. Tên dự án WaitLeft phải được liệt kê trong Khe 3.
- Chạy (C++) dự án trên robot bằng cách đảm bảo dự án được chọn và sau đó nhấn nútChạy.
Bước 6: Hoàn thành thử thách camera an ninh!
Bố cục thử thách camera Trong Thử thách camera an ninh, robot phải bắt đầu bằng cách quay sang phải 90 độ. Robot sau đó sẽ quay sang trái 180 độ sau đó sang phải 180 độ "quét" giống như một camera an ninh. Sau đó, robot sẽ lặp lại việc quay 180 độ sang trái và 180 độ sang phải thêm hai lần nữa. Do đó, robot sẽ quét 180 độ tổng cộng ba lần.
Trước khi lập trình robot, hãy lập kế hoạch đường đi và hành vi của robot trong sổ tay kỹ thuật của bạn.
Sau khi hoàn thành Thử thách camera an ninh, bạn sẽ có thể kết hợp các chuyển động tiến và lùi với các hành vi bổ sung của robot để hoàn thành những thử thách nâng cao hơn.
Hộp công cụ giáo viên
-
Giải pháp
Xem giải pháp mẫu bên dưới.
int main() {
// Khởi tạo cấu hình Robot. KHÔNG ĐƯỢC THÁO RA!
vexcodeInit();
// Bắt đầu mã dự án
// Robot sẽ rẽ phải 90 độ
Drivetrain.turnFor(right, 90, degrees);
// Robot sẽ rẽ trái 180 độ
Drivetrain.turnFor(left, 190, degrees);
// Robot sẽ rẽ phải 180 độ
Drivetrain.turnFor(right, 180, degrees);
// Robot sẽ rẽ trái 180 độ
Drivetrain.turnFor(left, 180, degrees);
// Robot sẽ rẽ phải 180 độ
Drivetrain.turnFor(right, 180, degrees);
// Robot sẽ rẽ trái 180 độ
Drivetrain.turnFor(left, 180, degrees);
// Robot sẽ rẽ phải 180 độ
Drivetrain.turnFor(right, 180, degrees);
}