Bài 2: Sử dụng khối so sánh và lái xe cho đến khi gần
Trong Bài học này, bạn sẽ tạo một dự án điều hướng Robot VR đến chữ 'A' bằng Cảm biến khoảng cách với khối báo cáo Boolean <Less than>. Trong thử thách nhỏ này, bạn sẽ áp dụng những kỹ năng này để di chuyển từ đầu Mê cung tường đến số '1'.

Kết quả học tập
- Xác định khối <Greater than> là khối Boolean báo cáo xem giá trị đầu tiên có lớn hơn giá trị thứ hai hay không.
- Xác định khối <Less than> là khối Boolean báo cáo xem giá trị đầu tiên có nhỏ hơn giá trị thứ hai hay không.
- Xác định khối <Greater than> hoặc <Less than> báo cáo giá trị ĐÚNG hoặc SAI trong khối [Chờ cho đến].
- Mô tả cách tạo một dự án có Robot VR di chuyển về phía trước cho đến khi giá trị của Cảm biến khoảng cách nhỏ hơn giá trị ngưỡng là 50 milimét (mm).
Đặt tên và lưu dự án
- Bắt đầu một dự án mới trong VEXcode VR và đặt tên cho dự án Unit5Lesson2. Hãy nhớ rằng bạn có thể sử dụng khối VEXcode, khối Switch hoặc kết hợp cả hai loại khối này cho dự án của mình.

Sử dụng cảm biến khoảng cách để tránh tường
- Kéo khối [Ổ đĩa] vào không gian làm việc.

- Đính kèm khối [Chờ cho đến] bên dưới khối [Ổ đĩa].

Dự án này sẽ sử dụng Cảm biến khoảng cách để di chuyển qua Sân chơi mê cung tường mà không va vào tường. Bạn sẽ sử dụng khối (Khoảng cách từ) bên trong khối Boolean <Less than> trong dự án này.
<Less than>, <Greater than>và <Equal to> là các khối so sánh - chúng so sánh các giá trị. Chúng cũng là các khối báo cáo Boolean báo cáo giá trị ĐÚNG khi điều kiện so sánh được đáp ứng và SAI khi điều kiện là KHÔNG phải.
- <Less than> báo cáo là ĐÚNG khi giá trị đầu tiên nhỏ hơn giá trị thứ hai và SAI khi giá trị đầu tiên lớn hơn hoặc bằng giá trị thứ hai.

- <Greater than> báo cáo là ĐÚNG khi giá trị đầu tiên lớn hơn giá trị thứ hai và SAI khi giá trị đầu tiên nhỏ hơn hoặc bằng giá trị thứ hai.

- <Equal to> báo cáo là ĐÚNG khi hai giá trị hoàn toàn giống nhau và SAI khi chúng không giống nhau.

Các khối so sánh có thể chấp nhận số thập phân, số nguyên hoặc khối số. Chúng cũng chấp nhận các khối phóng viên tròn, chẳng hạn như khối (Khoảng cách từ). Khối (Khoảng cách từ) có thể nằm trong khối so sánh khi sử dụng Cảm biến khoảng cách trong một dự án.
Trong ví dụ này, khối sẽ báo cáo ĐÚNG khi khoảng cách từ vật thể đến Cảm biến khoảng cách trên Robot VR nhỏ hơn 50 milimét (mm).

- Kéo khối Boolean <Less than> vào khối [Chờ cho đến].
- Đặt khối tròn (Khoảng cách từ) bên trong khối báo cáo Boolean

- Khối [Chờ cho đến khi] sẽ giữ cho Robot VR di chuyển về phía trước cho đến khi điều kiện được đáp ứng và khoảng cách được báo cáo là nhỏ hơn 50 milimét (mm). Sau đó, dự án sẽ chuyển sang khối tiếp theo trong ngăn xếp, đó là khối [Dừng lái xe].

- Cần có khối [Dừng lái] sau khối [Chờ cho đến khi] vì Robot VR sẽ tiếp tục lái cho đến khi được lệnh dừng lại. Thêm khối [Dừng lái xe] vào dự án.

- Khởi chạy Sân chơi mê cung tường nếu nó chưa mở và chạy dự án.
- Theo dõi Robot VR di chuyển từ đầu Mê cung tường và dừng lại khi Cảm biến khoảng cách báo cáo rằng nó cách tường chưa đến 50 milimét (mm).

- Sử dụng khối <Less than> với khối (Khoảng cách từ) bên trong khối [Chờ cho đến khi] để hướng dẫn Robot VR đợi cho đến khi cách tường ít hơn 50 milimét (mm) trước khi dừng lại.
- Đặt lại Sân chơi để di chuyển Robot VR trở lại vị trí bắt đầu.
Sử dụng khối chuyển đổi
Trong bài học này, bạn đã tìm hiểu về các khối Boolean <Greater than>, <Less than>và <Equal to>. Hình ảnh bên dưới hiển thị các khối so sánh Switch Boolean. Để khối Boolean Switch hoạt động như mong muốn, các hàm Switch Python phải được nhập với chính tả và dấu câu đúng.
Lưu ý rằng khối Switch <Equal to> sử dụng hai dấu bằng (==). Nguyên nhân là trong Python, một dấu bằng (=) biểu thị phép gán một giá trị (ví dụ: x = 10), trong khi hai dấu bằng (==) kiểm tra xem hai giá trị có bằng nhau hay không. Hãy chắc chắn sử dụng hai dấu bằng khi sử dụng khối Switch <Equal to>. 
Bạn cũng đã thấy một dự án ví dụ trong đó VR Robot sẽ di chuyển về phía trước cho đến khi khoảng cách được báo cáo là nhỏ hơn 50 milimét (mm) so với một vật thể. Sau đó, Robot VR sẽ dừng lại. Dự án bên phải hiển thị các lệnh Python tương ứng bên trong khối Switch. Lệnhwhile not front_distance.get_distance(MM) < 50yêu cầu robot kiểm tra xem khoảng cách được báo cáo có nhỏ hơn 50 MM so với vật thể hay không.
Dòng mã thụt lề tiếp theo,wait(5, MSEC),tạm dừng mã trong 5 mili giây. Lệnh kiểm tra xem khoảng cách được báo cáo có nhỏ hơn 50 MM so với đối tượng hay không sẽ đợi 5 MSEC trước khi kiểm tra lại điều kiện.

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.