SGK - Chuyên đề học tập Tin học (Định hướng Khoa học máy tính)
0/0
minus
100%
plus
Ghi chú
setting
share
Nền
Đọc offline

Lưu sách trên máy

Đang kiểm tra...

list Mục lục
list Mục lục
Chuyên đề 1. Thực hành với các bộ phận của robot giáo dục
Bài 1. Cấu tạo chung của robot giáo dục
Bài 2. Bảng mạch điều khiểu và cơ cấu chấp hành
Bài 3. Cảm biến và phụ kiện dùng trong robot
Bài 4. Thực hành: Lắp ráp robot hoàn chỉnh
Chuyên đề 2. Kết nối robot với máy tính
Bài 5. Phần mềm lập trình điều khiển robot
Bài 6. Chương 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 trang hoạt động của robot
Chuyên đề 3. Lập trình điều khiển robot
Bài 9. Điều khiển robot chuyển động
Bài 10. Điều khiển robot nhận biết vật cản
Bài 11. Dẫn đường tự động cho robot
Bài 12. Thực hành: Điều khiển robot trên sa bàn
Bài 13. Lập trình điều khiển một số phụ kiện
Bài 14. Thực hành: Dự án điều khiển robot trên sa bàn
Học liệu
Đang xem trang 0 Học liệu dưới đây tương ứng với nội dung bạn đang đọc
empty Không có học liệu bổ trợ
cover-first
page-1
Trang 1
Trang 2
Trang 3
Trang 4
Chuyên đề 1. THỰC HÀNH VỚI CÁC BỘ PHẬN CỦA ROBOT GIÁO DỤC Bài 1. Cấu tạo chung của robot giáo dục Học xong bài này em sẽ: Biết cấu tạo chung của các loại robot
Chuyên đề 1. THỰC HÀNH VỚI CÁC BỘ PHẬN CỦA ROBOT GIÁO DỤC
Bài 1. Cấu tạo chung của robot giáo dục
Học xong bài này em sẽ:
Biết cấu tạo chung của các loại robot giáo dục.
Biết một số robot giáo dục có trên thực tế.
Em đã từng nghe từ "robot" bao giờ chưa? Hãy kể tên và chức năng của một số robot mà em biết.
1. Robot và robot giáo dục
a) Vài nét về sự phát triển của robot
Loài người từ xa xưa đã sáng tạo ra những đồ vật, thiết bị để giúp con người trong một số công việc mang tính tự động hoặc làm thay con người những việc nặng nhọc. Tên gọi “Automata” (máy tự động) đã có từ thời văn minh Hy Lạp. Tuy nhiên, thuật ngữ “robot” chỉ mới xuất hiện vào giữa thế kỉ XX cùng với sự ra đời của ngành công nghiệp robot.
Ngày nay, ta có thể thấy có nhiều loại robot hỗ trợ con người trong nhiều lĩnh vực khác nhau, từ những việc đơn giản như hút bụi, lau nhà đến những công việc phức tạp hơn trong các dây chuyền tự động hoá sản xuất, chế tạo trang thiết bị, máy móc,...
Với sự phát triển nhanh chóng của trí tuệ nhân tạo, kết nối vạn vật, dữ liệu lớn, các loại robot hiện nay có thêm nhiều tính năng “thông minh” hơn, thực hiện nhiều công việc thay thế con người trong nhiều lĩnh vực.
Việc nghiên cứu, thiết kế, chế tạo và ứng dụng robot vào các lĩnh vực khác nhau là nhiệm vụ của ngành công nghiệp robot – một lĩnh vực khoa học và kĩ thuật liên ngành cơ khí, điện tử, khoa học máy tính,...
b) Robot và robot giáo dục Robot hiện đại có thể được coi là một cỗ máy đặc biệt có khả năng tự động thực hiện chuỗi những hành động phức tạp nhờ các chương trì
b) Robot và robot giáo dục
Robot hiện đại có thể được coi là một cỗ máy đặc biệt có khả năng tự động thực hiện chuỗi những hành động phức tạp nhờ các chương trình điều khiển được cài đặt bên trong. Tuy nhiên, trong chương trình này, chúng ta sẽ chỉ làm quen với một mô hình đơn giản của robot là robot giáo dục.
Robot giáo dục là robot được thiết kế phục vụ mục đích giáo dục, giúp học sinh hiểu và thực hành những kiến thức, kĩ năng về cơ khí, điện tử và điều khiển tự động. Nói cách khác, có thể hiểu robot giáo dục là mô hình mô phỏng một số chức năng đơn giản của robot để đưa vào giảng dạy trong nhà trường, nhằm đáp ứng yêu cầu của một chương trình dạy học có tính liên môn cao.
Robot có khả năng tự động thực hiện các hành động phức tạp và được điều khiển nhờ các chương trình máy tính.
Robot giáo dục là loại robot được thiết kế phục vụ mục đích giáo dục, giúp người học hiểu và thực hành những kiến thức kĩ năng về cơ khí, điện tử và điều khiển tự động.
2. Cấu tạo và hoạt động của robot giáo dục
Hoạt động 1 Tìm hiểu cấu tạo và nguyên lí hoạt động của robot giáo dục
Quan sát Hình 1.1, tìm hiểu cấu tạo chung và nguyên lí hoạt động của robot giáo dục.
(Trong các phần tiếp theo, để ngắn gọn ta sẽ gọi tắt robot giáo dục là robot.) Cấu tạo của robot thường gồm ba phần chính (Hình 1.1):
Bảng mạch điều khiển (còn gọi là bảng mạch chính);
Các cảm biến và cơ cấu nhận tín hiệu;
Các cơ cấu chấp hành và phụ kiện tiếp nhận điều khiển (còi, loa, màn hình số,...). Hoạt động của robot bao gồm các bước sau: - Nhận các tín hiệu vào (thông tin vào) như ánh sáng, nhiệt độ,... từ các cảm biến hoặc các cơ cấu tiếp nhận tín hiệu. - Chuyển đổi tín hiệu đầu vào sang tín hiệu số (dữ liệu vào) và đưa vào chip vi điều khiển thông qua các cổng giao tiếp. - Nhờ chương trình điều khiển được cài đặt trong bộ nhớ, chip vi điều khiển thực hiện việc tiếp nhận, xử lí dữ liệu vào và đưa dữ liệu ra (các quyết định điều khiển). Dữ liệu ra sẽ được bộ chuyển đổi tín hiệu chuyển từ dữ liệu số sang lệnh điều khiển các cơ cấu chấp hành và phụ kiện tiếp nhận điều khiển. Quá trình trên được lặp đi lặp lại trong suốt thời gian hoạt động của robot nhờ chương trình điều khiển được cài đặt bên trong. Như vậy, cấu tạo và nguyên lí hoạt động của robot cũng tương tự với các thiết bị xử lí thông tin, ví dụ máy tính. Có thể coi robot như một máy tính được gắn thêm các cơ cấu chấp hành và phụ kiện tiếp nhận điều khiển để thực hiện các lệnh điều khiển.
Hình 1.1. Cấu tạo và nguyên lí hoạt động của robot Ba phần chính trong cấu tạo của robot gồm: Bảng mạch điều khiển; các cảm biến và cơ cấu nhận tín hiệu; các cơ
Hình 1.1. Cấu tạo và nguyên lí hoạt động của robot
Ba phần chính trong cấu tạo của robot gồm: Bảng mạch điều khiển; các cảm biến và cơ cấu nhận tín hiệu; các cơ cấu chấp hành và phụ kiện tiếp nhận điều khiển.
Quá trình hoạt động của robot tương tự như các thiết bị xử lí thông tin gồm các bước tiếp nhận thông tin/tín hiệu vào, xử lí và ra quyết định điều khiển.
3. Nguồn điện dùng cho robot
Hoạt động 2 Tìm hiểu nguồn điện dùng cho robot
Để robot có thể hoạt động cần cung cấp năng lượng cho các bộ phận chính của robot. Nguồn năng lượng dùng cho robot là nguồn điện 1 chiều có hiệu điện thế thấp từ 3 – 12 vôn an toàn cho người sử dụng. Em hãy tìm hiểu để lựa chọn các loại nguồn điện phù hợp cho robot nhé!
Có hai cách chủ yếu cấp nguồn điện 1 chiều cho robot (Hình 1.2):
– Sử dụng bộ chuyển đổi điện 1 chiều hoặc lấy nguồn trực tiếp từ máy tính qua cổng USB: Dùng cho những trường hợp robot hoạt động tại chỗ cố định hoặc khi kết nối với máy tính để nạp chương trình điều khiển vào bộ nhớ của robot. Ưu điểm của loại nguồn điện này là dễ dàng đảm bảo điện thế và công suất đúng yêu cầu, giúp cho robot có thể hoạt động ổn định và chuẩn xác.
– Sử dụng các loại pin thông dụng: Dùng cho các robot cần di chuyển linh hoạt hoặc cần hoạt động độc lập. Tuy nhiên, trong quá trình sử dụng, nguồn điện này sẽ bị tiêu hao, dễ dẫn tới việc không đủ điện thế và công suất làm cho robot hoạt động không ổn định và không chuẩn xác như mong muốn.
a) Bộ chuyển đổi điện
b) Cấp nguồn cho bảng mạch điều khiển qua cổng USB
c) Một số loại pin dùng cho robot
Hình 1.2. Nguồn điện dùng cho robot
Trên các bảng mạch điều khiển của robot đều có các vị trí xác định để cắm điện từ nguồn 1 chiều hoặc để lắp pin. Khi lắp pin cho robot, em cần quan sát kĩ pin c
Trên các bảng mạch điều khiển của robot đều có các vị trí xác định để cắm điện từ nguồn 1 chiều hoặc để lắp pin. Khi lắp pin cho robot, em cần quan sát kĩ pin có đúng chủng loại như yêu cầu không và lắp đúng chiều các cực âm/dương của pin theo quy định (Hình 1.3). Việc cấp sai nguồn, ví dụ, điện thế quá cao có thể gây cháy/hỏng các linh kiện điện tử hay điện thế quá thấp sẽ làm cho hoạt động của robot bị sai lệch.
Vị trí kết nối đến nguồn điện một chiều
Hình 1.3. Lắp pin cho robot
Em hãy cho biết ưu, nhược điểm của việc dùng pin cấp nguồn điện cho hoạt
động của robot.
4. Một số robot ở Việt Nam
Hiện nay có nhiều công ty sản xuất robot phục vụ đối tượng là học sinh phổ thông
từ cấp Tiểu học trở lên. Một trong những công ty đầu tiên trong lĩnh vực lắp ghép trò chơi và robot là công ty LEGO. Thời gian gần đây đã xuất hiện rất nhiều nền tảng phần cứng và phần mềm mới, đều được thiết kế mở. Trên các nền tảng này có thể thiết kế nhiều dạng robot khác nhau. Hình 1.4, 1.5 và 1.6 là hình ảnh một số loại robot tại Việt Nam những năm gần đây.
Hình 1.4. Robot mBot Hình 1.5. Robot G-Robot Hình 1.6. Robot KcBot
LUYỆN TẬP
Em hãy mô tả cấu tạo chung của robot.
Tại sao nói hoạt động của robot cũng tương tự với các thiết bị xử lí thông tin khác?
VẬN DỤNG
Em hiểu thế nào là tính mở của kiến trúc các robot hiện nay?
Em hãy tìm hiểu thêm thông tin về một số robot hiện nay ở Việt Nam trên Internet.
Bài 2. Bảng mạch điều khiển và cơ cấu chấp hành Học xong bài này em sẽ: Biết được nguyên lí hoạt động và một số bộ phận chính của bảng mạch điều khiển. Biết đượ
Bài 2. Bảng mạch điều khiển và cơ cấu chấp hành
Học xong bài này em sẽ:
Biết được nguyên lí hoạt động và một số bộ phận chính của bảng mạch điều khiển.
Biết được động cơ là cơ cấu chấp hành chính trong robot.
Hình 2.1 là hai mẫu robot được sử dụng để giảng dạy và thực hành. Trên các robot có nhiều dây điện kết nối các bộ phận của robot với một bảng mạch điện tử. Hãy thảo luận để tìm hiểu vai trò của bảng mạch điện từ quan trọng này của robot.
Hình 2.1. Một số mẫu robot
1. Bảng mạch điều khiển
Hoạt động 1 Tìm hiểu vai trò và chức năng của bảng mạch điều khiển
Thảo luận nhóm về cơ chế hoạt động của robot: Bộ phận nào là quan trọng nhất chi phối mọi hoạt động của robot?
a) Bảng mạch điều khiển là gì? Bảng mạch điều khiển (còn được gọi là bảng mạch chính) bao gồm các bộ phận cơ bản là chip vi điều khiển (Micro-Controller) kết hợ
a) Bảng mạch điều khiển là gì?
Bảng mạch điều khiển (còn được gọi là bảng mạch chính) bao gồm các bộ phận cơ bản là chip vi điều khiển (Micro-Controller) kết hợp với bộ nhớ, các môđun vào/ra và các bộ chuyển đổi tín hiệu,...
Bảng mạch điều khiển của robot thực hiện chức năng quan trọng nhất trong robot là xử lí tín hiệu thu nhận được và đưa ra các quyết định điều khiển robot. Vì thế bảng mạch điều khiển còn được coi là bộ não của robot. Mỗi bảng mạch điều khiển thường đi kèm với phần mềm hệ thống cho phép lập trình bằng các ngôn ngữ khác nhau để điều khiển các cơ cấu chấp hành và phụ kiện tiếp nhận điều khiển của robot. Phần mềm hệ thống đi kèm bảng mạch điều khiển và các chương trình ứng dụng do người lập trình đưa vào để điều khiển robot có thể coi là phần hồn của robot, cấu thành nên phần mềm của robot.
Bảng mạch điều khiển hoạt động theo sơ đồ sau:
Nhận dữ liệu vào từ các cảm biến (nhiệt độ, độ ẩm, khoảng cách, màu sắc,...) hoặc tín hiệu điều khiển (nút bấm) được nối với bảng mạch điều khiển thông qua các cổng vào/ra.
→
Chip vi điều khiển sẽ xử lí dữ liệu vào theo hướng dẫn của chương trình điều khiển được nạp vào bộ nhớ từ trước.
→
Kết quả xử lí – dữ liệu ra được chuyển thành các lệnh điều khiển các cơ cấu chấp hành và phụ kiện tiếp nhận điều khiển như màn hình, đèn, còi,...
Các bước trên sẽ được lặp đi, lặp lại cho đến khi thoả mãn điều kiện dừng trong bộ lệnh đã nạp hoặc nguồn điện của bảng mạch điều khiển bị ngắt.
Bảng 2.1. Các bộ phận cơ bản và kiểu kết nối với bảng mạch điều khiển
Các bộ phận cơ bản, Nhiệm vụ, Kiểu kết nối thường gặp
Chip vi điều khiển, Điều khiển việc nhận dữ liệu hoặc xuất dữ liệu thông qua các cổng vào/ra. Xử lí dữ liệu theo bộ lệnh đã được lập trình., Hàn cố định hoặc gắn được trên đế.
Bộ nhớ, Bộ nhớ có thể có ba dạng như sau: – Bộ nhớ tạm (RAM) dùng cho việc tính toán dữ liệu. – Bộ nhớ cố định (ROM) lưu trữ các chương trình (bao gồm PROM, EPROM, EEPROM,...). – Bộ nhớ lưu dữ liệu (văn bản, hình ảnh, video, tệp tin cấu hình,...) thường là một thẻ nhớ được gắn vào bảng mạch điều khiển qua một khe cắm mở rộng., Hàn cố định hoặc cắm vào khe cắm.
Các bộ phận cơ bản, Nhiệm vụ, Kiểu kết nối thường gặp Cổng kết nối nguồn điện, Cổng kết nối nguồn điện (bộ chuyển đổi điện một chiều hoặc pin) với bảng mạch điề
Các bộ phận cơ bản, Nhiệm vụ, Kiểu kết nối thường gặp
Cổng kết nối nguồn điện, Cổng kết nối nguồn điện (bộ chuyển đổi điện một chiều hoặc pin) với bảng mạch điều khiển., Dây dẫn
Các cổng vào/ra, Các cổng kết nối với các cảm biến, phụ kiện tiếp nhận điều khiển dùng để nhận và gửi ra các dữ liệu hành động., Hàn cố định
Theo em, bộ nhớ làm nhiệm vụ gì trong bảng mạch điều khiển của robot?
Hoạt động 2 Bảng mạch điều khiển trong G-Robot
Hãy tìm hiểu bảng mạch điều khiển được sử dụng trong G-Robot.
b) Bảng mạch điều khiển trong robot
Bảng mạch điều khiển trong các robot nói chung đều được thiết kế dựa trên các nền tảng thiết kế mở. Nhờ vậy, nó có thể dễ dàng kết nối với các cảm biến hay các cơ cấu chấp hành và phụ kiện tiếp nhận điều khiển một cách dễ dàng, phù hợp với việc sử dụng trong môi trường giáo dục.
Một trong các bảng mạch thuộc loại nêu trên đó là bảng mạch điều khiển của G-Robot (Hình 2.2).
Nút chuyển chế độ
Đèn hồng ngoại Còi
Vòng tròn LED
Nút khởi động lại
Các cổng RJ11 kết nối với cảm biến ngoài
Các cổng RJ11 kết nối với cảm biến ngoài
Cổng kết nối USB nạp chương trình
Công tắc chọn nguồn
Nguồn 6, 9, 12 V
Cổng kết nối động cơ DC M1, M2
Công tắc bluetooth
Hình 2.2. Bảng mạch điều khiển của G-Robot
2. Động cơ - cơ cấu chấp hành chính trong robot Hoạt động 3 Làm quen với một số loại động cơ trong robot Có hai loại động cơ thường dùng cho robot là động cơ DC
2. Động cơ - cơ cấu chấp hành chính trong robot
Hoạt động 3 Làm quen với một số loại động cơ trong robot
Có hai loại động cơ thường dùng cho robot là động cơ DC và động cơ Thảo luận để tìm hiểu về sự khác nhau giữa hai loại động cơ này., servo.
a) Một số loại động cơ trong robot
Cơ cấu chấp hành được hiểu là thiết bị chuyển đổi năng lượng thành chuyển động. Trong robot cơ cấu chấp hành chính là các loại động cơ thực hiện việc chuyển đổi năng lượng điện thành các chuyển động của robot.
Động cơ DC
Hình 2.3. Động cơ DC và bánh xe giúp robot di chuyển
Là loại động cơ điện 1 chiều dùng để thực hiện các chuyển động với vận tốc không đổi trong những khoảng thời gian xác định, ví dụ quay các bánh xe để robot di chuyển từ vị trí này sang vị trí khác.
Động cơ servo
Hình 2.4. Động cơ servo và cánh tay máy gắp đồ vật
Động cơ servo dùng trong robot là động cơ có khả năng phản hồi vị trí cuối cùng của trục quay. Đầu vào cho điều khiển của nó là tín hiệu (tương tự hoặc số) đại diện cho vị trí cuối cùng và hướng quay của trục quay. Trong robot, động cơ servo thường dùng để điều khiển các cử động nâng, hạ đến vị trí thích hợp, ví dụ điều khiển cánh tay máy để di chuyển các đồ vật.
b) Kết nối động cơ với robot Động cơ DC Hầu hết các robot hiện nay đều thiết kế sẵn hai cổng để kết nối với động cơ DC điều khiển bánh xe chạy. Thông thường, độ
b) Kết nối động cơ với robot
Động cơ DC
Hầu hết các robot hiện nay đều thiết kế sẵn hai cổng để kết nối với động cơ DC điều khiển bánh xe chạy. Thông thường, động cơ DC ứng với bánh xe bên trái được kí hiệu là M1, động cơ DC ứng với bánh xe bên phải được kí hiệu là M2. Khi lắp ghép chúng ta cần xác định rõ các động cơ bánh xe bên trái và bên phải ứng các cổng M1, M2. Các động cơ này sẽ được ghép nối với bánh xe và kết nối cứng với bảng mạch của robot.
Tất cả các robot có bánh xe chuyển động đều được cung cấp nguồn điện từ hệ thống pin lắp vào robot.
Sau đây là sơ đồ kết nối hai động cơ DC M1, M2 với bảng mạch của robot.
M1 M2
Vị trí lắp hai động cơ DC M1 và M2 trên bảng mạch
Hình 2.5. Sơ đồ kết nối động cơ DC vào bảng mạch
Các bước kết nối động cơ DC (M1, M2) với robot.
Kết nối robot với nguồn điện (USB, DC Adapter hoặc pin).
Kết nối các động cơ DC M1 và M2 với các cổng M1, M2.
Nạp lệnh điều khiển robot đi thẳng và kiểm tra hoạt động của động cơ DC M1, M2 bằng cách quan sát hai động cơ xoay cùng chiều.
Động cơ servo
Tuỳ vào thiết kế bảng mạch điều khiển của robot mà việc kết nối động cơ servo có thể khác nhau. Với một số bảng mạch, động cơ servo có thể kết nối trực tiếp với các cổng RJxx. Một số robot khác thì được thiết kế các cổng riêng cho động cơ servo. Mỗi robot có thể lắp đặt hai động cơ servo.
Động cơ servo có thể kết nối với một trong Động cơ servo các cổng RJxx Hình 2.6. Sơ đồ kết nối động cơ servo với robot Để kết nối động cơ servo với robot cần th
Động cơ servo có thể kết nối
với một trong Động cơ servo các cổng RJxx
Hình 2.6. Sơ đồ kết nối động cơ servo với robot
Để kết nối động cơ servo với robot cần thực hiện theo các bước sau:
Kết nối robot với nguồn điện (USB, DC Adapter hoặc pin).
Kết nối các động cơ servo với cổng giao tiếp mở rộng bằng dây nối chuẩn RJxx (Mỗi robot có tối thiểu 04 cổng giao tiếp RJxx để kết nối đến thiết bị, phụ kiện tiếp nhận điều khiển).
Nạp lệnh điều khiển động cơ servo xoay các góc 0o, 90o, 180o và kiểm tra hoạt động của động cơ servo bằng cách quan sát góc xoay của động cơ servo.
Vì sao các bảng mạch của robot thường có hai cổng kết nối động cơ DC?
Vì sao các robot lại thường có hai cổng kết nối động cơ servo?
LUYỆN TẬP
Tại sao lại gọi bảng mạch điều khiển là bộ não của robot?
2. Nếu chúng ta lắp động cơ bên trái vào cổng M2, động cơ bên phải vào cổng M1
thì lắp đúng hay sai? Giải thích lí do.
VẬN DỤNG
Nếu robot sử dụng pin để chạy động cơ DC, theo em khi nguồn điện của pin xuống thấp thì công suất của động cơ DC có bị ảnh hưởng không?
Truy cập Internet để tìm hiểu một số thông tin chính liên quan tới các bảng mạch điều khiển của Adruino và Microbit (vài nét về lịch sử hình thành; mục đích sử dụng; ngôn ngữ lập trình dùng cho các bảng mạch đó,...).
Bài 3. Cảm biến và phụ kiện dùng trong robot Học xong bài này em sẽ: Biết cấu tạo, nguyên tắc hoạt động và cách kết nối một số cảm biến thường dùng với bảng mạc
Bài 3. Cảm biến và phụ kiện dùng trong robot
Học xong bài này em sẽ:
Biết cấu tạo, nguyên tắc hoạt động và cách kết nối một số cảm biến thường dùng với bảng mạch điều khiển của robot.
Nhận biết được một số phụ kiện thường dùng trong robot và cách kết nối với mạch điều khiển.
Dịch vụ thương mại điện tử hàng đầu thế giới của công ty Amazon đã sử dụng robot để sắp xếp, vận chuyển hàng hoá trong kho (Hình 3.1). Em có biết bằng cách nào hàng trăm con robot có thể di chuyển mà không va chạm vào nhau?
Hình 3.1. Các robot trong kho hàng của Amazon
1. Một số cảm biến thường dùng
Hoạt động 1 Tìm hiểu về nguyên lí hoạt động cơ bản, cách kết nối với robot của cảm biến dò đường và cảm biến siêu âm
Thảo luận tìm hiểu cách thức hoạt động của cảm biến dò đường và cảm biến siêu âm, sự giống và khác nhau giữa hai loại cảm biến này.
Trong robot, cảm biến dò đường và cảm biến siêu âm được sử dụng rất phổ biến giúp robot dò đường và phát hiện được vật cản. Ngoài ra, một số cảm biến khác dùng để thu nhận dữ liệu về môi trường xung quanh cũng được sử dụng rộng rãi như cảm biến ánh sáng, cảm biến nhiệt độ, cảm biến độ ẩm.
a) Cảm biến dò đường Mắt hồng ngoại (còn gọi là mắt tín hiệu hay gọi tắt là mắt) là bộ phận quan trọng nhất trong mỗi cảm biến dò đường. Mỗi mắt hồng ngoại được
a) Cảm biến dò đường
Mắt hồng ngoại (còn gọi là mắt tín hiệu hay gọi tắt là mắt) là bộ phận quan trọng nhất trong mỗi cảm biến dò đường. Mỗi mắt hồng ngoại được cấu tạo gồm một cặp đầu phát/thu tín hiệu hồng ngoại đặt cạnh nhau nhìn về cùng một hướng. - Nếu đầu thu không thu được tín hiệu của đầu phát, do vùng đối diện là vùng tối hấp
thụ hầu hết các tia hồng ngoại chiếu vào, ta quy ước giá trị tín hiệu của mắt bằng 0. - Ngược lại, khi đầu thu thu được tín hiệu của đầu phát, do vùng đối diện là vùng
sáng phản xạ hầu hết các tia hồng ngoại chiếu vào, ta quy ước giá trị tín hiệu của mắt bằng 1.
Đầu phát hồng ngoại Đầu thu hồng ngoại a) Bề mặt hấp thụ ánh sáng b) Bề mặt phản xạ ánh sáng
Hình 3.2. Nguyên lí hoạt động của cảm biến dò đường
Cặp đầu phát/thu
Ứng dụng cảm biến dò đường để hồng ngoại
dẫn đường cho robot
Các cảm biến dò đường dùng trong robot thường có hai hoặc bốn mắt. Các mắt của cảm biến được bố trí song song với nhau cùng nhìn về Hình 3.3. Cảm biến một hướng. dò đường hai mắt và bốn mắt
Nguyên tắc dẫn đường của cảm biến dò đường hai mắt đơn giản như sau: Giả sử đường đi được thể hiện là một vạch màu đen (có độ rộng lớn hơn khoảng cách giữa hai mắt) trên nền địa hình màu trắng và robot đang dịch chuyển trên đường. Nếu tín hiệu trả về của cả hai mắt đều bằng 0, em tiếp tục cho robot di chuyển thẳng dọc theo đường đi. Khi tín hiệu trả về của một trong hai mắt bằng 1, nghĩa là robot bắt đầu di chuyển chệch khỏi đường đi, em cần điều khiển để robot rẽ sang phía mắt có tín hiệu bằng 0. Dựa vào nguyên tắc này em có thể lập trình để dẫn robot di chuyển dọc theo một đường đi được vẽ ra từ trước.
Từ nguyên lí làm việc của các mắt hồng ngoại có trong cảm biến dò đường, cần lưu ý mấy điểm sau: - Vạch đen thể hiện đường đi cần có độ rộng lớn
hơn khoảng cách giữa hai mắt có trong cảm biến dò đường. - Phải đảm bảo sự khác biệt về độ sáng tối giữa
đường đi và bề mặt nền địa hình. - Dưới trời nắng chói, cảm biến dò đường có thể Hình 3.4. Đường đi của Robot
không phân biệt được đường đi và bề mặt địa hình.
b) Cảm biến siêu âm Tương tự như cảm biến dò đường, cảm biến siêu âm hoạt động dựa trên nguyên lí phát sóng và phản xạ sóng. Khi được cấp nguồn hoạt động, cảm b
b) Cảm biến siêu âm
Tương tự như cảm biến dò đường, cảm biến siêu âm hoạt động dựa trên nguyên lí phát sóng và phản xạ sóng. Khi được cấp nguồn hoạt động, cảm biến sẽ phát ra một chùm sóng siêu âm liên tục. Khi các chùm sóng này chạm đến bề mặt vật cản sẽ phản xạ ngược lại cảm biến. Lúc này cảm biến sẽ thu lại các chùm sóng và tính toán khoảng cách từ cảm biến đến vật cản dựa trên thời gian phản xạ và vận tốc của sóng.
Hình 3.5. Nguyên lí hoạt động của Hình 3.6. Hình ảnh cảm biến siêu âm
cảm biến siêu âm
Vì sao cảm biến siêu âm phải đặt phía trước robot tự hành?
Em hãy tìm một vài ứng dụng của cảm biến siêu âm và cảm biến dò đường trong các mô hình robot khác.
c) Kết nối cảm biến siêu âm và cảm biến dò đường với robot
Tuỳ thuộc vào
từng loại robot Cảm biến dò đường
chúng ta có thể kết nối các cảm biến này vào các cổng loại RJxx.
Cảm biến siêu âm Bảng mạch điều khiển Hình 3.7. Kết nối cảm biến với bảng mạch điều khiển
2. Một số phụ kiện
Hoạt động 2 Tìm hiểu về cách robot đưa ra thông báo
Quan sát hoạt động của robot, em hãy cho biết robot dùng nào để thông báo cho người sử dụng., những phương pháp
a) Còi
Còi
Còi là một phụ kiện phát ra âm thanh, sử dụng điện áp để chuyển đổi tín hiệu điện thành âm thanh. Nó được dùng phổ biến trong robot và thường được lắp đặt cố định trên bảng mạch điều khiển (Hình 3.8). Còi được dùng trong các tình huống như Hình 3.8. Còi trên một bảng mạch điều báo động, hẹn giờ,... khiển của robot
Bên cạnh còi, loa cũng là phụ kiện phát ra âm thanh nhưng loa có cấu tạo phức tạp hơn và có thể phát ra các loại âm thanh đa dạng. b) Đèn LED Đèn LED là cơ cấu
Bên cạnh còi, loa cũng là phụ kiện phát ra âm thanh nhưng loa có cấu tạo phức tạp hơn và có thể phát ra các loại âm thanh đa dạng.
b) Đèn LED
Đèn LED là cơ cấu chuyển đổi tín hiệu điện thành ánh sáng. Đèn LED có nhiều loại như: đèn LED đơn sắc (chỉ phát một màu), đèn LED đa sắc (có thể phát lần lượt nhiều màu). Đèn LED có thể được gắn sẵn trên bảng mạch điều khiển của robot hoặc kết nối rời thông qua các cổng giao tiếp.
Đèn LED
Hình 3.9. Đèn LED Hình 3.10. Đèn LED gắn sẵn trên bảng c) Màn hình mạch điều khiển của robot
Màn hình là phương tiện không thể thiếu
trong giao tiếp người - máy nói chung. Trong robot, màn hình được kết nối riêng biệt thông qua cổng giao tiếp và thường được dùng để hiển thị các thông tin như: nhiệt độ, độ ẩm,... hoặc các thông báo ngắn trong quá trình robot Hình 3.11. Màn hình hoạt động.
d) Vỉ điều khiển từ xa
Vỉ điều khiển từ xa là một loại phụ kiện thường dùng cho robot. Vỉ điều khiển từ xa thường sử dụng tia hồng ngoại hoặc phát tín hiệu sóng điện từ bluetooth để điều khiển robot từ xa mà không
cần tiếp xúc với robot. Hình 3.12. Vỉ điều khiển từ xa
Nếu robot được trang bị cảm biến nhiệt độ và độ ẩm không khí thì dữ liệu đo được bởi các cảm biến này có thể được hiển thị ở đâu?
LUYỆN TẬP
Để điều khiển robot di chuyển theo một đường đi đã được vạch sẵn thì cần dùng cảm biến hay cơ cấu chấp hành nào? Em có thể chọn nhiều hơn một phương án. A. Cảm biến siêu âm. B. Cảm biến dò đường. C. Động cơ DC.
Robot sử dụng những phụ kiện tiếp nhận điều khiển nào để chuyển tải các thông tin âm thanh, hình ảnh?
VẬN DỤNG
Theo em ngoài cảm biến dò đường và siêu âm để hỗ trợ di chuyển, robot còn có thể sử dụng những cách thức nào khác? Nêu hai cách mà em biết.
Em hãy mô tả chức năng của một vài phụ kiện tiếp nhận điều khiển robot mà em biết.
Thực hành: Lắp ráp robot hoàn chỉnh Học xong bài này em sẽ: Biết cách lắp ráp mô hình robot dạng xe cơ bản. Biết cách và thực hiện được kết nối một số phụ kiện
Thực hành: Lắp ráp robot hoàn chỉnh
Học xong bài này em sẽ:
Biết cách lắp ráp mô hình robot dạng xe cơ bản.
Biết cách và thực hiện được kết nối một số phụ kiện tiếp nhận điều khiển với robot mức cơ bản.
Kiểm tra được tình trạng sẵn sàng hoạt động của robot.
Nhiệm vụ 1. Lắp ráp mô hình xe cơ bản
Yêu cầu
Hoàn thành lắp ráp mô hình robot dạng xe cơ bản (gọi tắt là mô hình xe cơ bản). Các bộ phận được lắp ráp đúng quy định.
Hướng dẫn
Phần hướng dẫn thực hành sử dụng bộ công cụ G-Robot Creator để minh hoạ.
Bước 1. Chuẩn bị danh sách các bộ phận và phụ kiện cần thiết để lắp ráp mô hình xe cơ bản theo Bảng 4.1.
Bảng 4.1. Danh sách bộ phận và phụ kiện
Tên, Số lượng, Hình ảnh
Thân 9×15, 1
Tấm vuông L 2×2×3, 3
Bảng mạch điều khiển, 1
Động cơ, 2
Trụ đồng, 6
Bánh xe, 2
Tên Số lượng Hình ảnh Bánh xe đa hướng (bộ phận giúp robot có thể di chuyển 1 theo mọi hướng) Bulông Φ 12 mm × 3 mm 14 Bulông Φ 30 mm × 3 mm 4 Đai ốc 12 Bước 2.
Tên Số lượng Hình ảnh
Bánh xe đa hướng (bộ phận giúp robot có thể di chuyển 1 theo mọi hướng)
Bulông Φ 12 mm × 3 mm 14
Bulông Φ 30 mm × 3 mm 4
Đai ốc 12
Bước 2. Lắp 4 trụ đồng vào 4 chân ốc dưới bảng mạch điều khiển (Hình 4.1). Bước 3. Lắp chi tiết ở bước 2 với thân 9×15 của robot (Hình 4.2).
Hình 4.1. Lắp trụ đồng Hình 4.2. Lắp chi tiết ở bước 2
với thân 9×15
Bước 4. Lắp 2 tấm vuông L 2×2×3 vào trước thân 9×15 (Hình 4.3).
Hình 4.3. Lắp 2 tấm vuông L 2×2×3 vào trước thân 9×15
Bước 5. Lắp tấm vuông L 2×2×3 vào sau thân 9×15 (Hình 4.4). Bước 6. Lắp 2 trụ đồng và bánh xe đa hướng vào dưới thân 9×15 (Hình 4.5).
Hình 4.4. Lắp tấm vuông L 2×2×3 vào Hình 4.5. Lắp 2 trụ đồng và bánh xe đa hướng sau thân 9×15 vào dưới thân 9×15 Bước 7. Lắp 2 động cơ vào phần dưới thân 9×15
Hình 4.4. Lắp tấm vuông L 2×2×3 vào Hình 4.5. Lắp 2 trụ đồng và bánh xe đa hướng sau thân 9×15 vào dưới thân 9×15
Bước 7. Lắp 2 động cơ vào phần dưới thân 9×15 của xe cơ bản. Lưu ý: dây kết nối
của động cơ phải quay vào phía trong của thân 9×15 (Hình 4.6).
Bước 8. Lắp 2 bánh xe vào trục của động cơ (Hình 4.7).
Hình 4.6. Lắp 2 động cơ Hình 4.7. Lắp 2 bánh xe vào phần dưới thân 9×15
Bước 9. Kết nối hộp Pin với bảng mạch điều khiển (Hình 4.8). Bước 10. Kết nối động cơ M1 và M2 với bảng mạch điều khiển. Động cơ bên trái cắm
vào cổng động cơ M1 và động cơ bên phải cắm vào cổng động cơ M2 (Hình 4.9).
Hình 4.8. Kết nối hộp Pin với bảng mạch điều khiển
Hình 4.9. Kết nối bảng mạch điều khiển với động cơ M1 và M2
Bước 11. Bật công tắt nguồn sang ON. Nhấn nút để chuyển sang trò chơi số 3 (đèn LED màu xanh dương) để quan sát xe chạy thẳng về phía trước. Hình 4.10. Sản phẩm
Bước 11. Bật công tắt nguồn sang ON. Nhấn nút để chuyển sang trò chơi số 3 (đèn
LED màu xanh dương) để quan sát xe chạy thẳng về phía trước.
Hình 4.10. Sản phẩm sau khi hoàn thành
Nhiệm vụ 2. Kết nối cảm biến siêu âm, cảm biến dò đường
Yêu cầu
Cảm biến siêu âm và cảm biến dò đường được gắn đúng vị trí, kết nối đúng cổng và xe có thể tránh được vật cản.
Hướng dẫn
Phần hướng dẫn thực hành sử dụng bộ công cụ G-Robot Creator để minh hoạ. Để thực hiện nhiệm vụ bài học này chúng ta cần ôn tập và lắp ghép mô hình xe cơ bản như ở nhiệm vụ 1 và thay đổi một số bước như sau:
Bước 1. Lắp ghép cảm biến dò đường vào bánh xe đa hướng (Hình 4.11). Bước 2. Lắp trụ đồng vào bánh xe đa hướng và cảm biến dò đường (Hình 4.12).
Hình 4.11. Lắp ghép cảm biến dò đường vào bánh xe đa hướng
Hình 4.12. Lắp trụ đồng vào bánh xe đa hướng và cảm biến siêu âm
Bước 3. Lắp trụ đồng có gắn cảm biến dò đường vào thân 9×15 của xe cơ bản. Cắm dây vào cảm biến dò đường và kết nối vào cổng số 1 trên bảng mạch điều khiển (Hìn
Bước 3. Lắp trụ đồng có gắn cảm biến dò đường vào thân 9×15 của xe cơ bản.
Cắm dây vào cảm biến dò đường và kết nối vào cổng số 1 trên bảng mạch điều khiển (Hình 4.13).
Bước 4. Gắn bộ chuyển đổi cảm biến siêu âm vào cảm biến siêu âm (Hình 4.14).
Hình 4.13. Lắp trụ đồng có gắn cảm biến dò đường vào thân 9×15 và kết nối với bảng mạch điều khiển
Hình 4.14. Gắn bộ chuyển đổi cảm biến
siêu âm vào cảm biến siêu âm
Bước 5. Cắm dây chuyển đổi siêu âm vào cổng số 3 trên bảng mạch điều khiển.
Hình 4.15. Cắm dây chuyển đổi siêu âm Hình 4.16. Sản phẩm sau khi hoàn thành
vào cổng số 3 trên bảng mạch điều khiển
Nhiệm vụ 3. Chạy thử chương trình mẫu để kiểm tra cảm biến đã lắp ghép
Sau khi lắp ráp hoàn thiện mô hình robot ở nhiệm vụ 1, chúng ta tiến hành cho robot chạy thử một số chương trình mẫu đã được cài đặt sẵn để kiểm tra được tình trạng sẵn sàng hoạt động của robot. Em hãy thực hiện theo các bước sau để chạy thử chương trình mẫu:
Chương trình mẫu 1 (kích hoạt còi và hiệu ứng đèn LED):
Bước 1. Nhấn giữ nút chuyển chế độ ở giữa bảng mạch điều khiển và đồng thời nhấn
nút khởi động lại ở góc trên bên phải của bảng mạch điều khiển.
Bước 2. Sau khi nhấn nút khởi động lại, vẫn tiếp tục giữ nút chuyển chế độ trong
5 giây cho đến khi tất cả các đèn LED của vòng LED đều chuyển sang màu hồng rồi tắt hết chỉ còn lại một đèn LED sáng màu hồng (tương ứng ở chương trình mẫu số 1).
Quan sát kết quả: Còi trên bảng mạch điều khiển phát ra âm thanh theo nhịp điệu của còi báo động. Các đèn LED lần lượt sáng, tắt theo hiệu ứng xoay vòng. Chương
Quan sát kết quả: Còi trên bảng mạch điều khiển phát ra âm thanh theo nhịp điệu
của còi báo động. Các đèn LED lần lượt sáng, tắt theo hiệu ứng xoay vòng.
Chương trình mẫu 2 (Robot tự động di chuyển tránh vật cản):
Bước 1. Nhấn giữ nút chuyển chế độ ở giữa bảng mạch điều khiển và đồng thời nhấn
nút khởi động lại ở góc trên bên phải của bảng mạch điều khiển.
Bước 2. Sau khi nhấn nút khởi động lại, vẫn tiếp tục giữ nút chuyển chế độ trong 5
giây cho đến khi tất cả các đèn LED của vòng LED đều chuyển sang màu hồng rồi tắt hết chỉ còn lại một đèn LED sáng màu hồng, nhấn tiếp nút chuyển chế độ để sáng thêm một đèn LED màu hồng (tương ứng ở chương trình mẫu số 2).
Quan sát kết quả: Robot tự động di chuyển và tránh được vật cản nhờ cảm biến
siêu âm.
Hình 4.17. Vòng LED chuyển sang màu hồng
LUYỆN TẬP
Nếu thiếu một trong hai bước kết nối động cơ hoặc kết nối pin vào bảng mạch điều khiển thì xe có hoạt động được không? Vì sao?
2. Động cơ trái và phải được gắn vào vị trí nào của bảng mạch điều khiển?
VẬN DỤNG
Em hãy lắp cảm biến dò đường theo một cách khác và tiến hành hiệu chỉnh biến trở để cảm biến dò đường hoạt động tốt.
Chuyên đề 2. KẾT NỐI ROBOT VỚI MÁY TÍNH Bài 5. Phần mềm lập trình điều khiển robot Sau bài học này em sẽ: Biết vai trò của phần mềm lập trình điều khiển robot.
Chuyên đề 2. KẾT NỐI ROBOT VỚI MÁY TÍNH
Bài 5. Phần mềm lập trình điều khiển robot
Sau bài học này em sẽ:
Biết vai trò của phần mềm lập trình điều khiển robot.
Biết quy trình kết nối robot với máy tính.
Biết cách điều khiển robot bằng phần mềm thông qua wifi và bluetooth.
Theo em con người giao tiếp với máy móc như thế nào? Em đã nghe đến phần mềm điều khiển robot bao giờ chưa? Hãy liệt kê tên một số phần mềm lập trình điều khiển robot mà em đã biết.
1. Phần mềm lập trình điều khiển robot
Hoạt động 1 Tìm hiểu phần mềm lập trình điều khiển robot
Đọc, thảo luận về vai trò và ứng dụng của phần mềm lập trình điều khiển robot.
a) Khái niệm chung về chương trình điều khiển robot
Robot có thể được coi là một thiết bị xử lí thông tin tương tự như máy tính, được gắn kèm theo các cơ cấu chấp hành và phụ kiện tiếp nhận điều khiển. Do vậy, cần có chương trình được cài đặt trong bộ nhớ để làm cho robot có thể hoạt động được. Điều này cũng tương tự như các máy tính, muốn hoạt động được cần cài đặt hệ điều hành và các phần mềm ứng dụng.
Với robot, khái niệm chương trình điều khiển có thể hiểu là các chương trình được cài đặt trong bộ nhớ của robot ở trạng thái sẵn sàng thực hiện các hoạt động theo yêu cầu.
Chương trình điều khiển robot có thể chia làm hai loại:
Chương trình hệ thống do các nhà sản xuất robot như Lego, Makeblock, GaraSTEM,... phát triển và cài đặt trong bộ nhớ để hỗ trợ điều khiển robot.
Chương trình điều khiển robot hoạt động theo yêu cầu của người sử dụng (phần mềm ứng dụng). Với loại phần mềm này, người sử dụng cần viết chương trình bằng một môi trường hỗ trợ lập trình robot (thường gọi là phần mềm lập trình điều khiển robot). Sau khi nạp chương trình vào bộ nhớ, người sử dụng có thể vận hành và điều khiển robot theo chương trình đó.
b) Phần mềm lập trình điều khiển robot Hiện nay có nhiều phần mềm lập trình điều khiển robot như Arduino IDE, GaraBlock, KidsCode,… Việc viết và nạp chương trìn
b) Phần mềm lập trình điều khiển robot
Hiện nay có nhiều phần mềm lập trình điều khiển robot như Arduino IDE, GaraBlock, KidsCode,… Việc viết và nạp chương trình giải quyết những nhiệm vụ cụ thể cho robot đều được thực hiện nhờ các phần mềm lập trình điều khiển robot. Phải căn cứ vào chủng loại robot để lựa chọn và cài đặt phần mềm lập trình điều khiển cụ thể. Việc cài đặt các phần mềm lập trình điều khiển robot lên máy tính hoàn toàn tương tự như các phần mềm khác.
Hình 5.1. Phần mềm lập trình Arduino IDE Hình 5.2. Phần mềm lập trình GaraBlock
Các phần mềm lập trình điều khiển robot thường có giao diện dễ sử dụng và hỗ trợ lập trình bằng một trong các ngôn ngữ lập trình phổ biến như Scratch, Python, C++.
Phần mềm lập trình điều khiển robot giúp tạo ra các chương trình điều khiển và nạp chúng vào bộ nhớ của robot.
2. Nạp và chạy chương trình điều khiển robot
Hoạt động 2 Tìm hiểu trình tự các bước nạp và chạy chương trình điều khiển robot
Em hãy đọc và quan sát hình để tìm hiểu trình tự các bước nạp và chạy chương trình điều khiển robot.
a) Nạp chương trình vào bộ nhớ của robot
Sau khi đã hoàn thành việc viết chương trình, em cần thực hiện các bước sau để nạp chương trình đó vào bộ nhớ của robot.
Bước 1. Kết nối robot với máy tính.
Việc kết nối này có thể được thực hiện bằng một trong hai cách: - Kết nối qua hình thức không dây: Có thể kết nối robot với máy tính thông qua chuẩn kết
nối như bluetooth, wifi.
Kết nối qua hình thức có dây: Có thể sử dụng dây
nối trung gian để kết nối robot với máy tính. Hình 5.3 minh hoạ bảng mạch G-Robot được kết nối với máy tính thông qua dây cáp microUSB.
Hình 5.3. Kết nối bảng mạch điều khiển G-Robot
Bước 2. Từ giao diện của phần mềm lập trình điều khiển, thực hiện câu lệnh tương ứng để nạp chương trình vào bộ nhớ robot. Cần phải lưu ý không được ngắt kết nố
Bước 2. Từ giao diện của phần mềm lập trình điều khiển, thực hiện câu lệnh tương
ứng để nạp chương trình vào bộ nhớ robot. Cần phải lưu ý không được ngắt kết nối máy tính với robot cho tới khi nhận được thông báo quá trình nạp chương trình đã hoàn tất. Nếu vì lí do nào đó mà quá trình nạp chương trình bị gián đoạn, em phải thực hiện lại câu lệnh nạp chương trình từ đầu.
b) Chạy chương trình điều khiển robot
Sau khi thực hiện thành công việc nạp chương trình vào bộ nhớ máy tính, chương trình sẽ được lưu ở đó cho tới khi em thực hiện việc nạp một chương trình mới cho robot. Để chạy chương trình đó, em cần ngắt kết nối máy tính với robot và bật công tắc nguồn cho robot hoạt động theo chương trình đã nạp. Em cần quan sát các hành động của robot để biết chương trình đã viết đúng hay chưa. Nếu chưa thì cần chỉnh sửa chương trình trên máy tính rồi thực hiện lại quá trình nêu trên từ đầu. Cứ như vậy, quá trình hoàn thiện một chương trình điều khiển robot sẽ là: viết - chạy thử - sửa - chạy thử,…
Trong quá trình nạp chương trình nếu bị ngắt kết nối em cần phải làm gì?
Sau khi viết xong chương trình cho robot trên máy tính, em cần thực hiện việc kết nối robot với máy tính và sử dụng phần mềm lập trình điều khiển để nạp chương trình đã viết vào bộ nhớ của robot.
Để chạy chương trình điều khiển đã được nạp trong bộ nhớ, em cần ngắt kết nối robot với máy tính, bật công tắc nguồn cho robot hoạt động theo chương trình đã nạp.
3. Kết nối điều khiển robot qua wifi và bluetooth
Bên cạnh việc kết nối và lập trình cho robot thông qua phần mềm lập trình trên máy
tính, các robot còn được trang bị công nghệ wifi hoặc bluetooth để có thể điều khiển từ xa. Sau đây là quy trình điều khiển robot qua kết nối không dây (wifi hoặc bluetooth):
Bước 1. Bật chế độ kết nối không dây (wifi hoặc bluetooth) của robot. Bước 2. Bật chương trình (app)
trên điện thoại di động và vào chế độ
điều khiển robot từ xa.
Bước 3. Kết nối robot với mạng
không dây (wifi hoặc bluetooth).
Bước 4. Điều khiển robot hoạt động
thông qua vỉ điều khiển không dây hoặc
chương trình trên điện thoại di động. Hình 5.4. Chương trình điều khiển G-Robot
Có thể điều khiển robot bằng kết nối không dây (wifi hoặc bluetooth).
LUYỆN TẬP
Mỗi lần điều chỉnh chương trình điều khiển robot em có cần thực hiện lại các bước nạp chương trình cho robot không?
VẬN DỤNG
Em hãy cho biết đâu là sự khác biệt lớn nhất giữa việc thực hiện chương trình thông thường trên máy tính và việc thực hiện chương trình điều khiển cho robot.
Bài 6. Chương trình điều khiển robot Học xong bài này em sẽ: Biết cách thiết lập và kiểm tra chương trình điều khiển robot. Biết cấu trúc chung của một chương t
Bài 6. Chương trình điều khiển robot
Học xong bài này em sẽ:
Biết cách thiết lập và kiểm tra chương trình điều khiển robot.
Biết cấu trúc chung của một chương trình điều khiển robot.
Em đã biết muốn điều khiển robot thì cần 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.
1. Thiết lập chương trình điều khiển robot
Hoạt động 1 Cách thiết lập chương trình điều khiển robot
Đọc, quan sát và tìm hiểu các bước đầu tiên thiết lập chương trình điều khiển robot.
a) Ngôn ngữ lập trình
Nói chung, các phần mềm lập trình điều khiển robot đều cho phép sử dụng một số ngôn ngữ lập trình bậc cao như C++, Python,... hoặc lập trình kéo thả để viết các chương trình điều khiển. 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.
Hình 6.1. Giao diện phần mềm GaraBlock
b) Thiết lập chương trình đầu tiên Chúng ta sẽ thiết lập một chương trình đơn 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
b) Thiết lập chương trình đầu tiên
Chúng ta sẽ thiết lập một chương trình đơn 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 chương trình. Khối thứ hai nằm trong vòng lặp vô tận.
Khối thứ nhất (Khởi động chương trình) gồm lệnh lặp bốn lần hành động đi thẳng với tốc độ 100 trong một giây.
Khối thứ hai (Lặp lại vô tận) gồm lệnh lặp vô tận hành động đi thẳng với tốc độ 100 trong một giây và bật còi trong một giây sau đó tắt còi.
Hình 6.2. Chương trình đầu tiên
1. 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ứ hai) ra ngoài vòng lặp vô tận thì chương trình sẽ chạy như thế nào?
2. 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?
2. Cấu trúc chương trình điều khiển robot
Hoạt động 2 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ước hết cần phân biệt sự khác nhau giữa việc thực hiện chương trình trên máy tính và chương trình điều khiển robot. Với chương trình thực hiện trên máy tính, toàn bộ chương trình và dữ liệu thường được đưa vào bộ nhớ và thực hiện lần lượt các lệnh, chương trình chủ động yêu cầu khi cần thông tin từ thiết bị vào (bàn phím, chuột,...). Với robot, chương trình điều khiển phải thường xuyên chờ để tiếp nhận thông tin vào (tín hiệu thu được từ các cảm biến, nút bấ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ác chương trình điều khiển robot thường có hai khối lệnh như Hình 6.3.
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.
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.
Hình 6.3. Cấu trúc chương trình điều khiển robot
– Khối lệnh thứ nhất sẽ được thực hiện một lần ngay sau khi nạp chương trình vào bộ nhớ của robot hoặc mỗi khi bật công tắc nguồn của bộ nhớ. – Khối lệnh nằm tr
– Khối lệnh thứ nhất sẽ được thực hiện một lần ngay sau khi nạp chương trình vào bộ nhớ của robot hoặc mỗi khi bật công tắc nguồn của bộ nhớ.
– Khối lệnh nằm trong vòng lặp vô tận thường là những lệnh thu nhận thông tin vào từ cảm biến hoặc phụ kiện (như bấm nút hoặc nhận sóng hồng ngoại từ vĩ điều khiển). Các lệnh này sẽ xử lí thông tin nhận được và chuyển điều khiển đến các cơ cấu chấp hành và các phụ kiện tiếp nhận điều khiển theo yêu cầu của chương trình.
Ví dụ 1. Robot tự hành, khi thấy vật cản phía trước thì dừng lại. Như vậy khi bắt đầu chương trình chúng ta thiết lập lệnh cho robot chuyển động. Trong vòng lặp vô tận cần luôn thực hiện kiểm tra nếu thấy vật cản phía trước thì dừng lại.
Ví dụ 2. Robot dò đường, tự động tìm đường đi trên sa bàn. Khi bắt đầu chương trình cần thiết lập lệnh cho robot chuyển động. Trong vòng lặp vô tận cần luôn kiểm tra dò đường, nếu thấy lệch khỏi đường đi thì điều chỉnh robot quay trái hoặc quay phải để đảm bảo đi đúng theo đường đã vạch ra trên sa bàn.
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?
3. Lập trình điều khiển robot
Hoạt động 3 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).
Để có thể mô tả chung chương trình điều khiển cho các loại 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ác lệnh điều khiển các cơ cấu cảm biến và chấp hành sẽ được học trong các bài tiếp theo.
Bảng 6.1. Mô tả các lệnh mã giả cơ bản
Lệnh, Mô tả bằng mã giả, Ý nghĩa
Khởi động chương trình, Khởi động chương trình <các lệnh>, <các lệnh> được thực hiện khi chạy chương trình.
Lệnh gán, <biến nhớ> = <giá trị>, Định nghĩa và gán giá trị cho biến nhớ.
Lệnh rẽ nhánh, dạng thiếu, if <điều kiện> <các lệnh>, Nếu <điều kiện> đúng thì thực hiện <các lệnh>.
Lệnh rẽ nhánh, dạng đầy đủ, if <điều kiện> <nhóm lệnh 1> else <nhóm lệnh 2>, Nếu <điều kiện> đúng thì thực hiện <nhóm lệnh 1>, trái lại thực hiện <nhóm lệnh 2>.
Lệnh lặp vô tận forever, forever <các lệnh>, <nhóm lệnh> được thực hiện lặp vô tận.
Lệnh, Mô tả bằng mã giả, Ý nghĩa Lệnh lặp hữu hạn repeat, repeat <số lần lặp> <nhóm lệnh>, <nhóm lệnh> sẽ được thực hiện đúng <số lần lặp> lần. Lệnh lặp hữu hạn
Lệnh, Mô tả bằng mã giả, Ý nghĩa
Lệnh lặp hữu hạn repeat, repeat <số lần lặp> <nhóm lệnh>, <nhóm lệnh> sẽ được thực hiện đúng <số lần lặp> lần.
Lệnh lặp hữu hạn for, for <biến> = <giá trị đầu> to <giá trị cuối> <nhóm lệnh>, Cho biến nhớ <biến> lần lượt gán từ giá trị <giá trị đầu> cho đến <giá trị cuối>, mỗi lần gán sẽ thực hiện <nhóm lệnh>.
Lệnh lặp có điều kiện dừng, kiểm tra trước while, while <điều kiện> <nhóm lệnh>, Kiểm tra liên tục nếu <điều kiện> đúng thì thực hiện <các lệnh>.
Dừng toàn bộ chương trình, stop, Dừng toàn bộ chương trình.
Lưu ý: Một số bảng mạch không hỗ trợ lệnh dừng toàn bộ stop.
Ví dụ chương trình điều khiển bảng mạch G-Robot ở Hình 6.2 có thể mô tả lại bằng mã giả như sau:
Khởi động chương trình
repeat 4
Đi thẳng (100)
Đợi 1 giây
forever
Đi thẳng (100)
Đợi 1 giây
Bật còi
Đợi 1 giây
Tắt còi
Vì sao nhóm lệnh lặp vô tận phải đặt ở cuối chương trình?
Em hãy viết chương trình bằng mã giả để đ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.
LUYỆN TẬP
Khi robot hoạt động theo chương trình đã nạp chưa đúng như mong muốn thì cần phải làm gì?
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 đó.
VẬN DỤNG
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 1 giây và đi lùi với tốc độ 100 trong 2 giây.
Thực hành: Cài đặt và kết nối robot Học xong bài này em sẽ: Cài đặt và kiểm tra được phần mềm lập trình điều khiển robot. Thực hành được một số thao tác trên ph
Thực hành: Cài đặt và kết nối robot
Học xong bài này em sẽ:
Cài đặt và kiểm tra được phần mềm lập trình điều khiển robot.
Thực hành được một số thao tác trên phần mềm lập trình điều khiển robot.
Nhiệm vụ 1. Cài đặt phần mềm lập trình điều khiển robot
Bước 1. Truy cập đường dẫn của nhà cung cấp để tải về bản cài đặt phần mềm. Để tải bản cài phần mềm GaraBlock, truy cập trang web garastem.com/download.
Bước 2. Tải phiên bản phù hợp với hệ điều hành máy tính.
Để đảm bảo bản cài đặt phần mềm tương thích với hệ điều hành máy tính, chúng ta cần kiểm tra phiên bản hệ điều hành của máy tính (Windows, MacOS hoặc Linux,...).
Các trang web cung cấp các phiên bản khác nhau dành cho người sử dụng tiếng Việt, tiếng Anh, dành cho hệ điều hành Windows, hệ điều hành MacOS,... Em cần chọn bản cài đặt phù hợp với hệ điều hành và nhu cầu sử dụng của mình.
Nháy chuột vào liên kết và làm theo các bước hướng dẫn để tải về máy.
Bước 3. Cài đặt phần mềm.
Nếu phần mềm được đóng gói dạng tệp nén thì em cần giải nén rồi cài đặt. Nếu phần mềm được đóng gói dưới dạng tệp cài đặt có đuôi ".exe" thì em chỉ cần chạy tệp cài đặt.
Bước 4. Cài đặt các driver cần thiết.
Để cài đặt driver tương ứng chúng ta cần kiểm tra phiên bản của hệ điều hành và chọn driver tương ứng.
Giả sử máy tính của em cài đặt hệ điều hành Windows 10. Mở thư mục GaraBlock vi, chọn drivers/Win10, nháy nút phải chuột vào tệp CH341_Windows.exe và chọn Run as administrator (Hình 7.1).
Đường dẫn đến tệp cài đặt
Nháy nút phải chuột vào đây
Chọn Run as administrator
Hình 7.1. Cài đặt driver
Thực hiện theo hướng dẫn, chọn INSTALL và chọn OK. - Tiếp theo, quay lại thư mục Win10/CP210x_Windows_Drivers, cài đặt tệp có số bit tương ứng với hệ điều hành,
Thực hiện theo hướng dẫn, chọn INSTALL và chọn OK. - Tiếp theo, quay lại thư mục Win10/CP210x_Windows_Drivers, cài đặt tệp có số
bit tương ứng với hệ điều hành, ví dụ ở phiên bản này là 64 bit. Nháy đúp chuột vào tệp có số bit tương ứng là CP210xVCPInstaller_x64.exe (Hình 7.2).
Đường dẫn đến
tệp cài đặt
Nháy đúp chuột để cài đặt
Hình 7.2. Đường dẫn đến tệp CP210xVCPInstaller_x64.exe
Chọn Next để cài đặt, chọn Finish khi cài đặt thành công.
Bước 5. Khởi động phần mềm và kiểm tra kết nối.
Sau khi cài đặt phần mềm và driver chúng ta cần khởi động phần mềm để đảm
bảo phần mềm được cài đặt thành công. Ví dụ: Với phần mềm GaraBlock em cần truy cập thư mục cài đặt và chạy tệp
GaraBlock.exe. Phần mềm khởi động và hiển thị như Hình 7.3 tức là đã được cài
đặt thành công.
Hình 7.3. Màn hình khởi động của phần mềm GaraBlock
Sau khi phần mềm đã cài đặt thành công, em cần kiểm tra kết nối giữa máy tính
và robot. Ví dụ, với phần mềm GaraBlock, các thông tin kiểm tra phần mềm nhận cổng kết nối với robot như Hình 7.4.
Hình 7.4. Giao diện khi chưa kết nối với robot Tại mục Kết nối, chọn Cổng kết nối Robot (Serial), khi robot chưa được kết nối với phần mềm thì giao diện hiển th
Hình 7.4. Giao diện khi chưa kết nối với robot
Tại mục Kết nối, chọn Cổng kết nối Robot (Serial), khi robot chưa được kết nối với phần mềm thì giao diện hiển thị Không tìm thấy Robot; ngược lại, tên của cổng kết nối sẽ được hiển thị.
Nhiệm vụ 2. Lập trình cho robot di chuyển
Hướng dẫn
Bước 1. Tạo chương trình mới.
Cách 1: Chọn Tập tin/Mới. Cách 2: Nhấn tổ hợp phím Ctrl + Shift + N. Bước 2. Lập trình cho robot di chuyển 50 bước và nói Xin chào (Hình 7.5).
Hình 7.5. Chương trình đầu tiên
Bước 3. Lưu chương trình: Chọn Tập tin/Lưu tập tin hoặc nhấn tổ hợp phím Ctrl + S. Bước 4. Kiểm tra thanh trạng thái và tên hiển thị.
Nhiệm vụ 3. Mở chương trình đã lưu trên máy tính
Hướng dẫn
Để mở các tệp chương trình đã được lưu, em chỉ cần chọn Tập tin/Mở tập tin.
LUYỆN TẬP
Em hãy lập trình cho robot di chuyển 100 bước và nói tạm biệt. Ghi lại tệp với tên Bailuyentap.
VẬN DỤNG
Dựa trên các bước cài đặt phần mềm GaraBlock ở nhiệm vụ 1, em hãy tìm hiểu cách để chuyển từ chế độ thông thường sang chế độ Arduino để nạp chương trình vào robot trong mục Sửa của phần mềm.
Thực hành: Kiểm tra tình trạng hoạt động của robot Học xong bài này em sẽ: Dùng phần mềm kiểm tra được trạng thái sẵn sàng hoạt động của robot với các thiết bị
Thực hành: Kiểm tra tình trạng hoạt động của robot
Học xong bài này em sẽ:
Dùng phần mềm kiểm tra được trạng thái sẵn sàng hoạt động của robot với các thiết bị đã kết nối.
Nhiệm vụ 1. Nạp chương trình kiểm tra động cơ
Chương trình điều khiển robot được sử dụng để nạp chương trình kiểm tra động cơ.
Phần hướng dẫn thực hành sử dụng bộ công cụ G-Robot Creator để minh hoạ.
Hướng dẫn
Bước 1. Khởi động phần mềm GaraBlock, chọn Sửa/Chế độ Grobot.
Hình 8.1. Cách chọn Chế độ Grobot
Bước 2. Tạo các câu lệnh lập trình như Hình 8.2.
Hình 8.2. Câu lệnh lập trình
Bước 3. Kết nối bảng mạch điều khiển với máy tính bằng dây nối, chọn Kết nối/Cổng kết nối Robot (Serial)/COM3 (Số thứ tự COM có thể thay đổi tuỳ máy tính). Hình
Bước 3. Kết nối bảng mạch điều khiển với máy tính bằng dây nối, chọn Kết nối/Cổng kết nối Robot (Serial)/COM3 (Số thứ tự COM có thể thay đổi tuỳ máy tính).
Hình 8.3. Cách chọn cổng kết nối
Bước 4. Chọn Nạp chương trình cho GRobot.
Hình 8.4. Nạp chương trình cho robot
Bước 5. Đợi cho đến khi nạp chương trình hoàn tất.
Hình 8.5. Quá trình nạp chương trình
Bước 6. Rút dây nối khỏi bảng mạch điều khiển. Bật công tắc nguồn.
Chuyển bảng mạch điều khiển robot sang chế độ lập trình với máy tính (vòng LED màu trắng). Cách chuyển robot sang chế độ lập trình: Nhấn lần lượt bốn lần nút chuyển chế độ ở giữa bảng mạch điều khiển robot để đến chế độ lập trình với máy tính. Mỗi lần bấm đợi 1 giây để đèn LED chuyển màu hoàn tất. Sau khi chuyển chế độ thành công, hai động cơ xoay trong vòng 4 giây rồi dừng.
Nhiệm vụ 2. Nạp chương trình kiểm tra cảm biến siêu âm
Hướng dẫn
Thực hiện các bước từ 1 đến 5 của nhiệm vụ 1. Tuy nhiên bước 2 thay bằng chương trình như Hình 8.6.
Hình 8.6. Chương trình kiểm tra cảm biến siêu âm Bước 6. Rút dây nối khỏi robot. Bật công tắc nguồn. Chuyển robot sang chế độ lập trình với máy tính (vòng LED m
Hình 8.6. Chương trình kiểm tra cảm biến siêu âm
Bước 6. Rút dây nối khỏi robot. Bật công tắc nguồn.
Chuyển robot sang chế độ lập trình với máy tính (vòng LED màu trắng). Sau khi chuyển chế độ thành công, robot sẽ liên tục kiểm tra cảm biến siêu âm. Nếu phía trước cảm biến siêu âm 20 cm có vật cản, động cơ sẽ dừng. Nếu không có vật cản, động cơ xoay liên tục.
Nhiệm vụ 3. Nạp chương trình kiểm tra động cơ servo
Hướng dẫn
Thực hiện các bước từ 1 đến 5
của nhiệm vụ 1. Tuy nhiên bước 2 thay bằng chương trình như Hình 8.7.
Bước 6. Rút dây nối khỏi robot. Bật
công tắc nguồn. Chuyển robot sang chế độ lập trình với máy tính (vòng LED màu trắng).
Sau khi chuyển chế độ thành công, động cơ servo sẽ lần lượt di chuyển đến các vị trí 0o, 90o và 180o và Hình 8.7. Chương trình kiểm tra dừng lại. động cơ servo
LUYỆN TẬP
Em hãy thay đổi cổng kết nối của
động cơ Servo sang cổng số 6 trên mạch điều khiển và hiệu chỉnh, thêm câu lệnh ở chương trình trong Hình 8.7 để động cơ servo trở về và dừng tại vị trí 0 độ.
VẬN DỤNG
Em hãy lắp ráp mô hình robot có sử dụng động cơ servo và nạp chương trình ở nhiệm vụ 3 để kiểm tra động cơ servo. Gợi ý: Em có thể lắp ráp mô hình robot
Hình 8.8. Robot đấu kiếm
đấu kiếm như Hình 8.8.
Chủ đề 3. LẬP TRÌNH ĐIỀU KHIỂN ROBOT Bài 9. Điều khiển robot chuyển động Học xong bài này em sẽ: Biết các lệnh điều khiển động cơ DC và động cơ servo của robot.
Chủ đề 3. LẬP TRÌNH ĐIỀU KHIỂN ROBOT
Bài 9. Điều khiển robot chuyển động
Học xong bài này em sẽ:
Biết các lệnh điều khiển động cơ DC và động cơ servo của robot.
Biết và lập trình điều khiển được robot chuyển động cánh tay.
Các em đã từng được quan sát robot chuyển động chưa? Làm thế nào để robot có thể chuyển động được? Trong các nhà máy, người ta sử dụng cánh tay robot để thực hiện một số công đoạn trong sản xuất thay cho con người. Cơ chế để điều khiển cánh tay robot là gì?
1. Lập trình điều khiển động cơ DC
Hoạt động 1 Tìm hiểu các lệnh điều khiển động cơ DC
Đọc, thảo luận để hiểu các lệnh cơ bản điều khiển động cơ DC của robot giáo dục.
a) Các lệnh điều khiển động cơ DC
Trong Bài 2 em đã làm quen với động cơ DC thường dùng để tạo chuyển động cho các bánh xe của robot. Động cơ DC chỉ có hai chiều xoay: (1) xoay từ trái sang phải theo chiều kim đồng hồ (quy ước gọi là chiều tiến) và ngược lại (2) xoay từ phải sang trái ngược chiều kim đồng hồ (chiều lùi). Câu lệnh để điều khiển động cơ DC có thể được mô tả như sau:
Xoay động cơ (chiều, tốc độ)
Trong đó, tham số chiều nhận một trong hai giá trị "tiến" hoặc "lùi"; tham số tốc độ nhận một giá trị nguyên từ 0 đến 255.
Chú ý: Trong thực tế, để động cơ DC của robot hoạt động ổn định với tốc độ xác định cần đảm bảo nguồn điện đủ theo quy định. Nếu nguồn điện yếu hơn quy định thì có thể dẫn đến sai số hoặc động cơ không hoạt động. Ngoài ra, bề mặt hoặc địa hình di chuyển cũng sẽ ảnh hưởng đến tốc độ của động cơ DC.
Các robot thường dùng hai động cơ DC độc lập là M1 và M2 kết nối với các cổng tương ứng trên bảng mạch điều khiển. Khi lắp ráp, các động cơ được quy định kết nối như sau:
– Động cơ lắp bên trái được kết nối với cổng M1. – Động cơ lắp bên phải được kết nối với cổng M2. Các robot đều hỗ trợ các lệnh trong Bảng 9.1 để điều khiển từn
– Động cơ lắp bên trái được kết nối với cổng M1.
– Động cơ lắp bên phải được kết nối với cổng M2.
Các robot đều hỗ trợ các lệnh trong Bảng 9.1 để điều khiển từng động cơ DC M1, M2 độc lập.
Bảng 9.1. Các lệnh để điều khiển động cơ DC
Lệnh, Tham số, Mô tả ý nghĩa
Xoay động cơ DC M1 (chiều, tốc độ), chiều (“tiến”, “lùi”) tốc độ (từ 0 đến 255), Điều khiển động cơ M1 (động cơ trái) chuyển động theo chiều kim đồng hồ (nếu chiều = “tiến”) hoặc ngược lại (nếu chiều = “lùi”).
Xoay động cơ DC M2 (chiều, tốc độ), chiều (“tiến”, “lùi”) tốc độ (từ 0 đến 255), Điều khiển động cơ tại cổng M2 (động cơ phải). Ý nghĩa tương tự lệnh điều khiển động cơ M1.
b) Điều khiển robot chuyển động
Để điều khiển robot chuyển động cần thiết lập các lệnh điều khiển đồng thời cả hai động cơ DC M1 và M2. Sau đây là phân tích một số trường hợp.
Chuyển động thẳng: Hai động cơ được thiết lập với các tham số như nhau.
Xoay động cơ DC M1 (tiến, tốc độ)
Xoay động cơ DC M2 (tiến, tốc độ)
Chuyển động lùi: Hai động cơ cùng "lùi" với cùng tốc độ.
Xoay động cơ DC M1 (lùi, tốc độ)
Xoay động cơ DC M2 (lùi, tốc độ)
Điều khiển robot rẽ trái: Có nhiều cách thực hiện, ví dụ:
– Cho động cơ trái dừng lại, động cơ phải vẫn chuyển động tiến.
Xoay động cơ DC M1 (tiến, 0)
Xoay động cơ DC M2 (tiến, tốc độ)
– Cho động cơ trái đi lùi, động cơ phải vẫn chuyển động tiến.
Xoay động cơ DC M1 (lùi, tốc độ)
Xoay động cơ DC M2 (tiến, tốc độ)
– Cho cả hai động cơ cùng chuyển động tiến nhưng tốc độ của M1 nhỏ hơn tốc độ của M2.
Xoay động cơ DC M1 (tiến, tốc độ 1)
Xoay động cơ DC M2 (tiến, tốc độ 2)
Điều khiển robot rẽ phải: Trường hợp này xử lí tương tự trường hợp rẽ trái.
Điều khiển robot dừng lại: Đặt tốc độ chuyển động của cả 2 động cơ bằng 0.
Xoay động cơ DC M1 (tiến, 0)
Xoay động cơ DC M2 (tiến, 0)
c) Các câu lệnh lập trình tích hợp điều khiển robot chuyển động
Trong lập trình điều khiển robot, người ta thường thiết lập các lệnh tích hợp điều khiển chuyển động như trong Bảng 9.2.
Bảng 9.2. Các lệnh tích hợp điều khiển chuyển động Câu lệnh, Tham số, Ý nghĩa Đi thẳng(tốc độ), tốc độ (từ 0 đến 255), Điều khiển robot chuyển động thẳng với <t
Bảng 9.2. Các lệnh tích hợp điều khiển chuyển động
Câu lệnh, Tham số, Ý nghĩa
Đi thẳng(tốc độ), tốc độ (từ 0 đến 255), Điều khiển robot chuyển động thẳng với <tốc độ>.
Đi lùi(tốc độ), tốc độ (từ 0 đến 255), Điều khiển robot chuyển động lùi với <tốc độ>.
Dừng lại, Điều khiển robot dừng lại.
Xoay trái(tốc độ), tốc độ (từ 0 đến 255), Điều khiển robot xoay trái với <tốc độ>.
Xoay phải(tốc độ), tốc độ (từ 0 đến 255), Điều khiển robot xoay phải với <tốc độ>.
Đợi(thời gian), thời gian tính bằng giây, Chương trình dừng không thực hiện trong <thời gian> tính bằng giây.
d) Ví dụ minh hoạ
Ví dụ 1. Cần điều khiển robot chuyển động từ vị trí A đến vị trí B và dừng lại. Đặt robot tại vị trí A và hướng về B. Chương trình điều khiển có thể như sau:
Bắt đầu chương trình
Đi thẳng(150)
Đợi 2 giây
Dừng lại
Hình 9.1. Sơ đồ điều khiển robot đi thẳng
Phân tích: Chương trình sẽ cho robot đi thẳng với tốc độ 150 trong thời gian 2 giây. Để điều khiển robot dừng lại tại vị trí B chúng ta phải điều chỉnh hai tham số tốc độ (150) và thời gian (2 giây) để đạt được mục đích.
Chú ý: Nếu chương trình bỏ đi lệnh Đợi 2 giây thì robot sẽ đứng im một chỗ. Lí do là khi ra lệnh điều khiển Đi thẳng(150), robot chưa kịp chuyển động thì chương trình đã thực hiện lệnh Dừng lại và do vậy robot sẽ đứng im. Do đó lệnh Đợi 2 giây là rất quan trọng, lệnh sẽ cho phép robot di chuyển trong 2 giây trước khi dừng lại.
Ví dụ 2. Cần điều khiển robot chuyển động từ vị trí A đi đến vị trí B, sau đó quay trái và đi đến C rồi dừng lại. Đặt robot tại vị trí A và hướng về B. Chương trình điều khiển có thể như sau:
Bắt đầu chương trình
Đi thẳng(150)
Đợi 2 giây
Xoay trái(100)
Đợi 0.5 giây
Đi thẳng(150)
Đợi 1.5 giây
Dừng lại
Hình 9.2. Sơ đồ điều khiển robot đi thẳng và rẽ trái
Phân tích: Chương trình sẽ điều khiển robot chuyển động từ A đến B (xem Ví dụ 1), sau đó thực hiện hai lệnh Xoay trái(100) và Đợi 0.5 giây để robot rẽ trái, sau đó đi tiếp đến C thì dừng lại. Em cần điều chỉnh các tham số để robot thực sự rẽ trái và đi tiếp đến C.
Em hãy viết câu lệnh điều khiển robot quay lại $180^{\circ}$ và đi tiếp. 2. Lập trình điều khiển động cơ servo Hoạt động 2 Tìm hiểu cách điều khiển động cơ serv
Em hãy viết câu lệnh điều khiển robot quay lại $180^{\circ}$ và đi tiếp.
2. Lập trình điều khiển động cơ servo
Hoạt động 2 Tìm hiểu cách điều khiển động cơ servo
Đọc, thảo luận về câu lệnh điều khiển của động cơ servo và mô hình ứng dụng hai động cơ servo.
a) Cách điều khiển động cơ servo
Khác với động cơ DC có thể điều khiển được chiều xoay và tốc độ xoay, động cơ servo chỉ có thể thực hiện được lệnh xoay cánh tay động cơ đến vị trí được lập trình sẵn nhưng không điều khiển được tốc độ xoay (Hình 9.3).
Chiều xoay của động cơ servo là hướng khi chúng ta quan sát trực diện với mặt trục xoay. Theo quy ước, chiều xoay từ phải sang trái tức ngược chiều kim đồng hồ của động cơ servo sẽ tính từ góc $0^{\circ}$ đến $180^{\circ}$. Ta có hình ảnh minh hoạ các vị trí góc của động cơ servo như Hình 9.4. Góc xoay của động cơ servo là từ $0^{\circ}$ đến $180^{\circ}$.
Hình 9.3. Minh hoạ vị trí của động cơ servo
Hình 9.4. Các góc xoay của động cơ servo
Như vậy lệnh điều khiển động cơ servo sẽ có hai tham số là cổng kết nối và góc xoay cần điều khiển của động cơ.
Bảng 9.3. Lệnh điều khiển động cơ servo
Lệnh, Tham số, Mô tả ý nghĩa
Xoay động cơ servo (cổng, góc), cổng (vị trí cổng I/O có kết nối với động cơ) góc (từ $0^{\circ}$ đến $180^{\circ}$), Điều khiển động cơ servo có kết nối tại cổng <cổng> xoay đến vị trí góc <góc> tính theo độ.
b) Mô hình cánh tay robot điều khiển bởi hai động cơ servo
Cánh tay robot là một loại thiết bị cơ khí được thiết kế để thực hiện các chức năng tương tự như cánh tay của con người và thường được sử dụng trong các dây chuyền lắp ráp, thay thế linh kiện tại các nhà máy.
Chúng ta sẽ quan sát một mô hình cánh tay robot đơn giản bao gồm phần tay máy và cơ cấu gắp đồ vật được điều khiển bởi hai động cơ servo: động cơ 1 điều khiển t
Chúng ta sẽ quan sát một mô hình cánh tay robot đơn giản bao gồm phần tay máy và cơ cấu gắp đồ vật được điều khiển bởi hai động cơ servo: động cơ 1 điều khiển tay máy nâng lên/hạ xuống; động cơ 2 điều khiển đóng/mở cơ cấu gắp.
Hình 9.5 mô tả một mô hình cánh tay máy hai bậc như vậy.
Hình 9.5. Mô hình cánh tay máy hai bậc
c) Ví dụ bài toán điều khiển cánh tay robot hai động cơ
Chương trình được viết bằng các lệnh mã giả như sau:
Khởi động chương trình
Xoay động cơ SERVO (5, 90)
Xoay động cơ SERVO (6, 85)
Goc_xoay = 90
repeat 10
Xoay động cơ SERVO (6, 100)
Đợi 0.5 giây
while Goc_xoay < 150
Goc_xoay = Goc_xoay + 2 Xoay động cơ SERVO (5, Goc_xoay) Đợi 0.05 giây
while Goc_xoay > 90
Goc_xoay = Goc_xoay - 2 Xoay động cơ SERVO (5, Goc_xoay) Đợi 0.05 giây
Xoay động cơ SERVO (6, 85)
Đợi 0.5 giây
Giả sử tham số của hai động cơ như sau: - Động cơ 1 kết nối tại cổng 5, có góc xoay từ 90o đến 150o. Góc 90o là hướng nằm
ngang, góc 150o là hướng lên trên. - Động cơ 2 kết nối tại cổng 6, có góc quay từ 85o đến 100o. Đây là động cơ điều khiển cơ cấu gắp đồ vật: góc 85o là mở hai tay gắp, góc 100o là đóng hai tay gắp.
Động cơ 1 dùng để nâng (hạ) cánh tay robot. Góc nâng được xác định bởi quy trình lắp ghép cơ khí của cánh tay. Ví dụ góc = 90° là vị trí nằm ngang, góc = 180° là vị trí đứng thẳng của cánh tay.
Động cơ 2 dùng để mở, đóng hai tay của cơ cấu gắp các đồ vật. Góc xoay = 0° là mở, góc xoay = 90° là khép hai tay.
Thiết lập vị trí ban đầu: động cơ 1 cổng 5, động cơ 2 cổng 6
Điều khiển nắm tay gắp (mô phỏng động tác gắp đồ vật) Sử dụng biến nhớ Goc_xoay để điều khiển cánh tay robot từ từ nâng lên vị trí góc 150o. Biến nhớ Goc_xoay luôn bằng giá trị góc xoay hiện thời của động cơ 2. Sử dụng biến nhớ Goc_xoay để điều khiển cánh tay robot từ từ hạ xuống vị trí góc 90o.
Điều khiển tay gắp mở ra (mô phỏng động tác thả đồ vật).
Ban đầu cần thiết lập động cơ 1 đến vị trí góc xoay 90o (hướng ngang), động cơ 2 đến vị trí góc 85o (hai tay gắp mở). Chương trình sẽ lặp lại 10 lần thao tác gắ
Ban đầu cần thiết lập động cơ 1 đến vị trí góc xoay 90o (hướng ngang), động cơ 2 đến vị trí góc 85o (hai tay gắp mở). Chương trình sẽ lặp lại 10 lần thao tác gắp đồ vật như sau: + Hai tay của cơ cấu gắp đóng lại để gắp đồ vật. + Tay máy nâng dần vật lên đến góc 150o, sau đó tay máy hạ dần vật xuống vị trí ban
đầu là góc 90o. + Hai tay thuộc cơ cấu gắp mở ra để thả đồ vật.
Hình 9.6 là đoạn chương trình trên được viết trên phần mềm GaraBlock để điều khiển cánh tay hai bậc của robot G-Robot.
Thiết lập góc xoay của động cơ 1 tại góc 90o, góc xoay động cơ 2 tại góc 85o
Lặp 10 lần
Đóng hai tay gắp đồ vật tại góc 100o
Nâng đồ vật lên vị trí tương ứng góc 150o
Hạ đồ vật xuống vị trí tương ứng góc 90o
Cuối cùng mở hai tay gắp đồ vật để chuẩn bị cho lần tiếp theo
Hình 9.6. Chương trình điều khiển cánh tay hai bậc của robot G-Robot
Em hãy giải thích ý nghĩa của hai lệnh Đợi 0.5 giây trong chương trình ở Hình 9.6.
Em hãy cho biết hai lệnh thiết lập tham số ban đầu của động cơ tại cổng 5 và 6 trong chương trình ở Hình 9.6 có thể thay đổi vị trí được không.
LUYỆN TẬP
Em hãy viết chương trình bằng mã giả lập để điều khiển robot di chuyển theo cạnh của hình vuông cho trước theo chiều ngược kim đồng hồ.
Em hãy nêu sự khác biệt cơ bản giữa lập trình động cơ DC và động cơ servo.
VẬN DỤNG
Em hãy viết lại các chương trình điều khiển robot chuyển động được giới thiệu trong bài, sử dụng lệnh điều khiển từng động cơ M1 và M2.
Em hãy tìm hiểu thêm các kiểu kết nối ứng dụng khác của cánh tay robot hai bậc.
Bài 10. Điều khiển robot nhận biết vật cản Học xong bài này em sẽ: Biết được các lệnh điều khiển cảm biến siêu âm của robot. Biết lập trình điều khiển được robo
Bài 10. Điều khiển robot nhận biết vật cản
Học xong bài này em sẽ:
Biết được các lệnh điều khiển cảm biến siêu âm của robot.
Biết lập trình điều khiển được robot nhận biết vật cản trên sa bàn.
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 được vật cản và làm gì để tránh vật cản đó?
1. Cảm biến siêu â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 và lệnh lập trình cảm biến siêu âm.
a) Lệnh lập trình của cảm biến siêu âm
Câu lệnh lập trình cảm biến siêu âm luôn trả về giá trị là khoảng cách từ cảm biến siêu âm đến vật cản phía trước theo đơn vị centimét.
Bảng 10.1. Lệnh lập trình cảm biến siêu âm
Lệnh, Tham số, Mô tả ý nghĩa
Tín hiệu siêu âm (cổng), cổng = vị trí cổng I/O có kết nối với cảm biến siêu âm., Lệnh trả lại giá trị là khoảng cách từ vị trí cảm biến đến vật cản.
Tham số cổng là cổng kết nối cảm biến siêu âm với bảng mạch điều khiển. Đối với mỗi loại robot thì các cổng được quy định và đặt tên khác nhau.
Chú ý: Mỗi cảm biến siêu âm chỉ có tác dụng trong một khoảng cách nhất định. Gọi khoảng cách này là Max. Khi vật cản ở xa, vượt qua giới hạn Max, có thể coi hàm nhận tín hiệu cảm biến sẽ trả về giá trị Max.
b) Lập trình với cảm biến siêu âm
Trong Bài 6 chúng ta đã biết cấu trúc chung của một chương trình điều khiển robot bao gồm hai phần: Phần các lệnh được chạy một lần được đặt sau lệnh Khởi động chương trình và phần gồm các lệnh sẽ được lặp vô tận nằm trong vòng lặp forever.
Để robot nhận được tín hiệu cảm biến siêu âm liên tục với thời gian thực chúng ta cần đưa lệnh điều khiển cảm biến siêu âm vào trong nhóm lệnh thứ hai, tức là n
Để robot nhận được tín hiệu cảm biến siêu âm liên tục với thời gian thực chúng ta cần đưa lệnh điều khiển cảm biến siêu âm vào trong nhóm lệnh thứ hai, tức là nhóm lệnh lặp vô hạn trong chương trình.
Sơ đồ chung của việc xử lí thông tin cảm biến siêu âm của robot:
forever
if <nhận tín hiệu cảm biến siêu âm>
Xử lí tín hiệu cảm biến siêu âm
Giả sử cảm biến siêu âm kết nối với bảng mạch điều khiển ở cổng 3. Chương trình điều khiển robot dừng lại khi phía trước có vật cản ở khoảng cách nhỏ hơn 10 cm có dạng sau:
Khởi động chương trình
forever
if tín hiệu siêu âm (3) < 10
Dừng lại
else
Đi thẳng (150)
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ẽ như thế nào?
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 cách quá ngắn, ví dụ dưới 1 cm?
2. Robot nhận biết và tránh vật cản
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 trình điều, khiển robot tránh vật cản.
a) Cách điều khiển chung để robot xử lí khi gặp Chúng ta đã biết các lệnh sử dụng cảm biến siêu âm, vật cản để nhận biết và tránh vật cản
của robot đều phải được đặt trong nhóm lệnh lặp vô tận forever. Chúng ta sẽ xét các trường hợp cụ thể hơn của công việc điều khiển này. (1) Điều khiển robot gặp vật cản thì dừng lại, có thể cho robot tiến đến sát vật cản mới dừng lại. Chương trình có thể như sau:
Khởi động chương trình
forever
Đi thẳng (50)
if Tín hiệu siêu âm (cổng) < 10
Dừng lại
(2) Điều khiển robot gặp vật cản thì rẽ trái để tránh vật cản. Có hai cách để thực hiện: Cách 1. Vì yêu cầu robot rẽ trái cần một lệnh điều khiển bổ sung nên ch
(2) Điều khiển robot gặp vật cản thì rẽ trái để tránh vật cản. Có hai cách để thực hiện:
Cách 1. Vì yêu cầu robot rẽ trái cần một lệnh điều khiển bổ sung nên chúng ta cho robot cảm nhận vật cản ở khoảng cách xa hơn, thực hiện lệnh xoay trái và đi tiếp.
Chương trình có thể như sau:
Khởi động chương trình
forever
Đi thẳng(50)
if Tín hiệu siêu âm (cổng) < 10
Xoay trái (50)
Đợi 1 giây
Cách 2. Trong một số trường hợp để điều khiển robot tránh vật cản có thể cho robot đi lùi lại 0,5 giây để đảm bảo khoảng cách an toàn với vật cản, sau đó mới cho robot rẽ trái và đi tiếp:
Khởi động chương trình
forever
Đi thẳng(50)
if Tín hiệu siêu âm (cổng) < 10
Đi lùi (50)
Đợi 0.5 giây
Xoay trái (50)
Đợi 0.5 giây
Chú ý:
– Xử lí tương tự cho robot rẽ phải để tránh vật cản.
– Trên thực tế em cần điều chỉnh chi tiết các tham số về tốc độ, khoảng cách và thời gian để chương trình đạt được hiệu quả như ý muốn.
b) Cách điều khiển robot tránh nhiều vật cản trên đường đi
Trong phần này chúng ta xét một ví dụ với yêu cầu phức tạp hơn của robot khi gặp và tránh vật cản. Giả sử trên đường đi đã lập trình sẵn của robot có rất nhiều vật cản. Yêu cầu như sau:
– Nếu gặp vật cản thứ nhất thì rẽ trái.
– Nếu gặp vật cản thứ hai thì rẽ phải.
– Nếu gặp các vật cản tiếp theo thì lặp lại yêu cầu như trên: robot sẽ rẽ trái và sau đó rẽ phải nếu gặp vật cản tiếp theo.
Để thực hiện yêu cầu trên, chúng ta sẽ thiết lập một biến nhớ có tên dem_vat_can để đếm số vật cản và tính toán để thực hiện đúng theo yêu cầu của chương trình.
Hình 10.1. Hướng di chuyển của robot Ban đầu thiết lập dem_vat_can = 0, sau đó mỗi lần gặp vật cản thì tăng biến nhớ lên 1 đơn vị. Nếu dem_vat_can = 2 thì đặt l
Hình 10.1. Hướng di chuyển của robot
Ban đầu thiết lập dem_vat_can = 0, sau đó mỗi lần gặp vật cản thì tăng biến nhớ lên 1 đơn vị. Nếu dem_vat_can = 2 thì đặt lại giá trị 0 để lặp lại quá trình tránh vật cản từ đầu.
Sau đây là một phương án thực hiện:
Khởi động chương trình
dem_vat_can = 0
forever
Đi thẳng(50)
if Tín hiệu siêu âm (cổng) < 10
if dem_vat_can = 0
Xoay trái (50)
if dem_vat_can = 1
Xoay phải (50)
dem_vat_can = dem_vat_can + 1
if dem_vat_can = 2
dem_vat_can = 0
Đợi 0.5 giây
Giải thích chương trình. Ban đầu robot sẽ đi thẳng với tốc độ 50 cho đến khi gặp các vật cản robot sẽ xoay trái hoặc xoay phải tương ứng thứ tự vật cản. Lệnh đợi 0.5 giây ở cuối chương trình giúp tạo thời gian để robot thực hiện các lệnh xoay ở phía trên.
c) Ví dụ minh hoạ cho chương trình trên G-Robot Trên robot G-Robot, cổng mặc định của cảm biến siêu âm là port 3. Chương trình lập trình trên phần mềm GaraBlock
c) Ví dụ minh hoạ cho chương trình trên G-Robot
Trên robot G-Robot, cổng mặc định của cảm biến siêu âm là port 3. Chương trình lập trình trên phần mềm GaraBlock sẽ như Hình 10.2.
Hình 10.2. Chương trình minh hoạ
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 theo chiều ngược lại.
LUYỆN TẬP
Vì sao luôn phải đặt lệnh nhận tín hiệu cảm biến siêu âm trong một vòng lặp vô hạn?
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 hiệu của 2 cảm biến khi lập trình?
VẬN DỤNG
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 vật cản như thế nào.
Em hãy viết chương trình mở rộng yêu cầu của chương trình minh hoạ trong Mục 2, yêu cầu robot xử lí vật cản như sau: - Nếu gặp vật cản thứ nhất thì rẽ trái. - Nếu gặp vật cản thứ hai thì rẽ phải. - Nếu gặp vật cản thứ ba thì xoay 180 độ đi theo chiều ngược lại. - Nếu gặp các vật cản tiếp theo thì lặp lại yêu cầu như trên: robot sẽ 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.
Bài 11. Dẫn đường tự động cho robot Học xong bài này em sẽ: Biết lập trình sử dụng cảm biến dò đường để dẫn đường tự động cho robot. Theo em làm thế nào để robo
Bài 11. Dẫn đường tự động cho robot
Học xong bài này em sẽ:
Biết lập trình sử dụng cảm biến dò đường để dẫn đường tự động cho robot.
Theo em làm thế nào để robot có thể tự di chuyển đúng đường đi đã vạch sẵn?
1. Xác định tín hiệu của mắt trong cảm biến dò đường
Hoạt động 1 Xác định tín hiệu của mắt trong cảm biến dò đường
Đọc, thảo luận về nguyên tắc hoạt động và câu lệnh xác định tín hiệu của mắt trong cảm biến dò đường.
Trong Bài 3, các em đã được học cảm biến dò đường là loại cảm biến cho phép phát hiện bề mặt phản xạ hay bề mặt hấp thụ ánh sáng ở khoảng cách gần. Các cảm biến dò đường đều phải có ít nhất hai mắt tín hiệu song song với nhau và nhìn về cùng 1 hướng. Mỗi mắt của cảm biến sẽ có hai giá trị tín hiệu: bằng 1, nếu bề mặt phản xạ màu sáng; bằng 0 nếu bề mặt phản xạ màu tối.
Cảm biến dò đường hai mắt được lắp phía dưới thân robot hướng nhìn thẳng xuống mặt đường.
Mắt dò đường phải
Hướng của robot
Mắt dò đường trái
Hình 11.1. Vị trí của mắt trái và mắt phải
Lệnh nhận giá trị tín hiệu của mắt trong cảm biến dò đường hai mắt được mô tả trong Bảng 11.1. Bảng 11.1. Lệnh nhận giá trị tín hiệu của mắt Lệnh, Tham số, Mô t
Lệnh nhận giá trị tín hiệu của mắt trong cảm biến dò đường hai mắt được mô tả trong Bảng 11.1.
Bảng 11.1. Lệnh nhận giá trị tín hiệu của mắt
Lệnh, Tham số, Mô tả ý nghĩa
Tín hiệu dò đường (mắt, cổng), mắt = "trái", "phải" là vị trí mắt trái hay phải của cảm biến. cổng = vị trí cổng I/O kết nối cảm biến dò đường., Lệnh trả lại giá trị tín hiệu của mắt <mắt> (trái hoặc phải) trong cảm biến dò đường kết nối tại cổng <cổng>. Giá trị trả lại có ý nghĩa như sau: 1 - mắt trên vùng đường sáng (vùng sáng). 0 - mắt trên vùng đường tối (vùng tối).
2. Dẫn đường với cảm biến dò đường hai mắt
Hoạt động 2 Lập trình dẫn đường với cảm biến dò đường hai mắt
Đọc, thảo luận cách thức dẫn đường tự động cho robot với cảm biến dò đường hai mắt.
Cảm biến dò đường dùng để phân biệt bề mặt sáng hay tối, vì thế đường mà cảm biến di chuyển qua cần phải tuân thủ các nguyên tắc sau:
– Độ rộng của đường phải rộng hơn khoảng cách giữa hai mắt cạnh nhau của cảm biến.
– Đường phải có màu tương phản với phần xung quanh đường, ví dụ đường màu đen thì xung quanh là màu trắng hoặc ngược lại. Do vậy, nên tránh điều khiển dẫn đường cho robot dưới trời nắng chói.
Tương ứng với hai mắt của cảm biến sẽ có bốn trường hợp cần xử lí khi lập trình. Ví dụ minh hoạ trong Hình 11.2.
Trường hợp 1 Trường hợp 2 Trường hợp 3 Trường hợp 4
Hình 11.2. Minh hoạ vị trí cảm biến dò đường so với đường di chuyển
Bảng 11.2. Các trường hợp của cảm biến dò đường hai mắt Trường hợp, Mắt trái, Mắt phải, Xử lí dò đường Hai mắt tín hiệu cùng nằm ở vùng tối., 0, 0, Robot cần đi
Bảng 11.2. Các trường hợp của cảm biến dò đường hai mắt
Trường hợp, Mắt trái, Mắt phải, Xử lí dò đường
Hai mắt tín hiệu cùng nằm ở vùng tối., 0, 0, Robot cần đi thẳng.
Mắt trái nằm trên mặt tối, mắt phải nằm trên vùng sáng., 0, 1, Robot cần rẽ trái.
Mắt trái nằm trên vùng sáng, mắt phải nằm trên vùng tối., 1, 0, Robot cần rẽ phải.
Cả hai mắt đều nằm trên vùng sáng., 1, 1, Đối với từng trường hợp đường đi cụ thể có thể xử lí một trong các động tác sau: xoay trái, xoay phải, đi lùi để về đường di chuyển hoặc dừng lại để dừng tại điểm kết thúc.
Ví dụ: Nếu chúng ta có một sa bàn đơn giản với một đường đi tối màu khép kín (Hình 11.3) để điều khiển robot tự động dò đường đi hết sa bàn thì chương trình có thể như sau:
Khởi động chương trình
forever
if Tín hiệu dò đường("trái",cổng)=0 and Tín hiệu dò đường("phải",cổng)=0
Đi thẳng (100)
if Tín hiệu dò đường("trái",cổng)=0 and Tín hiệu dò đường("phải",cổng)=1
Xoay trái (70)
if Tín hiệu dò đường("trái",cổng)=1 and Tín hiệu dò đường("phải",cổng)=0
Xoay phải (70)
if Tín hiệu dò đường("trái",cổng)=1 and Tín hiệu dò đường("phải",cổng)=1
Xoay trái (70)
Hình 11.3. Mô hình sa bàn
Vì sao các cảm biến dò đường thường được lắp ghép với robot ở dưới gầm của robot tự hành, ngay sát phía trước? Hình 11.4. Sơ đồ đường đi của robot 3. Dẫn đường
Vì sao các cảm biến dò đường thường được lắp ghép với robot ở dưới gầm của robot tự hành, ngay sát phía trước?
Hình 11.4. Sơ đồ đường đi của robot
3. Dẫn đường với cảm biến dò đường bốn mắt
Hoạt động 3 Dẫn đường với cảm biến dò đường bốn mắt
Đọc, thảo luận nhóm về câu lệnh lập trình cảm biến dò đường bốn mắt và cách thức dẫn đường cho robot với cảm biến bốn mắt.
a) Câu lệnh nhận tín hiệu mắt trong cảm biến dò đường bốn mắt
Cảm biến dò đường bốn mắt sẽ có bốn mắt tín hiệu được đánh số thứ tự 1, 2, 3, 4 từ trái sang phải theo hướng nhìn của robot.
Cảm biến dò đường bốn mắt giúp phát hiện được đường di chuyển có ngã ba hoặc ngã tư, do vậy robot có thể dò đường chính xác hơn.
Lệnh nhận giá trị tín hiệu của mắt trong cảm biến dò đường bốn mắt cũng tương tự như với cảm biến dò đường hai mắt.
Bảng 11.3. Lệnh nhận giá trị tín hiệu của mắt
Lệnh, Tham số, Mô tả ý nghĩa
Tín hiệu dò đường (mắt, cổng), mắt (1, 2, 3, 4 – vị trí của mắt trên cảm biến tính từ trái sang phải) cổng (vị trí cổng I/O kết nối cảm biến dò đường), Lệnh trả lại giá trị tín hiệu của mắt <mắt> (1, 2, 3, 4) trong cảm biến dò đường kết nối tại cổng <cổng>. Giá trị trả lại có ý nghĩa như sau: 1 - mắt trên mặt đường sáng (vùng sáng). 0 - mắt trên mặt đường tối (vùng tối).
b) Dẫn đường cho robot với cảm biến bốn mắt
Mỗi mắt tín hiệu của cảm biến dò đường bốn mắt có hai giá trị tín hiệu bằng 0 và 1. Do đó tổng cộng chúng ta có $2^4 = 16$ trường hợp các tổ hợp giá trị tín hiệu từ bốn mắt. Mỗi tổ hợp có dạng $(a_1, a_2, a_3, a_4)$, với $a_k$ bằng 0 hoặc 1 là giá trị tín hiệu của mắt thứ k trong cảm biến. Hình 11.5 mô tả bốn trường hợp điển hình của các trạng thái cảm biến dò đường bốn mắt trên thực địa khi gặp ngã ba, ngã tư. Ví dụ (1, 0, 0, 1) tương ứng với trạng thái mắt 2 và 3 nằm ở vùng tối, mắt 1 và 4 ở vùng sáng - robot chuyển động thẳng theo đường; (0,0,0,1) - mắt 4 ở vùng sáng, các mắt còn lại ở vùng tối, robot chuyển động rẽ trái,...
Trường hợp 1 (1, 0, 0, 1) Trường hợp 2 (0, 0, 0, 1) Trường hợp 3 (0, 0, 0, 0) Trường hợp 4 (1, 0, 0, 0) Hình 11.5. Bốn trường hợp của các trạng thái cảm biến dò
Trường hợp 1 (1, 0, 0, 1)
Trường hợp 2 (0, 0, 0, 1)
Trường hợp 3 (0, 0, 0, 0)
Trường hợp 4 (1, 0, 0, 0)
Hình 11.5. Bốn trường hợp của các trạng thái cảm biến dò đường bốn mắt
Đối với cảm biến dò đường bốn mắt, tuỳ vào từng trường hợp cụ thể chúng ta sẽ có cách xử lí khác nhau tương ứng theo sa bàn, mục tiêu của người lập trình và yêu cầu của đề bài.
Em hãy giải thích ý nghĩa của tổ hợp tín hiệu từ cảm biến dò đường 4 mắt trong các trường hợp sau:
a) (0, 1, 1, 1).
b) (1, 1, 1, 0).
LUYỆN TẬP
Em hãy viết chương trình điều khiển robot đi từ vị trí A đến vị trí B (trong sa bàn ở Hình 11.4) thì dừng lại.
Em hãy viết đoạn chương trình robot dò đường trong trường hợp tổ hợp tín hiệu từ cảm biến dò đường là (0, 0, 0, 1), gặp ngã ba robot sẽ rẽ trái.
Em hãy viết chương trình sử dụng câu lệnh cảm biến dò đường hai mắt cho trường hợp: khi robot đi hết phần đường màu đen và gặp phần đường màu trắng thì quay đầu lại.
Em hãy viết chương trình điều khiển robot dò đường, đi từ vị trí A đến vị trí B thì rẽ trái, đi đến vị trí C thì dừng lại (Hình 11.6). Robot có trang bị cảm biến dò đường bốn mắt.
Hình 11.6. Sơ đồ sa bàn cho robot dò đường 4 mắt
VẬN DỤNG
Em hãy tìm cách thay đổi các câu lệnh của chương trình dò đường ở Mục 2 sao cho robot vẫn di chuyển đúng như chương trình hiện có.
Em hãy kể tên các robot dò đường tự động trong đời sống mà em biết.
Thực hành: Điều khiển robot trên sa bàn Học xong bài này em sẽ: Vận dụng được nguyên lí hoạt động của cảm biến siêu âm và cảm biến dò đường để lập trình điều kh
Thực hành: Điều khiển robot trên sa bàn
Học xong bài này em sẽ:
Vận dụng được nguyên lí hoạt động của cảm biến siêu âm và cảm biến dò đường để lập trình điều khiển robot tự động di chuyển trên sa bàn.
Chuẩn bị sa bàn
Em có thể tự chuẩn bị một sa bàn cho robot di chuyển. Có thể sử dụng một tấm bìa hoặc một tấm nhựa trắng có kích thước phù hợp để làm sa bàn, sau đó sử dụng băng dính đen (thường dùng để quấn dây điện) để ghép, dán thành những đường di chuyển và đảm bảo:
Đường di chuyển phải được dán trên bề mặt bằng phẳng và có màu sáng tương phản cao với màu đen. Ví dụ dán băng dính màu đen lên giấy bìa màu trắng khổ A1 hoặc khổ A0.
Hình dạng đường di chuyển có thể là đường thẳng, đường cong đảm bảo đủ không gian cho robot di chuyển.
Đường băng dính có độ rộng lớn hơn độ rộng giữa hai mắt cạnh nhau của cảm biến dò đường.
Hình 12.1. Hình ảnh sa bàn
Vật cản có thể là: khối xốp, khối gấp bằng giấy,... sao cho đảm bảo khối lượng nhẹ, kích thước (dài × rộng × cao) tối thiểu 35 × 45 × 95 mm và tối đa 100 × 150
Vật cản có thể là: khối xốp, khối gấp bằng giấy,... sao cho đảm bảo khối
lượng nhẹ, kích thước (dài × rộng × cao) tối thiểu 35 × 45 × 95 mm và tối đa 100 × 150 × 95 mm. Ngoài ra chúng ta cũng có thể quy định các vị trí sau đây trên sa bàn để dễ dàng ghi nhớ trong quá trình thực hành. - Bắt đầu: Vị trí đặt robot ban đầu tuỳ theo từng nhiệm vụ. - Kết thúc: Vị trí robot dừng lại. - Vị trí A, B: Các vị trí đặt vật cản. Vật cản được đặt ngẫu nhiên tại A hoặc B
sao cho vật cản chắn được tín hiệu phát ra từ cảm biến siêu âm của robot. - Vị trí C, D, E: Vị trí mở rộng (dành cho các bài luyện tập mở rộng và nâng cao).
Chú ý: Đường di chuyển của robot là màu đen với độ rộng tiêu chuẩn 3 cm.
Nhiệm vụ 1
Yêu cầu
Lập chương trình điều khiển robot đi một vòng quanh sa bàn theo chiều ngược kim đồng hồ, xuất phát từ vị trí Bắt đầu và dừng tại vị trí Kết thúc.
Phân tích
Để thực hiện nhiệm vụ 1, em cần vận dụng các kiến thức đã học về cảm biến dò đường 2 mắt để điều khiển robot di chuyển chính xác theo đường đi trên sa bàn.
Chuẩn bị Thực hiện
Sa bàn, robot có gắn thành phần động cơ, cảm biến dò đường.
Trong thực tế, khi được cấp cùng một nguồn hoạt động thì các động cơ DC vẫn không xoay với tốc độ bằng nhau do giữa chúng tồn tại chênh lệch về tốc độ xoay. Do vậy, em có thể điều chỉnh tốc độ của từng động cơ với các mức chênh lệch tốc độ khác nhau, ví dụ, giữ nguyên tốc độ một động cơ và tăng hoặc giảm tốc độ động cơ còn lại, sau đó chạy thử để kiểm tra kết quả và điều chỉnh cho chính xác.
Hướng dẫn
Hướng dẫn sau đây được lập trình thực tế trên phần mềm GaraBlock để minh hoạ.
Bước 1. Lập trình cho bốn trường hợp của cảm biến dò đường.
Trường hợp 1: Khi cả hai mắt tín hiệu cảm biến dò đường cùng nằm trên đường
màu đen, em cần lập trình cho robot đi thẳng với tốc độ phù hợp (Hình 12.2).
Hình 12.2. Chương trình điều khiển robot đi thẳng
Em có thể sử dụng câu lệnh điều khiển từng động cơ với tốc độ khác nhau để robot đi thẳng chính xác hơn. Trong trường hợp này, chúng ta có thể thay câu lệnh kéo
Em có thể sử dụng câu lệnh điều khiển từng động cơ với tốc độ khác nhau để robot đi thẳng chính xác hơn. Trong trường hợp này, chúng ta có thể thay câu lệnh kéo thả đi thẳng thành hai câu lệnh điều khiển động cơ M1 và động cơ M2 với tốc độ khác nhau. Ví dụ, các lệnh ở Hình 12.3 cho thấy tốc độ của động cơ M1 nhỏ hơn tốc độ của động cơ M2 là 5.
Hình 12.3. Các lệnh điều khiển robot đi thẳng bằng cách điều khiển từng động cơ - Trường hợp 2: Khi cảm biến dò đường bị lệch phải, em cần lập trình cho robot
xoay trái với tốc độ phù hợp (Hình 12 .4).
Hình 12.4. Chương trình điều khiển robot xoay trái
Trường hợp 3: Khi cảm biến dò đường bị lệch trái, em cần lập trình cho robot xoay
phải với tốc độ phù hợp (Hình 12.5).
Hình 12.5. Chương trình điều khiển robot xoay phải
Trường hợp 4: Khi cả hai mắt tín hiệu cảm biến dò đường cùng nằm trên vùng màu
trắng, cần lập trình cho robot dừng lại. Ví dụ chương trình trong Hình 12.6.
Hình 12.6. Chương trình điều khiển robot dừng lại
Kết hợp cả bốn trường hợp trên, em sẽ lập được chương trình điều khiển robot sử dụng cảm biến dò đường thực hiện nhiệm vụ 1. Chương trình như Hình 12.7.
Hình 12.7. Chương trình hoàn chỉnh Bước 2. Kết nối robot với máy tính và tiến hành nạp chương trình đã lập vào robot. Bước 3. Sau khi nạp chương trình thành côn
Hình 12.7. Chương trình hoàn chỉnh
Bước 2. Kết nối robot với máy tính và tiến hành nạp chương trình đã lập vào robot. Bước 3. Sau khi nạp chương trình thành công, đặt robot vào vị trí bắt đầu trên sa
bàn sao cho cả hai mắt của cảm biến dò đường đều nằm trên đường màu đen. Sau đó bấm nút chuyển đến chế độ lập trình với máy tính (vòng đèn LED màu trắng) trên mạch điều khiển của robot và quan sát kết quả, robot sẽ di chuyển từ vị trí Bắt đầu và tự động dừng lại tại vị trí Kết thúc.
Nhiệm vụ 2
Yêu cầu
Lập chương trình điều khiển robot đi một vòng quanh sa bàn, nếu gặp vật cản thì đổi hướng di chuyển.
Phân tích
Trong nhiệm vụ này, em cần lập trình kết hợp giữa cảm biến dò đường và cảm biến siêu âm để robot đi theo vạch cơ bản, đổi hướng di chuyển khi phát hiện vật cản.
Chuẩn bị Thực hiện
Chuẩn bị robot như ở nhiệm vụ 1 và gắn thêm thành phần cảm biến siêu âm. Em có thể sử dụng lại chương trình đã lập cho cảm biến dò đường ở nhiệm vụ 1 và lập trình cảm biến siêu âm phát hiện vật cản trong phạm vi 10 cm. Khi phát hiện có vật cản trong phạm vi 10 cm, robot đổi hướng di chuyển (có thể xoay trái hoặc xoay phải với thời gian hợp lí cho đến khi phát hiện được vạch cơ bản thì tiếp tục đi thẳng).
Hướng dẫn
Hướng dẫn sau đây được lập trình thực tế trên phần mềm GaraBlock để minh hoạ.
Bước 1. Lập trình kết hợp cảm biến dò đường và cảm biến siêu âm.
Khi cảm biến siêu âm phát hiện có vật cản trong khoảng 10 cm, robot sẽ xoay trái trong khoảng 1 giây (thời gian có thể tuỳ chỉnh nếu cần) đến khi gặp vạch kẻ đường thì tiếp tục di chuyển theo vạch kẻ đường. Ví dụ chương trình trong Hình 12.8.
Hình 12.8. Chương trình điều khiển robot đổi hướng di chuyển khi có vật cản Kết hợp chương trình đã lập ở nhiệm vụ 1 (đã hiệu chỉnh tốc độ lệnh đi thẳng và thay
Hình 12.8. Chương trình điều khiển robot đổi hướng di chuyển khi có vật cản
Kết hợp chương trình đã lập ở nhiệm vụ 1 (đã hiệu chỉnh tốc độ lệnh đi thẳng và thay đổi câu lệnh di chuyển của trường hợp 4 như chương trình tổng quát) với chương trình ở Hình 12.8 để hoàn thành nhiệm vụ 2. Ví dụ chương trình trong Hình 12.9.
Hình 12.9. Chương trình hoàn thiện để robot thực hiện nhiệm vụ 2
Bước 2. Kết nối robot với máy tính và tiến hành nạp chương trình đã lập vào robot. Bước 3. Sau khi nạp chương trình thành công, em cần đặt robot vào vị trí Bắt đầu
và đặt vật cản vào vị trí A hoặc B trên sa bàn. Sau đó bấm nút chuyển đến chế độ lập trình với máy tính và quan sát kết quả. Robot sẽ di chuyển từ vị trí Bắt đầu và tự động dừng lại khi gặp vật cản trong khoảng 10 cm, khi lấy vật cản ra khỏi phạm vi 10 cm thì robot tiếp tục di chuyển và sẽ dừng lại khi tiếp tục gặp vật cản trong khoảng 10 cm.
LUYỆN TẬP
Em hãy lập chương trình điều khiển robot di chuyển trên sa bàn, xuất phát từ vị trí Bắt đầu đến vị trí Kết thúc thì quay lại vị trí Bắt đầu. Lưu ý: robot không dừng lại mà di chuyển liên tục từ vị trí Bắt đầu đến vị trí Kết thúc và ngược lại.
VẬN DỤNG
Em hãy lập chương trình điều khiển robot di chuyển trên sa bàn, khi gặp vật cản thì dừng lại trong 3 giây sau đó đổi hướng di chuyển.
Bài 13. Lập trình điều khiển một số phụ kiện Học xong bài này em sẽ: Biết điều khiển còi, đèn LED,... trong robot. Theo em làm sao để robot có thể phát ra âm th
Bài 13. Lập trình điều khiển một số phụ kiện
Học xong bài này em sẽ:
Biết điều khiển còi, đèn LED,... trong robot.
Theo em làm sao để robot có thể phát ra âm thanh, chuyển màu đèn LED? Khi nhận được tín hiệu từ điều khiển hồng ngoại robot sẽ làm gì?
1. Điều khiển còi
Hoạt động 1 Tìm hiểu về các câu lệnh lập trình còi
Đọc, thảo luận về câu lệnh lập trình còi.
a) Câu lệnh điều khiển bật và tắt còi
Em đã biết còi là phụ kiện phát ra âm thanh. Còi cần được cung cấp điện áp để phát ra âm thanh. Câu lệnh điều khiển bật hoặc tắt còi thực chất là cấp hoặc ngừng cấp cho còi một mức điện áp nhất định. Bảng 13.1 mô tả các lệnh bật và tắt còi.
Bảng 13.1. Lệnh bật, tắt còi
Lệnh, Mô tả ý nghĩa
Bật còi, Cấp điện áp cho còi.
Tắt còi, Ngừng cấp điện áp cho còi.
b) Ví dụ minh hoạ bật, tắt còi
Chương trình sau minh hoạ thực hiện yêu cầu bật còi trong 1 giây, sau đó tắt 2 giây và quá trình đó được lặp lại 10 lần:
Khởi động chương trình
repeat 10
Bật còi
Đợi 1 giây
Tắt còi
Đợi 2 giây
Hình 13.1. Chương trình bật, tắt còi
Hoạt động 2 Tìm hiểu về câu lệnh điều khiển còi phát nốt nhạc Đọc, thảo luận về câu lệnh lập trình còi phát nốt nhạc. c) Câu lệnh điều khiển còi phát nốt nhạc C
Hoạt động 2 Tìm hiểu về câu lệnh điều khiển còi phát nốt nhạc
Đọc, thảo luận về câu lệnh lập trình còi phát nốt nhạc.
c) Câu lệnh điều khiển còi phát nốt nhạc
Các nốt nhạc khác nhau, về bản chất, là các âm thanh có cao độ và trường độ khác nhau. Do vậy, để điều khiển còi phát ra các nốt nhạc, câu lệnh cần có các tham số đầu vào liên quan tới cao độ và trường độ của âm thanh phát ra:
– Cao độ được điều khiển bằng tần số cao thấp của điện áp cấp cho còi.
– Trường độ được điều khiển bằng thời gian cấp điện áp cho còi.
Bảng 13.2. Lệnh điều khiển còi
Lệnh, Tham số, Mô tả ý nghĩa
Phát nốt nhạc (cao độ, trường độ), cao độ: tần số của nốt nhạc tương ứng. trường độ: thời gian tính theo nhịp (beat)., Phát nốt nhạc tương ứng <cao độ> của nốt nhạc trong khoảng thời gian tính theo <trường độ> của nhịp hiện thời.
Nghỉ (trường độ), trường độ: thời gian tính theo nhịp (beat)., Còi nghỉ trong thời gian <trường độ> tính theo nhịp hiện thời.
– Hệ thống các nốt nhạc cơ bản bao gồm Đô (C), Rê (D), Mi (E), Pha (F), Son (G), La (A), Si (B), được chia thành những quãng 8 về cao độ. Hình 13.2 mô tả 3 quãng 8 cao độ của nốt nhạc.
Quãng cao (3)
Quãng trung (2)
Quãng thấp (1)
Hình 13.2. Cao độ của nốt nhạc
– Trong câu lệnh điều khiển còi, để thể hiện <cao độ> có thể ghi theo nốt nhạc, ví dụ A2 là nốt La quãng 2; C3 là nốt Đô quãng 3.
– Trường độ của nốt nhạc với 1 (beat) tương ứng với trường độ của 1 nốt đen.
d) Ví dụ minh hoạ
Chương trình sau gồm câu lệnh phát một nốt Đô quãng 3 (C3) trong $\frac{1}{2}$ nhịp:
Khởi động chương trình
Phát nốt nhạc (C3, 0.5)
Trong các phần mềm lập trình robot, câu lệnh lập trình kéo thả của còi phát nốt nhạc là:
Hình 13.3. Lệnh phát nốt nhạc
Em hãy viết đoạn chương trình ngắn điều khiển robot di chuyển, khi gặp vật cản thì bật còi và dừng lại. 2. Điều khiển đèn LED Hoạt động 3 Tìm hiểu về các câu lệ
Em hãy viết đoạn chương trình ngắn điều khiển robot di chuyển, khi gặp vật cản thì bật còi và dừng lại.
2. Điều khiển đèn LED
Hoạt động 3 Tìm hiểu về các câu lệnh lập trình điều khiển đèn LED
Đọc, thảo luận về câu lệnh lập trình điều khiển đèn LED.
a) Câu lệnh điều khiển đèn LED
Đèn LED đơn sắc là loại đèn phát ra ánh sáng có một màu nhất định như ánh sáng vàng, ánh sáng đỏ, ánh sáng xanh,... Chúng ta có thể điều khiển để bật, tắt đèn LED đơn sắc với cường độ sáng khác nhau.
Các lệnh điều khiển đèn LED đơn sắc được mô tả trong Bảng 13.3.
Bảng 13.3. Lệnh điều khiển đèn LED đơn sắc
Lệnh, Tham số, Mô tả ý nghĩa
Bật đèn LED (cổng, cường độ sáng), cổng: vị trí cắm của đèn LED. cường độ sáng: số nguyên từ 0 đến 255, Bật đèn LED tại vị trí cắm <cổng> với cường độ sáng tương ứng với số nguyên <cường độ sáng>.
Tắt đèn LED (cổng), cổng: vị trí cắm của đèn., Tắt đèn LED tại vị trí cắm <cổng>.
b) Ví dụ minh hoạ
– Với yêu cầu điều khiển đèn LED đơn sắc (bật tắt đèn LED đơn sắc được cắm ở cổng 1 có cường độ sáng 255 liên tục với thời gian giữa hai trạng thái là 1 giây), ta có chương trình minh hoạ như sau:
Khởi động chương trình
forever
Bật đèn LED (1,255)
Đợi 1 giây
Tắt đèn LED (1)
Đợi 1 giây
– Đối với G-Robot, phụ kiện đèn LED đơn sắc được cố định cường độ sáng tối đa nên sẽ không có tham số cường độ sáng trong câu lệnh điều khiển trên phần mềm GaraBlock. Chương trình kéo thả minh hoạ trên phần mềm GaraBlock sử dụng câu lệnh điều khiển bật tắt đèn LED đơn sắc liên tục với thời gian giữa hai trạng thái là 1 giây.
Hình 13.4. Chương trình kéo thả minh hoạ điều khiển đèn LED đơn sắc Em hãy viết chương trình điều khiển robot dò đường đi vòng quanh sa bàn, nếu gặp vật cản thì
Hình 13.4. Chương trình kéo thả minh hoạ điều khiển đèn LED đơn sắc
Em hãy viết chương trình điều khiển robot dò đường đi vòng quanh sa bàn, nếu gặp vật cản thì bật còi, bật đèn LED đỏ ở cổng 1 trong suốt thời gian có vật cản phía trước. Robot rẽ trái để tránh vật cản, khi vật cản đã ở xa thì bật đèn LED xanh lá cây ở cổng 2 trong 1 giây báo hiệu an toàn.
3. Điều khiển robot từ xa
Hoạt động 4 Tìm hiểu câu lệnh lập trình nhận tín hiệu hồng ngoại
Đọc, thảo luận về bộ phận điều khiển từ xa và câu lệnh lập trình nhận tín hiệu hồng ngoại.
a) Lệnh nhận tín hiệu hồng ngoại
Chúng ta có thể sử dụng điều khiển từ xa bằng tia hồng ngoại để truyền tín hiệu cho robot. Trên mỗi vỉ điều khiển hồng ngoại có rất nhiều nút nhấn, mỗi nút nhấn gọi là một kênh. Khi nhấn nút trên điều khiển hồng ngoại, một tín hiệu được truyền đi bằng tia hồng ngoại, giúp robot biết được nút nhấn (kênh) nào được bấm.
Bảng 13.4. Lệnh nhận tín hiệu hồng ngoại
Lệnh, Tham số, Mô tả ý nghĩa
Tín hiệu hồng ngoại (kênh), kênh: kênh của tín hiệu hồng ngoại được phát ra., Trả lại True nếu có nhận được tín hiệu hồng ngoại từ kênh <kênh>, ngược lại trả về False.
b) Ví dụ minh hoạ
Chương trình sử dụng tín hiệu hồng ngoại điều khiển còi với kênh 1 bật còi, kênh 2 tắt còi.
Khởi động chương trình forever if Tín hiệu hồng ngoại từ kênh (1) Bật còi if Tín hiệu hồng ngoại từ kênh (2) Tắt còi Hình 13.5 minh hoạ chương trình kéo thả sử
Khởi động chương trình
forever
if Tín hiệu hồng ngoại từ kênh (1)
Bật còi
if Tín hiệu hồng ngoại từ kênh (2)
Tắt còi
Hình 13.5 minh hoạ chương trình kéo thả sử dụng tín hiệu hồng ngoại điều khiển còi với kênh 1 bật còi, kênh 2 tắt còi.
Hình 13.5. Chương trình kéo thả xử lí tín hiệu hồng ngoại
Tín hiệu hồng ngoại của vỉ điều khiển bên ngoài có thể được xử lí ở ngay đầu
chương trình (nằm ngoài vòng lặp vĩnh viễn) được không?
Em hãy viết câu lệnh để khi bấm kênh 1 của vỉ điều khiển, còi của robot sẽ phát nốt Rê (D).
LUYỆN TẬP
Em hãy viết đoạn chương trình dùng vỉ điều khiển để điều khiển robot thực hiện các công việc sau:
a) Bấm kênh 1 sẽ bật còi 5 lần.
b) Bấm kênh 2 sẽ bật đèn LED màu đỏ trong 2 giây.
c) Bấm kênh 3 sẽ bật đèn LED màu xanh lá cây trong 2 giây.
Em hãy lập trình điều khiển đèn LED thay đổi màu kết hợp và còi phát ra âm thanh.
VẬN DỤNG
Em hãy lập trình điều khiển còi chơi một đoạn nhạc đơn giản mà em biết.
Em hãy lập trình điều khiển đèn LED đổi màu lần lượt theo 7 màu sắc của cầu vồng.
Thực hành: Dự án điều khiển robot trên sa bàn Học xong bài này em sẽ: Điều khiển được robot chuyển động trên sa bàn sử dụng cảm biến kết hợp với các phụ kiện ti
Thực hành: Dự án điều khiển robot trên sa bàn
Học xong bài này em sẽ:
Điều khiển được robot chuyển động trên sa bàn sử dụng cảm biến kết hợp với các phụ kiện tiếp nhận điều khiển khác.
Nội dung dự án
Học sinh thiết kế và lập trình robot có sử dụng các cảm biến và phụ kiện tiếp nhận điều khiển để thực hiện dự án: Robot vận chuyển hàng hoá trên sa bàn. Robot xuất phát từ vị trí Bắt đầu, di chuyển theo đường màu đen và dừng lại tại vị trí Kết thúc. Trong quá trình di chuyển, robot cần xử lí và vượt qua được các vật cản có trên sa bàn. Vật cản và hàng hoá là những khối gạch xốp được chuẩn bị sẵn.
Để thực hiện các nhiệm vụ của bài thực hành này, em cần tiếp tục sử dụng sa bàn đã được chuẩn bị ở Bài 12.
Hình 14.1. Hình ảnh sa bàn
Hình thức thực hiện: Theo nhóm.
Quy trình thực hiện: Các nhóm tiến hành thảo luận, thiết kế mô hình, lập trình. Sau đó, các nhóm trình bày về mô hình robot của nhóm đã thiết kế trước lớp và cho robot hoạt động trực tiếp trên sa bàn.
Để hoàn thành dự án, các em cần lần lượt thực hiện các nhiệm vụ sau:
– Nhiệm vụ 1: Thiết kế, lập trình mô hình robot vận chuyển hàng hoá, tự động dừng lại và bật còi báo hiệu khi gặp vật cản.
– Nhiệm vụ 2: Lập trình để robot dọn dẹp vật cản sau khi bật còi báo hiệu và tiếp tục vận chuyển hàng hoá.
- Nhiệm vụ 3: Lập trình để robot dừng lại tại vị trí Kết thúc khi vận chuyển hàng hoá thành công và phát các nốt nhạc theo thứ tự: Đô, Rê, Mi, Đô, Rê, Mi ở quãn
- Nhiệm vụ 3: Lập trình để robot dừng lại tại vị trí Kết thúc khi vận chuyển hàng hoá
thành công và phát các nốt nhạc theo thứ tự: Đô, Rê, Mi, Đô, Rê, Mi ở quãng 4 trong 1/2 nhịp để chúc mừng. Sau đây là phần tham khảo hướng dẫn cơ bản thực hiện các nhiệm vụ để hoàn thành dự án:
Nhiệm vụ 1
Thiết kế, lập trình mô hình robot vận chuyển hàng hoá, tự động dừng lại và bật còi báo hiệu khi gặp vật cản
Phân tích: Để thực hiện nhiệm vụ 1, các em cần thiết kế mô hình robot có chức năng
vận chuyển hàng hoá và lập trình cho robot hoạt động. Có thể tham khảo Hình 14.2 minh hoạ mô hình robot có chức năng vận chuyển hàng hoá.
Hình 14.2. Robot vận chuyển hàng hoá
Chuẩn bị: Sa bàn và khối hàng hoá, robot có gắn còi, động cơ, cảm biến dò đường,
cảm biến siêu âm và cơ cấu vận chuyển hàng hoá.
Thực hiện: Cần vận dụng các kiến thức đã học về cảm biến dò đường hai mắt và
cảm biến siêu âm để lập trình cho robot tự động di chuyển chính xác theo đường đi trên sa bàn và tự động phát hiện được có vật cản phía trước. Khi phát hiện có vật cản thì robot dừng lại và bật còi báo động.
Hướng dẫn (Minh hoạ lập trình thực tế bằng phần mềm GaraBlock)
Bước 1. Sử dụng câu lệnh lập trình cảm biến dò đường hai mắt tương ứng với bốn
trường hợp xử lí đã được học ở Bài 11 để robot có thể tự động nhận biết và di chuyển chính xác theo đường trên sa bàn (Hình 14 .3).
Hình 14.3. Chương trình điều khiển robot tự động dò đường
Bước 2. Sử dụng câu lệnh lập trình cảm biến siêu âm để robot có thể phát hiện vật cản trên sa bàn. Ví dụ robot cần dừng lại nếu phát hiện vật cản trong khoảng 5
Bước 2. Sử dụng câu lệnh lập trình cảm biến siêu âm để robot có thể phát hiện vật
cản trên sa bàn. Ví dụ robot cần dừng lại nếu phát hiện vật cản trong khoảng 5 cm. Sử dụng câu lệnh "Lặp cho đến khi", robot dừng lại khi phát hiện vật cản phía trước cho đến khi điều kiện của câu lệnh "Lặp cho đến khi" là đúng, nghĩa là khoảng cách từ cảm biến siêu âm đến vật cản lớn hơn 5 cm (Hình 14.4).
Hình 14.4. Chương trình điều khiển robot tự động dừng lại khi gặp vật cản
Bước 3. Sử dụng câu lệnh điều khiển còi báo động. Khi robot dừng lại thì bật còi
trong 1 giây và tắt còi sau 1 giây (Hình 14 .5).
Hình 14.5. Chương trình điều khiển bật, tắt còi báo động khi robot gặp vật cản
Bước 4. Chương trình thực hiện yêu cầu nhiệm vụ 1 hoàn chỉnh bằng cách kết hợp
các chương trình ở các bước 1, 2, 3 như trong Hình 14.6.
Hình 14.6. Chương trình hoàn thiện để robot thực hiện nhiệm vụ 1
Bước 5. Kết nối robot với máy tính và nạp chương trình đã lập trình vào robot. Bước 6. Sau khi nạp chương trình thành công, em đặt robot vào đường đã có trên sa
Bước 5. Kết nối robot với máy tính và nạp chương trình đã lập trình vào robot. Bước 6. Sau khi nạp chương trình thành công, em đặt robot vào đường đã có trên sa
bàn sao cho cả hai mắt của cảm biến dò đường đều nằm trên đường màu đen. Sau đó bấm nút chuyển đến chế độ lập trình với máy tính (vòng đèn LED màu trắng) trên mạch điều khiển của robot và quan sát kết quả.
Nhiệm vụ 2
Lập trình robot dọn dẹp vật cản sau khi bật còi báo hiệu và tiếp tục vận chuyển hàng hoá
Phân tích: Nhiệm vụ 2 là công việc tiếp theo giúp robot dọn dẹp vật cản được phát hiện ở nhiệm vụ 1 và tiếp tục vận chuyển hàng hoá. Các em cần thiết kế thêm cơ cấu dọn dẹp vật cản cho mô hình robot và lập trình cho cơ cấu gạt vật cản ra khỏi sa bàn. Có thể tham khảo Hình 14.7 minh hoạ mô hình robot sử dụng động cơ servo làm cơ Hình 14.7. Robot sử dụng động cơ servo
làm cơ cấu dọn dẹp vật cản cấu dọn dẹp vật cản.
Chuẩn bị: Cần chuẩn bị robot như ở nhiệm vụ 1 và gắn thêm thành phần động cơ
servo, cơ cấu dọn dẹp vật cản.
Thực hiện: Về lập trình, các em hiệu chỉnh lại chương trình lập trình tổng quát của
nhiệm vụ 1 và kết hợp với câu lệnh điều khiển động cơ servo đã học ở Bài 9 để lập trình robot tự động gạt vật cản ra khỏi sa bàn.
Hướng dẫn (Minh hoạ lập trình thực tế trên phần mềm GaraBlock)
Bước 1. Sử dụng lại chương trình ở Hình 14.3 và bổ sung thêm câu lệnh xoay động
cơ servo vào phía sau câu lệnh khởi động chương trình ở Hình 14.8.
Hình 14.8. Chương trình minh hoạ
Bước 2. Sử dụng lại chương trình ở Hình 14 .5 và bổ sung thêm câu lệnh xoay động cơ servo để gạt vật cản ra khỏi sa bàn sau khi có báo hiệu còi. Chú ý, có thể b
Bước 2. Sử dụng lại chương trình ở Hình 14 .5 và bổ sung thêm câu lệnh xoay động cơ servo để gạt vật cản ra khỏi sa bàn sau khi có báo hiệu còi. Chú ý, có thể bỏ câu lệnh đợi 1 giây phía sau lệnh tắt còi ở Hình 14.5 để chương trình tối ưu hơn. Chương trình ví dụ trong Hình 14.9.
Hình 14.9. Chương trình điều khiển động cơ servo gạt vật cản ra khỏi sa bàn
Bước 3. Kết hợp các chương trình ở các bước 1, 2 chúng ta có chương trình thực
hiện yêu cầu nhiệm vụ 2 hoàn chỉnh ở Hình 14.10.
Hình 14.10. Chương trình hoàn chỉnh để robot thực hiện nhiệm vụ 2
Bước 4. Nạp chương trình vào robot, cho robot hoạt động trên sa bàn và quan sát
kết quả.
Nhiệm vụ 3 Lập trình robot dừng lại tại vị trí kết thúc khi vận chuyển hàng hoá thành công nhịp để chúc mừng và phát các nốt nhạc theo thứ tự: Đô, Rê, Mi, Đô, R
Nhiệm vụ 3
Lập trình robot dừng lại tại vị trí kết thúc khi vận chuyển hàng hoá thành công nhịp để chúc mừng
và phát các nốt nhạc theo thứ tự: Đô, Rê, Mi, Đô, Rê, Mi ở quãng 3 trong 1/2 Phân tích: Nhiệm vụ 3 là công việc cuối cùng khi robot đã vận chuyển hàng hoá
thành công về vị trí Kết thúc trên sa bàn. Các em cần hiệu chỉnh lại chương trình tổng quát của nhiệm vụ 2 và kết hợp với câu lệnh phát các nốt nhạc đã học ở Bài 13.
Chuẩn bị: Các em có thể sử dụng lại robot ở nhiệm vụ 2 để thực hiện nhiệm vụ 3. Hướng dẫn (Minh hoạ lập trình thực tế trên phần mềm GaraBlock) Bước 1. Hiệu chỉnh lại chương trình ở Hình 14.8 như sau: thay đổi câu lệnh xoay trái
với tốc độ (70) ở trường hợp 4 thành câu lệnh dừng lại và bổ sung thêm câu lệnh phát nốt nhạc như ở Hình 14.11.
Hình 14.11. Chương trình minh hoạ
Bước 2. Kết hợp các chương trình ở các bước 1 và chương trình ở Hình 14.9 chúng
ta có chương trình thực hiện yêu cầu nhiệm vụ 3 hoàn chỉnh như Hình 14.12.
Hình 14.12. Chương trình hoàn thiện thực hiện nhiệm vụ 3 Bước 3. Nạp chương trình vào robot, cho robot hoạt động trên sa bàn và quan sát kết quả. Như vậy, sau k
Hình 14.12. Chương trình hoàn thiện thực hiện nhiệm vụ 3
Bước 3. Nạp chương trình vào robot, cho robot hoạt động trên sa bàn và quan sát
kết quả. Như vậy, sau khi hoàn thành ba nhiệm vụ trên thì robot đã có thể thực hiện được dự án robot vận chuyển hàng hoá.
LUYỆN TẬP
Em hãy hiệu chỉnh lại chương trình của nhiệm vụ 1 để robot gặp vật cản thì dừng lại, bật còi và đổi màu đèn LED báo hiệu.
VẬN DỤNG
Em hãy hiệu chỉnh lại chương trình của nhiệm vụ 3 để robot dừng lại tại vị trí Kết thúc, phát các nốt nhạc theo thứ tự: Đô, Rê, Mi, Pha, Đô, Rê, Mi, Pha ở quãng 4 trong 1/2 nhịp và đổi màu đèn LED báo hiệu.
Trang 71
Trang 72
cover-last