Hộp công cụ dành cho giáo viên
-
Mục đích của hoạt động này
Hoạt động này sẽ giới thiệu cho học sinh cách sử dụng các câu lệnh while và if then để robot lái về phía trước trừ khi nhấn vào màn hình.
-
Hoạt động này sẽ giới thiệu cho học sinh các câu điều kiện và hướng dẫn để robot lái về phía trước trừ khi nhấn vào màn hình.
-
Để biết thêm thông tin về các câu lệnh if then và if then else hoặc các câu lệnh khác được sử dụng trong hoạt động này, hãy truy cập thông tin trợ giúp trong VEXcode V5. Để biết thêm thông tin về công cụ trợ giúp tích hợp này, hãy xem các bài viết này về trợ giúp trong C++ .
Hộp công cụ dành cho giáo viên
Để biết các đề xuất về chiến lược giảng dạy cho phần này, hãy xem lại cột Giao hàng của Hướng dẫn về việc thực hiện hoặc không thực hiện nhịp độ! (Google Doc / .docx / .pdf)
Clawbot đã sẵn sàng để đưa ra quyết định!
Cuộc thăm dò 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ị sử dụng câu lệnh if else.
- Các lệnh VEXcode V5 C++ sẽ được sử dụng trong thăm dò này:
- Drivetrain.drive(chuyển tiếp);
- Brain.Screen.pressing()
- Drivetrain.stop();
- if (điều kiện){}
- waitUntil();
- while (condition){}
- chờ(1, giây);
Bạn có thể sử dụng thông tin Trợ giúp bên trong VEXcode V5 để tìm hiểu về hướng dẫn C++.
Hãy chắc chắn rằng bạn có sẵn phần cứng cần thiết, máy tính xách tay kỹ thuật và VEXcode V5.
| 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 (phiên bản mới nhất, Windows, macOS) |
| 1 |
Sổ tay kỹ thuật |
| 1 |
Mẫu Clawbot (Drivetrain 2 động cơ, Không có con quay hồi chuyển) |
Lời khuyên của giáo viên
Nếu đây là lần đầu tiên học sinh sử dụng VEXcode V5, các em có thể tham khảo Hướng dẫn bất cứ lúc nào trong quá trình khám phá này. Các Hướng dẫn được đặt trên thanh công cụ.

Bước 1: Hãy bắt đầu với sự hiểu biết về các câu lệnh điều kiện
Trước khi bạn bắt đầu lập trình với các câu điều kiện, hãy đọc Điều khoản Thư viện VEX giải thích các câu lệnh If Then Else. Bài viết có thể được tìm thấy ở đây.
Để biết danh sách các toán tử được sử dụng trong các câu lệnh If Then Else, hãy đọc Điều khoản Thư viện VEX giải thích Booleans. Bạn có thể tìm thấy bài viết này tại đây.
Bước 2: Hãy bắt đầu lập trình với các câu lệnh điều kiện.
-
Mở dự án mẫu Clawbot (Drivetrain 2 động cơ, Không có con quay hồi chuyển).

- Xây dựng dự án dưới đây.
// Bắt đầu mã dự án
int main() {
// Khởi tạo cấu hình robot. KHÔNG ĐƯỢC GỠ BỎ!
vexcodeInit();
while (true) {
Drivetrain.drive(forward);
if (Brain.Screen.pressing()) {
Drivetrain.stop();
waitUntil(!Brain.Screen.pressing());
}
}
} Làm như sau trong sổ ghi chép kỹ thuật của bạn:
- Giải thích những gì dự án có Clawbot làm. Bạn sẽ cần phải giải thích nhiều hơn thực tế là nó tạo ra một nút dừng. Giải thích hướng dẫn nào khiến Clawbot làm gì.
- Viết một bản tóm tắt một câu để nắm bắt những gì dự án làm.
- Kiểm tra xem dự đoán của bạn về những gì dự án có Clawbot làm là chính xác hay không.
- Lưu và tải dự án dưới dạng CreatingAStopButton vào Slot 1 trên Clawbot, sau đó chạy nó.
- Để được trợ giúp tải xuống một dự án, hãy xem hướng dẫn trong VEXcode V5 giải thích cách tải xuống và chạy một dự án (C++).
- Kiểm tra phần giải thích của bạn về dự án và thêm ghi chú để sửa chúng khi cần thiết.
Hộp công cụ dành cho giáo viên
-
Câu trả lời
Dự án này có robot liên tục lái về phía trước nhưng dừng lại nếu nhấn vào màn hình. Nó thực hiện điều này bằng cách sử dụng câu lệnh Forever để lái xe và kiểm tra liên tục. Nếu màn hình đang được nhấn (TRUE), thì Clawbot sẽ ngừng lái xe.
Học sinh không cần phải hiểu lý do tại sao hướng dẫn waitUntil () được sử dụng. Giải thích rằng hướng dẫn waitUntil () là cần thiết vì tốc độ của luồng chương trình của robot. Nếu nó không có ở đó, các động cơ của Clawbot sẽ hoạt động như thể người dùng đang nhấn vào màn hình nhiều lần khi nó lặp qua dự án. Thay vào đó, hướng dẫn waitUntil () dừng luồng chương trình và không yêu cầu dự án bắt đầu lại vòng lặp forever cho đến khi người dùng ngừng nhấn màn hình.
Dòng mã giả có thể đơn giản như: Lái xe về phía trước cho đến khi màn hình được nhấn.
Sổ ghi chép kỹ thuật của học sinh có thể được duy trì và chấm điểm riêng lẻ (Google Doc / .docx / .pdf) hoặc theo nhóm (Google Doc / .docx / .pdf). Các liên kết trước cung cấp một phiếu tự đánh giá khác nhau cho mỗi cách tiếp cận. Bất cứ khi nào một phiếu tự đánh giá được đưa vào kế hoạch giáo dục, thực hành tốt là giải thích phiếu tự đánh giá hoặc ít nhất là đưa bản sao cho học sinh trước khi hoạt động bắt đầu.
Bước 3: Hiểu câu lệnh chờ đến().
Lưu ý rằng nếu nhấn vào màn hình của Bộ não, luồng của dự án sẽ di chuyển nhanh chóng và dự án sẽ chuyển sang hướng dẫn tiếp theo, đó là hướng dẫn Drivetrain.stop ().
Do đó, dự án cần một lệnhwaitUntil () yêu cầu robot dừng lại cho đến khi màn hình của Brain được nhả ra. Nếu không, tuyên bố Forever sẽ khiến dự án bắt đầu lại.
waitUntil(!Brain.Screen.pressing());Hướng dẫnwaitUntil () là cần thiết vì tốc độ dòng chảy của dự án. Nếu không có, dự án sẽ chuyển sang hướng dẫn tiếp theo trước khi robot có thời gian phản hồi.
Bước 4: Thay đổi dự án.
Bước tiếp theo của chúng ta là thay đổi câu lệnh if then thành câu lệnh if then else.
- Bắt đầu bằng cách lưu CreatingAStopButton làm dự án mới, StopOrDrive.
- Nếu bạn cần trợ giúp lưu dự án, hãy nhấp vào đây để xem C++.
- Sau đó xây dựng dự án StopOrDrive được hiển thị bên dưới.
// Bắt đầu mã dự án
int main() {
// Khởi tạo cấu hình robot. KHÔNG ĐƯỢC GỠ BỎ!
vexcodeInit();
while (true) {
Drivetrain.drive(forward);
if (Brain.Screen.pressing()) {
Drivetrain.stop();
waitUntil(!Brain.Screen.pressing());
}
else {
Drivetrain.drive(forward);
}
}
} - Tải StopOrDrive xuống Khe 2 trên Clawbot của bạn.
- Để được trợ giúp tải xuống một dự án, hãy xem hướng dẫn trong VEXcode V5 giải thích cách tải xuống và chạy một dự án (C++).
- Kiểm tra CreatingAStopButton (Slot 1) và sau đó kiểm tra StopOrDrive (Slot 2) và so sánh chúng để xem liệu có bất kỳ sự khác biệt nào trong hành vi của robot hay không. Lưu ý bất kỳ sự khác biệt nào trong sổ ghi chép kỹ thuật của bạn
Hộp công cụ dành cho giáo viên
-
Trả lời
Liên quan đến hành vi của robot, không nên có sự khác biệt giữa các dự án CreatingAStopButton và StopOrDrive.
Nếu học viên cần hỗ trợ thêm để hiểu Tuyên bố If-Else, hãy nhấp vào đây.
Hai dự án có Clawbot hoạt động theo cùng một cách. Sự khác biệt duy nhất là việc sử dụng câu lệnh if then else trong dự án StopOrDrive.
Sử dụng câu lệnh if else sẽ cho phép bạn thêm các nút bổ sung vào màn hình trong các hoạt động sắp tới.
Mở rộng việc học của bạn
Khi Phòng thí nghiệm STEM này tiến hành, sinh viên sẽ phát triển các dự án cho phép màn hình của Clawbot hoạt động như một giao diện người dùng. Để chuẩn bị cho điều đó, hãy thách thức học viên tìm ra cách vẽ một hình chữ nhật màu trên màn hình có chức năng như một nút bấm. Bởi vì nhấn bất cứ nơi nào trên màn hình hiện là điều kiện, nút sẽ chiếm toàn bộ màn hình. Học sinh nên yêu cầu dự án phát sóng một sự kiện để vẽ nút khi bắt đầu.
Hướng dẫn học viên trước tiên tìm hiểu cách màn hình của não được tổ chức thành một hệ tọa độ. Họ sẽ cần phải hiểu điều này để thiết lập các thông số trong hướng dẫn mà họ sẽ sử dụng. Tọa độ được sử dụng tương ứng với số pixel chứ không phải số cột hoặc hàng. Dưới đây là bố cục của màn hình:

Học sinh nên lập kế hoạch, kiểm tra và tinh chỉnh những thay đổi này cho dự án trong khi ghi lại nó trong sổ ghi chép kỹ thuật của họ. Đối với phiếu tự đánh giá sổ ghi chép kỹ thuật riêng lẻ, hãy nhấp vào một trong các liên kết sau (Google Doc / .docx / .pdf) hoặc nhấp vào một trong các liên kết sau cho sổ ghi chép nhóm (Google Doc / .docx / .pdf).
Dưới đây là một giải pháp ví dụ:
// Bắt đầu
sự kiện mã dự án draw = event();
void drawButton ()
{Brain.Screen.setFillColor (red)
; Brain.Screen.drawRectangle (0, 0, 480, 240);
wait(1, seconds);
}
int main() {
// Khởi tạo cấu hình Robot. KHÔNG ĐƯỢC GỠ BỎ!
vexcodeInit();
draw(drawButton);
while (true) {
draw.broadcast();
Drivetrain.drive(forward);
if (Brain.Screen.pressing()) {
waitUntil(!Brain.Screen.pressing());
}
else {
Drivetrain.drive(forward);
}
}
} Như bạn có thể thấy, nút được vẽ để chiếm toàn bộ màn hình bắt đầu từ điểm gốc (0, 0) và lấp đầy tất cả 480 pixel ngang (trục x) và 240 pixel dọc (trục y).