Bài tập 2.Em hãy viết chương trình mở rộng yêu cầu của chương trình minh họa trong Mục 2, yêu...
Câu hỏi:
Bài tập 2. Em hãy viết chương trình mở rộng yêu cầu của chương trình minh họa trong Mục 2, yêu cầu robot xử lý vật cản như sau:
- Nếu gặp phải vật cản thứ nhất sẽ rẽ trái.
- Nếu gặp phải vật cản thứ hai sẽ rẽ phải.
- Nếu gặp phải vật cản thứ ba thì xoay 180 độ đi theo chiều ngược lại.
- Nếu gặp phải các vật cản tiếp theo thì lặp lại yêu cầu như trên: robto rẽ trái, sau đó rẽ phải, sau đó xoay để đi ngược lại nếu gặp các vật cản tiếp theo.
Câu trả lời:
Người trả lời: GV. Đỗ Hồng Hưng
Cách làm:- Khởi tạo biến dem_vat_can = 0.- Sử dụng vòng lặp vô hạn để thực hiện các bước sau: - Robot di chuyển thẳng với tốc độ 50. - Kiểm tra tín hiệu siêu âm từ cảm biến để xác định gặp vật cản. - Nếu gặp vật cản: - Nếu dem_vat_can = 0: Robot rẽ trái và đợi 0.5 giây. - Nếu dem_vat_can = 1: Robot rẽ phải và đợi 0.5 giây. - Nếu dem_vat_can = 2: Robot rẽ trái với tốc độ 100 và đợi 1 giây. - Tăng giá trị của dem_vat_can lên 1. - Nếu dem_vat_can = 3: Reset lại dem_vat_can về 0.Câu trả lời:Để mở rộng yêu cầu của chương trình minh họa trong Mục 2, yêu cầu robot xử lý vật cản theo các quy tắc cụ thể như trên, chúng ta cần viết chương trình như sau:```pythondem_vat_can = 0while True: robot.move_forward(50) if sensor.ultrasonic() < 10: if dem_vat_can == 0: robot.turn_left(50) robot.wait(0.5) elif dem_vat_can == 1: robot.turn_right(50) robot.wait(0.5) elif dem_vat_can == 2: robot.turn_left(100) robot.wait(1) dem_vat_can += 1 if dem_vat_can == 3: dem_vat_can = 0``` Trong chương trình trên, robot sẽ di chuyển thẳng, kiểm tra và xử lý vật cản theo yêu cầu trong câu hỏi. Nếu gặp các vật cản thứ nhất, thứ hai và thứ ba, robot sẽ thực hiện hành động tương ứng và lặp lại quá trình xử lý vật cản đó.
Câu hỏi liên quan:
- Nếu trên đường đi robot gặp vật cản thì sẽ như thế nào? Làm thế nào để robot nhận ra vật cản và làm...
- Hoạt động 1.Tìm hiểu cách điều khiển cảm biến siêu âmĐọc, thảo luận về nguyên tắc hoạt động...
- Bài tập 1.Nếu câu lệnh xử lý tín hiệu cảm biến siêu âm đặt trong vòng lặp không vô hạn thì sẽ...
- Bài tập 2.Vì sao không thể đặt lệnh kiểm tra nhận biết vật cản của cảm biến siêu âm ở khoảng...
- Hoạt động 2.Robot tránh vật cản như thế nào?Đọc, thảo luận về nguyên tắc chung và cách lập...
- Em hãy viết đoạn chương trình điều khiển robot chuyển động thẳng, nếu gặp vật cản thì quay lại đi...
- LUYỆN TẬPBài tập 1.Vì sao luôn phải đặt lệnh nhận tín hiệu cảm biến siêu âm trong vòng lặp vô...
- Bài tập 2.Nếu có 2 cảm biến siêu âm kết nối với robot thì làm thế nào để phân biệt được tín...
- VẬN DỤNGBài tập 1.Em hãy tìm hiểu xem các robot hút bụi sử dụng cảm biến siêu âm để cảm nhận...
Bình luận (0)