Bài 2: Sử dụng cảm biến mắt trước với vòng lặp While
Trong Bài học này, bạn sẽ tạo một dự án sử dụng Cảm biến mắt trước với vòng lặp while và điều kiệnnot để điều hướng Robot VR qua Sân chơi mê cung đĩa. Dự án của bạn sẽ hướng dẫn Robot VR rẽ phải khi Cảm biến mắt trước phát hiện đĩa màu xanh lá cây và rẽ trái khi phát hiện đĩa màu xanh lam. Trong thử thách nhỏ, bạn sẽ áp dụng những kỹ năng này để lái Robot VR đến từng đĩa trong Sân chơi mê cung đĩa , và kết thúc tại đĩa màu đỏ.

Kết quả học tập
- Xác định rằng vòng lặp while có thể được sử dụng với Cảm biến mắt.
- Xác định rằng để sử dụng dữ liệu Cảm biến mắt để khiến Robot VR đưa ra quyết định trong một dự án, cần phải sử dụng một điều kiện.
- Mô tả cách xác định mẫu trong dự án có thể được sử dụng để đơn giản hóa mã của bạn.
Điều hướng đến bốn đĩa đầu tiên
Cảm biến mắt trước có thể được sử dụng để giúp Robot VR phát hiện đĩa và màu sắc của chúng, rồi đưa ra quyết định dựa trên dữ liệu đó. Sau đó, VR Robot có thể di chuyển trong Mê cung đĩa bằng cách sử dụng phản hồi cảm biến liên quan đến màu sắc của các vật thể được phát hiện để xác định chuyển động của robot. Về cơ bản, dữ liệu từ Cảm biến mắt trước sẽ được sử dụng để "mã hóa màu" cho các lượt rẽ của Robot VR, do đó, khi phát hiện một màu, nó sẽ rẽ trái và khi phát hiện màu khác, nó sẽ rẽ phải.
Để bắt đầu, chúng ta hãy xem đường đi mà Robot VR sẽ di chuyển để điều hướng phần đầu tiên của Mê cung đĩa. 
Để bạn biết
Sân chơi mê cung đĩacó các vạch màu trên sàn Sân chơi tại mỗi vị trí đĩa màu nổi.
Chúng tôi sẽ sử dụng Cảm biến mắt phía trước để phát hiện các đĩa trong Thiết bị này, nhưng cũng có thể sử dụng logic và dự án tương tự với Cảm biến mắt phía dưới. Thay vì phát hiện các đĩa nhô lên, Cảm biến mắt hướng xuống sẽ phát hiện màu sắc trên sàn Sân chơi và đưa ra quyết định dựa trên dữ liệu đó. Cảm biến mắt nhìn xuống không phát hiện sàn của Sân chơi là một vật thể, nhưng nó sẽ phát hiện các không gian có màu.
Sử dụng vòng lặpWhilevới dữ liệu cảm biến mắt
Trong các Đơn vị trước, vòng lặpwhileđược sử dụng để khiến Robot VR lái xe khi một điều kiện được đáp ứng hoặc vòng lặp while với điều kiệnchứ không phảiđể lái xe khi một điều kiện không được đáp ứng. Dữ liệu từ Cảm biến mắt có thể được sử dụng theo cách tương tự. Hãy cùng xem bước đầu tiên trong lộ trình Disk Maze.

Robot VR phải di chuyển về phía trước trong khiCảm biến mắt trước không phát hiện màu xanh lá cây. Khi cảm biến mắt trước phát hiện màu xanh lá cây, VR Robot sẽ rẽ phải 90 độ để hướng đến đĩa tiếp theo trong mê cung.
Đặt tên và Lưu Dự án
Chúng ta hãy bắt đầu xây dựng dự án sử dụng vòng lặp whileđể hướng dẫn Robot VR quay khi Cảm biến mắt trước phát hiện Đĩa màu đầu tiên (màu xanh lá cây) trên Sân chơi mê cung đĩa.
- Bắt đầu một dự án mới và chọnDisk Maze Playgroundkhi được nhắc.

-
Đặt tên cho dự án Unit7Lesson2.

- Để bắt đầu, hãy thêm bình luận để mô tả hành vi của Robot VR. Dự án này sẽ sử dụng các bình luận để nhắc nhở người dùng về mục đích của hành vi của Robot VR trong phần tiếp theo của dự án. Hãy nhớ rằng các chú thích trong VEXcode VR Python bắt đầu bằng ký hiệu # (bảng Anh).
def main():
# Lái đến đĩa thứ 1 (màu xanh lá cây), rẽ phải- Robot VR sẽ cần phải di chuyển về phía đĩa đầu tiên trên Sân chơi mê cung . Kéo hoặc nhập vòng lặp whilevới điều kiện chứ không phải vào không gian làm việc. Hãy nhớ đưa lệnhwaitvào vòng lặpwhileđể đảm bảo rằng VR Robot thực hiện dự án một cách chính xác.
def main():
# Lái đến đĩa thứ 1 (màu xanh lá cây), rẽ phải
while not condition:
wait(5, MSEC)- Đặt điều kiện của vòng lặp thành lệnhdetectcủa Cảm biến mắt trước và đặt tham số thành "GREEN".
def main():
# Lái đến đĩa thứ nhất (màu xanh lá cây), rẽ phải
khi không front_eye.detect(XANH LÁ CÂY):
wait(5, MSEC)- Bên trong vòng lặp while , kéo hoặc nhập lệnh không chờ drive để dự án của bạn trông như thế này:
def main():
# Lái đến đĩa thứ nhất (màu xanh lá cây), rẽ phải
khi không front_eye.detect(XANH LÁ CÂY):
drivetrain.drive(FORWARD)
wait(5, MSEC)- Bên ngoài vòng lặp while , kéo hoặc nhập lệnh turn_forđể hướng dẫn Robot VR rẽ phải 90 độ khi phát hiện đĩa màu xanh lá cây. Dự án của bạn sẽ trông như thế này:
def main():
# Lái đến đĩa thứ nhất (màu xanh lá cây), rẽ phải
khi không front_eye.detect(XANH LÁ CÂY):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(RIGHT, 90, DEGREES)- Mở Cửa sổ Sân chơinếu nó chưa mở. Hãy chắc chắn rằng Sân chơi mê cung đĩa mởvà chạy dự án.
-
Xem Robot VR di chuyển về phía trước đến đĩa màu xanh lá cây đầu tiên rồi rẽ phải.

- Lưu ý rằng Robot VR di chuyển về phía trước trong khi trạng thái màu của Cảm biến mắt trước báo là Sai. Khi phát hiện đĩa màu xanh lá cây, cảm biến mắt trước sẽ báo màu Đúng và thoát khỏi vòng lặp. Sau đó, nó thực hiện lệnh tiếp theo là rẽ phải 90 độ.
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.