Skip to main content

Bài 3: Lái xe đến số '1'

  • Đặt lại Sân chơi để di chuyển Robot VR trở lại vị trí ban đầu.
  • Bây giờ, VR Robot sẽ quay lại và trở về số '1' khi đến số '31' trên Sân chơi Bản đồ lưới số số.

    Góc nhìn từ trên xuống của sân chơi Bản đồ lưới số, với hai chỉ báo trục đánh dấu vị trí của ô số 31. Robot VR nằm ở vị trí số 31 tại -900 X và -300 Y.
  • Xóa khối [Dừng lái xe] và thay thế bằng các khối sau.

    Tổng quan về các khối cần thêm vào dự án trước đó để điều khiển robot từ không gian 1 đến không gian 31 và quay trở lại không gian 1. Điều này được thực hiện bằng cách thêm các khối rẽ, lái và chờ trước khối Dừng lái. Toàn bộ dự án hiện có nội dung là Khi bắt đầu, tiến về phía trước và đợi cho đến khi vị trí Y của Robot tính bằng milimét lớn hơn -300. Tiếp theo rẽ phải 180 độ rồi lái về phía trước. Cuối cùng, hãy đợi cho đến khi vị trí Y của Robot tính bằng milimét nhỏ hơn -900 rồi dừng lái.
  • Lưu ý rằng khối [Chờ cho đến] thứ hai chứa khối <Less than> thay vì khối <Greater than>. Nguyên nhân là do Robot VR hiện đang di chuyển theo trục Y và các con số đang trở nên âm hơn. Robot VR sẽ dừng lại khi giá trị Y NHỎ HƠN -900.

    Các khối VR VEXcode tương tự dự án điều khiển robot VR từ ô 1, đến ô 31, đến ô 1, với khối Chờ cho đến thứ hai được tô sáng để thu hút sự chú ý vào việc sử dụng khối Nhỏ hơn thay vì khối Lớn hơn. Toàn bộ dự án có nội dung: Khi bắt đầu, tiến về phía trước và đợi cho đến khi vị trí Y của Robot tính bằng milimét lớn hơn -300. Tiếp theo rẽ phải 180 độ rồi lái về phía trước. Cuối cùng, hãy đợi cho đến khi vị trí Y của Robot tính bằng milimét nhỏ hơn -900 rồi dừng lái.
  • Khởi chạy Sân chơi bản đồ lưới số nếu nó chưa mở và chạy dự án.
  • Xem Robot VR lái đến số '1' trên Sân chơi bản đồ lưới số .
  • Trong dự án này, Robot VR sẽ di chuyển đến số '1' trên Sân chơi bản đồ lưới số . Vì giá trị Y là giảm dần khi Robot VR di chuyển đến số '1', nên dự án sử dụng khối <Less than>.
  • Robot VR sẽ dừng lại khi giá trị Y của nó bằng trừ đi so với giá trị Y của tọa độ chứa số được chỉ định. Vì giá trị Y của số '1' là -900, nên Robot VR sẽ dừng lái khi giá trị Y nhỏ hơn -900.

    Sơ đồ trực quan hóa luồng logic trong dự án VEXcode VR Blocks mà chúng tôi đang thực hiện. Dự án bắt đầu bằng việc di chuyển về phía trước và giữ nguyên lệnh đó cho đến khi Vị trí Y của cảm biến Robot tính bằng milimét lớn hơn -300. Tiếp theo, rẽ phải 180 độ và lái về phía trước, giữ lệnh đó cho đến khi Vị trí Y của cảm biến Robot tính bằng milimét nhỏ hơn -900, sau đó khối Dừng lái sẽ kết thúc lệnh Lái về phía trước.

    Để bạn biết

    Bình luận thường được thêm vào dự án để giải thích những gì lập trình viên muốn các phần của dự án thực hiện. Bình luận rất hữu ích khi cộng tác và khắc phục sự cố vì chúng cung cấp bối cảnh và ý nghĩa chung cho mã. Việc sử dụng chú thích cho phép lập trình viên suy nghĩ một cách khái niệm về mục tiêu và ý định chung của dự án, thay vì cố gắng "đoán và kiểm tra". Bạn có muốn nhớ tọa độ nào đi kèm với một số nhất định không? Thêm bình luận có nội dung “Lái xe đến số 81 nằm tại (-900, 700).” Điều này giúp truyền đạt các phần và khối khác nhau của dự án.

    Một ví dụ về khối VEXcode VR dùng để điều khiển robot từ không gian 1, đến không gian 81, rồi quay trở lại không gian 41. Đã thêm bình luận để làm cho mã dễ đọc hơn và liệt kê tọa độ của từng vị trí để hỗ trợ gỡ lỗi. Dự án bắt đầu bằng khối Khi bắt đầu theo sau là bình luận có nội dung 'Lái xe đến số 81 nằm ở (-900,700)'. Tiếp theo, lái về phía trước và đợi cho đến khi vị trí Y của Robot tính bằng milimét lớn hơn 700. Tiếp theo là một bình luận có nội dung 'Quay lại' theo sau là một khối để Rẽ phải 180 độ. Tiếp theo là một bình luận khác có nội dung 'Lái xe đến số 41 nằm ở (-900, -100)' theo sau là khối Lái xe về phía trước. Cuối cùng, đợi cho đến khi vị trí Y của Robot tính bằng milimét nhỏ hơn -100 rồi dừng lái.

    Để biết thêm thông tin về bình luận, hãy xem bài viết Bình luận - VR Blocks .

Sử dụng khối chuyển đổi 

Hình ảnh bên dưới hiển thị dự án ở trên được chuyển đổi thành khối Switch. Lưu ý rằng các chú thích trong Python được viết bằng màu xanh lá cây. Bạn có thể viết bình luận trong Python bằng cách nhập dấu thăng (#) theo sau là bình luận của bạn. 

Khối chuyển mạch VR VEXcode triển khai mã khối VR để di chuyển từ không gian 1, đến không gian 81, đến không gian 41. Mã chuyển mạch dài 11 dòng, như sau: '# Lái xe đến số 81 nằm tại (-900, 700), drivetrain.drive(FORWARD), while not location.position(Y, MM) > 700: wait(5, MSEC), # Quay đầu, drivetrain.turn_for(RIGHT, 180, DEGREES), # Lái xe đến số 41 nằm tại (-900, -100), drivetrain.drive(FORWARD), while not location.position(Y, MM) < -100: wait(5, MSEC), drivetrain.stop()'.

Chọn nút Tiếp theo để tiếp tục phần còn lại của Bài học này.