Skip to main content

Bài 2: Lái xe đến số '5'

Trong Bài học này, Robot VR sẽ di chuyển đến số '5' và quay trở lại số '1' 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 số 5 được đánh dấu bằng hộp màu đỏ. Robot VR bắt đầu từ ô số 1 và ô số 5 cách ô số 4 về bên phải.

Lưu ý rằng Robot VR sẽ di chuyển dọc theo trục X với các giá trị X tăng dần để di chuyển đến số '5' trên Sân chơi Bản đồ lưới số .

Góc nhìn từ trên xuống của sân chơi Bản đồ lưới số, với ô số 5 được đánh dấu bằng hộp đen. Một đường thẳng biểu thị các phép đo trên trục X, với khoảng cách đầu tiên là -900 mm trên trục X và khoảng cách tiếp theo là -700, tiếp tục đếm thêm 200 mỗi lần. Khoảng trống thứ năm nằm ở vị trí X cách -100 mm.

Robot VR sẽ di chuyển đến vị trí số '5' trên Sân chơi bản đồ lưới số . Tuy nhiên, trước khi VR Robot có thể điều hướng đến số đó, VR Robot phải được cho biết vị trí của số đó. Bắt đầu từ trung tâm của Sân chơi, tọa độ của số '5' là (-100, -900).

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 khoảng trống thứ năm. Robot VR bắt đầu ở vị trí -900 X và -900 Y, trong khi khoảng trống thứ năm nằm ở vị trí -100 X và -900 Y.
  • Để bắt đầu, Robot VR cần phải hướng về số '5'. Kéo khối [Quay tới] vào không gian làm việc.

    VEXcode VR là khối dự án bắt đầu bằng khối Khi bắt đầu theo sau là khối Rẽ để rẽ phải 90 độ.
  • Kéo khối [Ổ đĩa] không chờ vào không gian làm việc.

    Tiếp tục dự án khối VEXcode VR, hiện có thêm khối Drive Forward sau khối Turn For. Toàn bộ dự án hiện có nội dung là Khi bắt đầu, rẽ phải 90 độ rồi lái về phía trước.
  • Đính kèm khối [Chờ cho đến] bên dưới khối [Ổ đĩa].

    Tiếp tục dự án khối VEXcode VR, hiện có thêm khối Wait Until sau khối Drive Forward. Toàn bộ dự án hiện có nội dung là Khi bắt đầu, rẽ phải 90 độ rồi lái về phía trước. Cuối cùng, hiện có khối Wait Until với tham số boolean rỗng.
  • Khối [Chờ cho đến khi] chấp nhận các điều kiện Boolean. Giống như Đơn vị cảm biến khoảng cách, dự án này sẽ sử dụng các điều kiện để điều khiển Sân chơi bản đồ lưới số . Kéo khối báo cáo Boolean <Greater than> vào khối [Chờ cho đến].

    Tiếp tục dự án khối VEXcode VR, hiện có khối Lớn hơn được chèn vào khối Chờ cho đến. Toàn bộ dự án hiện có nội dung là Khi bắt đầu, rẽ phải 90 độ rồi lái về phía trước. Cuối cùng, hiện có khối Wait Until với khối Greater Than có nội dung là 'blank is Greater Than 50'.
  • Lưu ý rằng khối <Greater than> được sử dụng thay cho khối <Less than> vì Robot VR đang lái xe về phía bên phải từ phía bên trái của Sân chơi. Robot VR bắt đầu ở giá trị X là -900 milimét (mm). Khi Robot VR tiến về phía trước, giá trị X sẽ tăng lên.

    Cùng 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 khoảng trống thứ năm từ trước. Robot VR bắt đầu ở vị trí -900 X và -900 Y, trong khi khoảng trống thứ năm nằm ở vị trí -100 X và -900 Y.
  • Kéo khối (Vị trí của Robot) vào khối <Greater than>.

    Tiếp tục dự án khối VEXcode VR, hiện có khối Vị trí của Robot được chèn vào khối Lớn hơn. Toàn bộ dự án hiện có nội dung là Khi bắt đầu, rẽ phải 90 độ rồi lái về phía trước. Cuối cùng đợi cho đến khi vị trí X của Robot tính bằng milimét lớn hơn 50.

    Để bạn biết

    Khối (Vị trí của Robot) là khối báo cáo số về vị trí tọa độ X hoặc Y của tâm Robot VR. Chọn xem vị trí tọa độ X hoặc Y có được báo cáo không.

    Khối Vị trí của Robot với menu thả xuống trục được mở, thay đổi trục đo từ X sang Y.

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

    Đây là khối Chuyển đổi (Vị trí của Robot). Để thay đổi tham số của khối (Vị trí của Robot) để báo cáo tọa độ Y, chỉ cần nhập "Y" cho giá trị tọa độ hoặc chọn gợi ý tọa độ xuất hiện. 

    Vị trí của khối chuyển đổi Robot để minh họa tính năng tự động hoàn thành. Khối này đọc là 'location.position(X, MM)' và người dùng đang thay đổi tham số X thành Y bằng cách sử dụng tính năng tự động hoàn thành.

    Khối (Vị trí của Robot) có thể báo cáo các giá trị tính bằng milimét (mm) hoặc inch.

    Khối Vị trí của Robot với menu thả xuống đơn vị đo lường được mở ra, thay đổi đơn vị đo lường từ milimét sang inch.

    Bạn có thể thay đổi tham số cho đơn vị đo lường khi sử dụng khối Chuyển đổi (Vị trí của robot) bằng cách chỉ cần nhập "INCHES" hoặc chọn gợi ý xuất hiện. Hãy đảm bảo sử dụng chữ in hoa khi nhập các tham số cho đơn vị đo lường.

    Vị trí của khối chuyển đổi Robot để minh họa tính năng tự động hoàn thành. Khối này đọc là 'location.position(X, MM)' và người dùng đang thay đổi tham số milimét thành inch bằng cách sử dụng tính năng tự động hoàn thành.

  • Đặt tham số của khối <Greater than> thành -100.

    Tiếp tục dự án khối VEXcode VR, hiện tại tham số thứ hai của khối Greater Than đã được thay đổi từ 50 thành -100. Toàn bộ dự án hiện có nội dung là Khi bắt đầu, rẽ phải 90 độ rồi lái về phía trước. Cuối cùng đợi cho đến khi vị trí X của Robot tính bằng milimét lớn hơn -100.
  • Kéo khối [Dừng lái xe] và thêm vào dự án.

    Tiếp tục dự án khối VEXcode VR, hiện có thêm khối Dừng lái xe bên dưới khối Chờ cho đến khi. Toàn bộ dự án hiện có nội dung là Khi bắt đầu, rẽ phải 90 độ rồi lái về phía trước. Cuối cùng, hãy đợi cho đến khi vị trí X của Robot tính bằng milimét lớn hơn -100 rồi dừng lái.
  • Mở Sân chơi bản đồ lưới số nếu nó chưa được mở và chạy dự án.
  • Xem Robot VR lái đến số '5' trên Sân chơi bản đồ lưới số .

    Góc nhìn từ trên xuống của sân chơi Bản đồ lưới số, với robot VR đã di chuyển đến ô thứ năm.
  • Trong dự án này, Robot VR sẽ di chuyển đến số '5' trên Sân chơi bản đồ lưới số . Khối [Chờ cho đến khi] được sử dụng để Robot VR tiếp tục di chuyển về phía trước cho đến khi giá trị X bằng lớn hơn so với giá trị X của tọa độ mà số được chỉ định đang ở.
  • Khi giá trị X lớn hơn -100, dự án sẽ chuyển sang khối tiếp theo trong ngăn xếp, đó là khối [Dừng lái xe]. Vì giá trị X của số '5' là -100, nên Robot VR sẽ dừng lái khi giá trị X lớn hơn -100.

Sơ đồ trực quan hóa luồng logic trong dự án VEXcode VR Blocks. Dự án bắt đầu bằng cách rẽ phải 90 độ rồi lái về phía trước và giữ lệnh đó cho đến khi Vị trí của cảm biến X của Robot tính bằng milimét lớn hơn -100, sau đó khối Dừng lái sẽ kết thúc lệnh Lái về phía trước.

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

Trong Bài học này, bạn đã học cách sử dụng khối VEXcode [Chờ cho đến khi] với điều kiện Boolean để ra lệnh cho robot đợi cho đến khi robot đạt đến vị trí lớn hơn -100 trên trục X trước khi chuyển sang hành vi tiếp theo.

Khối VEXcode VR có nội dung Chờ cho đến khi vị trí X của Robot tính bằng milimét lớn hơn -100.

Hình ảnh bên dưới hiển thị khối Switch [Wait until] với các lệnh tương tự trong Python. Trong khối Switch, nhưng không location.position(X, MM) > -100: là lệnh Python đầu tiên kiểm tra xem vị trí của robot dọc theo trục X có lớn hơn -100 hay không.

Lệnh thụt lề, wait (5, MSEC)tạm dừng việc thực hiện kiểm tra trong một khoảng thời gian cụ thể. Trong ví dụ này, dự án kiểm tra xem vị trí của robot có lớn hơn giá trị X là -100 sau mỗi 5 MSEC hay không. Dòng mã này được thụt vào bên dưới dòng mã đầu tiên vì lệnh này là hành vi sẽ lặp lại cho đến khi điều kiện (giá trị tọa độ X lớn hơn -100) được đáp ứng. 

Khối chuyển mạch VEXcode VR với mã Python có nội dung 'while not location.position(X, MM) > -100: wait(5, MSEC)'.

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.