Giải bài tập Chuyên đề Tin học 10 Bài 3: Thực hành lập trình điều khiển robot giáo dục
Khởi động trang 57 Chuyên đề Tin học 10: Robot có các loại động cơ: động cơ một chiều, động cơ servo và động cơ bước. Theo em, để điều khiển tay gắp, robot thường dùng loại động cơ nào?
Trả lời:
Tay gắp giúp robot thực hiện các nhiệm vụ gắp và di chuyển đồ vật như: vận chuyển hàng, phân loại sản phẩm, … Tùy ứng dụng mà tay gắp sẽ được thiết kế sử dụng phù hợp. Trong robot giáo dục, việc sử dụng động cơ servo giúp tay gắp hoạt động linh hoạt và dễ dàng hơn.
1. Thực hành lập trình điều khiển tay gắp robot
Bài 1 trang 57 Chuyên đề Tin học 10: Lập trình điều khiển tay gắp robot
Yêu cầu: Lập trình điều khiển tay gắp robot hoạt động gắp và nhả liên tục. Biết tín hiệu điều khiển động cơ servo của tay gắp được kết nối với chân A1.
Trả lời:
a. Chuẩn bị
– Robot Arduino
– Máy tính đã cài phần mềm EasyCode
b. Tiến hành
Bước 1. Lập sơ đồi khối thuật toán (Hình 1)
Bước 2. Lập chương trình (Hình 2)
Bước 3. Nạp chương trình
Bước 4. Quan sát hoạt động của robot
Quan sát hoạt động của robot và sửa lỗi chương trình cho đến khi robot hoạt động đúng yêu cầu.
c. Xử lý lỗi
Khi tay gắp hoạt động không như mong muốn, ta cần thực hiện các công việc sau:
– Kiểm tra để đảm bảo việc lắp ráp mạch điện tử đúng sơ đồ trong Hình 11, Bài 4, Chuyên đề 1 (trang 25).
– Kiểm tra tay gắp để không bị kẹt cơ khí.
– Kiểm tra lại chương trình. Nếu chương trình sai thì sửa lại.
– Nạp lại chương trình.
2. Thực hành lập trình robot tự động gắp đồ vật
Bài 2 trang 58 Chuyên đề Tin học 10: Lập trình điều khiển robot tự động gắp đồ vật
Yêu cầu: Lập trình điều khiển robot tự động gắp đồ vật (ví dụ minh họa cho tình huống khi khoảng cách từ cảm biến siêu âm của robot tới đồ vật là 8cm thì robot sẽ gắp)
Trả lời:
a. Chuẩn bị
– Robot Arduino
– Máy tính đã cài phần mềm EasyCode
b. Tiến hành
Bước 1. Lập sơ đồ thuật toán (Hình 3)
Bước 2. Lập chương trình (Hình 4)
Bước 3. Nạp chương trình
Bước 4. Quan sát hoạt động của robot
Quan sát hoạt động của robot và sửa lỗi chương trình cho đến khi robot hoạt động đúng yêu cầu.
Bước 5. Lập trình mở rộng
Em hãy viết lại chương trình để robot hoạt động như sau: Nếu không gặp thì robot di chuyển về phía trước và mở tay gắp. Nếu gặp đồ vật (khoảng cách 15cm) thì robot sẽ dừng lại 1 giây, gắp đồ vật, quay trái 0,5 giây, nhả vật, lùi lại 1 giây, sau đó quay phải 0,5 giây.
Chương trình có thể như sau:
c. Xử lý lỗi
Nếu tay gắp không thực hiện được thì thực hiện:
– Kiểm tra để đảm bảo việc lắp ráp mạch điện tử có đúng sơ đồ không và tín hiệu điều khiển tay gắp phải kết nối với chân A1 của Arduino.
– Kiểm tra và nạp chương trình.
Vận dụng 1 trang 60 Chuyên đề Tin học 10: Em hãy lập trình lại robot tiến về phía trước tiến về phía trước 20cm và gắp vật.
Trả lời:
Chương trình có thể là:
Vận dụng 2 trang 60 Chuyên đề Tin học 10: Sử dụng cảm biến hồng ngoại, em hãy lập trình để robot di chuyển theo vạch đen trên nền nhà màu sáng.
Trả lời:
Đầu tiên ta cần lấy thông số để nhận biết khi nào các mắt bên trong và bên ngoài đường đen. Chúng ta sẽ chỉ cần dùng hai mắt ở giữa là A6 và A7 với các đường đơn giản.
Chương trình mẫu:
Sau đó chúng ta đo thông số khi các mắt nằm trong và ngoài đường đen rồi tính trung bình cho từng mắt. Ví dụ với 2 mắt A6, A7 sau:
Mắt | Trong đường đen | Ngoài đường đen | Giá trị trung bình |
A6 | 870 | 656 | 763 |
A7 | 903 | 701 | 802 |
Tiếp theo chúng ta tiến hành so sánh với giá trị trung bình vừa có được:
– Nếu mắt A6 > giá trị trung bình ⇒ Mắt A6 đang trong vạch đen và ngược lại.
– Nếu mắt A7 > giá trị trung bình ⇒ Mắt A7 đang trong vạch đen và ngược lại.
Chúng ta có hai mắt nên sẽ có 3 trường hợp xảy ra khi để robot trên vạch đen.
A6 | A7 |
Trong đường đen | Trong đường đen |
Ngoài đường đen | Trong đường đen |
Trong đường đen | Ngoài đường đen |