Giải bài tập Chuyên đề Tin học 10 Bài 6: Chương trình điều khiển robot
Khởi động trang 28 chuyên đề học tập Tin học 10: Em đã biết muốn điều khiển robot thì cần phải viết chương trình. Một chương trình điều khiển robot có đặc điểm gì? Cấu trúc một chương trình như thế nào? Bài học này sẽ giúp các em thiết lập được chương trình điều khiển robot.
Trả lời:
Em đã biết muốn điều khiển robot thì cần phải viết chương trình. Một chương trình điều khiển robot có đặc điểm sau: Chương trình điều khiển phải thường xuyên chờ để thường xuyên tiếp nhận thông tin vào (tín hiệu thu được từ cảm biến, nút nấm…) và xử lý để điều khiển các cơ cấu chấp hành (động cơ, tay nâng…) và phụ kiện tiếp nhận điều khiển (còi, màn hình, …) gần như tức thời, cho nên cấu trúc và thực hiện chương trình khác chương trình thực hiện trên máy tính.
Cấu trúc của chương trình thường có 2 khối lệnh: Khối lệnh thực hiện khi khởi động chương trình và chạy một lần; khối lệnh thực hiện lặp vô tận dùng để xử lý tín hiệu nhận từ bên ngoài.
1. Thiết lập chương trình điều khiển robot
Hoạt động 1 trang 28 chuyên đề học tập Tin học 10: Cách thiết lập chương trình điều khiển robot.
Đọc, quan sát, tìm hiểu các bước đầu tiên thiết lập chương trình điều khiển robot.
Trả lời:
– Hình 6.1 là giao diện phần mềm GaraBlock lập trình điều khiển cho bảng mạch điều khiển G-Robot.
– Chúng ta sẽ thiết lập một chương trình đơng giản bằng cách kéo thả vào màn hình để tạo hai khối lệnh như Hình 6.2. Khối thứ nhất bao gồm các lệnh được thực hiện bốn lần phía sau khối lệnh khởi động khởi động chương trình. Khối thứ hai nằm trong vòng lặp vô tận.
Câu hỏi 1 trang 29 chuyên đề học tập Tin học 10: Trong chương trình ở Hình 6.2, nếu bỏ 5 câu lệnh nằm trong vòng lặp vô tận (trong khối lệnh thứ 2) ra ngoài vòng lặp vô tận thì chương trình sẽ chạy như thế nào?
Trả lời:
Trong chương trình ở Hình 6.2, nếu bỏ 5 câu lệnh nằm trong vòng lặp vô tận (trong khối lệnh thứ 2) ra ngoài vòng lặp vô tận thì chương trình sẽ chạy như sau: Chương trình sẽ thực hiện lần lượt 5 câu lệnh theo thứ tự từ trên xuống trong một lần duy nhất.
Câu hỏi 2 trang 29 chuyên đề học tập Tin học 10: Vì sao 5 câu lệnh trong khối lệnh thứ hai ở Hình 6.2 cần phải đưa vào trong vòng lặp vô tận?
Trả lời:
Các câu lệnh cần được thực hiện liên tục cho đến khi ngắt kết nối robot với nguồn pin nên phải đưa vào vòng lặp vô tận.
2. Cấu trúc chương trình điều khiển robot
Hoạt động 2 trang 29 chuyên đề học tập Tin học 10: Tìm hiểu cấu trúc chương trình điều khiển robot
Đọc, quan sát và tìm hiểu cấu trúc chung của các chương trình điều khiển robot.
Trả lời:
Cấu trúc chung của các chương trình điều khiển robot thương có 2 khối lệnh:
– Khởi động chương trình: Khối lệnh này thực hiện khi khởi động chương trình và chạy một lần.
– Lặp lại vô tận: Khối lệnh này thực hiện lặp vô tận dùng để xử lý tín hiệu nhận từ bên ngoài.
Câu hỏi trang 30 chuyên đề học tập Tin học 10: Nếu thay vòng lặp vô tận trong sơ đồ ở Hình 6.3 bằng vòng lặp hữu hạn thì chương trình còn đúng không?
Trả lời:
Nếu thay vòng lặp vô tận trong sơ đồ ở Hình 6.3 bằng vòng lặp hữu hạn thì chương trình không còn đúng nữa. Vì khối lệnh thực hiện lặp vô tận dùng để xử lý tín hiệu nhận từ bên ngoài từ cảm biến hoặc phụ kiện.
3. Lập trình điều khiển robot
Hoạt động 3 trang 30 chuyên đề học tập Tin học 10: Tìm hiểu mô hình mã giả chương trình điều khiển robot
Đọc quan sát và tìm hiểu cách viết chương trình điều khiển robot qua hệ thống mã giả (pseudocode).
Trả lời:
Để có thể mô tả chung chương trình điều khiển cho các hoạt động robot khác nhau chúng ta sẽ không sử dụng một ngôn ngữ lập trình cụ thể mà thiết lập một hệ thống mã giả đơn giản và dễ hiểu. Bảng 6.1 mô tả các lệnh mã giả cơ bản.
Câu hỏi 1 trang 31 chuyên đề học tập Tin học 10: Vì sao nhóm lệnh lặp vô tận phải đặt ở cuối chương trình?
Trả lời:
Nhóm lệnh lặp vô tận phải đặt ở cuối chương trình vì sau lệnh lặp vô tận sẽ không có lệnh nào có thể thực hiện được nữa.
Câu hỏi 2 trang 31 chuyên đề học tập Tin học 10: Em hãy viết chương trình bằng giải mã để điều khiển G-Robot luôn đi thẳng với tốc độ 100 trong 1 giây và xoay trái với tốc độ 100 trong 0.5 giây?
Trả lời:
Chương trình có thể viết dưới dạng pseudocode như sau:
Khởi động chương trình
forever
Đi thẳng (100)
Đợi 1 giây
Xoay trái (100)
Đợi 0.5 giây.
Luyện tập 1 trang 31 chuyên đề học tập Tin học 10: Khi robot hoạt động theo chương trình đã nạp chưa đúng như mong muốn thì phải làm gi?
Trả lời:
Nếu thấy chương trình chạy chưa chính xác cần mở lại chương trình, dò lỗi, sửa lại chương trình và nạp lại vào robot để chạy thử tiếp.
Luyện tập 2 trang 31 chuyên đề học tập Tin học 10: Robot nhận các tín hiệu từ bên ngoài như thế nào? Em hãy trình bày cơ chế nhận các thông tin đó?
Trả lời:
Robot nhận tín hiệu từ bên ngoài thông qua các lệnh nhận tín hiệu cảm biến đặt trong nhóm lệnh lặp vô tận của chương trình.
Vận dụng trang 31 chuyên đề học tập Tin học 10: Em hãy viết chương trình bằng mã giả điều khiển G-robot thực hiện:
– Khi bắt đầu chương trình G-Robot sẽ bật còi trong 1 giây rồi tắt còi. Quá trình bật tắt còi lặp lại 3 lần.
– Sau đó, G-Robot luôn đi thẳng với tốc độ 100 trong giây và đi lùi với tốc độ 100 trong 2 giây.
Trả lời:
Chương trình có thể viết dưới dạng pseudocode như sau:
Khởi động chương trình
repeat 3
Bật còi
Đợi 1 giây
Tắt còi
forever
Đi thẳng (100)
Đợi 1 giây
Đi lùi (100)
Đợi 2 giây
Xem thêm các bài giải bài tập Chuyên đề Tin học 10 Kết nối tri thức hay, chi tiết khác:
Bài 5: Phần mềm lập trình điều khiển robot
Bài 7: Thực hành: Cài đặt và kết nối robot
Bài 8: Thực hành: Kiểm tra tình trạng hoạt động của robot
Bài 9: Điều khiển robot chuyển động