Chương trình chơi vui robot học tốt Pascal

Nhằm tạo sự sinh động và hứng thú trong việc dạy và học Tin học 11, thời gian

vừa qua các thầy cô tổ Tin học của trường đã lồng ghép vào chương trình Tin học 11

cách lập trình Pascal để điều khiển robot. Thay vì lập trình giải toán thông thường, các

em đã được lập trình để robot đi theo ý mình từ đơn giản đến phức tạp bằng gói giải

pháp SAIGONTECH ROBOT KIT 1.0 do trường SaiGonTech phát triển và hỗ trợ.

pdf10 trang | Chuyên mục: Pascal | Chia sẻ: dkS00TYs | Lượt xem: 4379 | Lượt tải: 5download
Tóm tắt nội dung Chương trình chơi vui robot học tốt Pascal, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
1 
Nhằm tạo sự sinh động và hứng thú trong việc dạy và học Tin học 11, thời gian 
vừa qua các thầy cô tổ Tin học của trường đã lồng ghép vào chương trình Tin học 11 
cách lập trình Pascal để điều khiển robot. Thay vì lập trình giải toán thông thường, các 
em đã được lập trình để robot đi theo ý mình từ đơn giản đến phức tạp bằng gói giải 
pháp SAIGONTECH ROBOT KIT 1.0 do trường SaiGonTech phát triển và hỗ trợ. 
2 
1. Giới thiệu về SRobot và Robot Lego 
*Mô tả về SRobot 
Đây là chương trình được phát triển để có thể giúp học sinh THPT dùng Pascal 
điều khiển robot trong môi trường giả lập trên máy tính cũng như trên robot thật. 
Hình 1 - Tổng quan các chức năng của phần mềm 
Phần mềm giả lập robot được đóng gói kèm theo trong bộ giải pháp trọn gói 
SaigonTech Robot Kit 1.0, cho phép các học sinh lập trình điều khiển Robot giả lập 
trong môi trường giả lập khi không sử dụng Robot thật. Phần mềm này giúp giảm chi 
phí vì không phải trang bị robot thật cho mỗi học sinh. Phần mềm giả lập cũng giúp 
việc kiểm thử chương trình điều khiển robot dễ dàng hơn trước khi điều khiển robot 
thật sự. 
3 
Hình 2 - Lập trình Pascal để điều khiển robot chạy trong môi trường giả lập 
Trong trình dịch của Pascal phải được tích hợp thêm bộ thư viện. Bộ thư viện 
này do trường SaiGonTech (Công viên phần mềm Quang Trung) thiết kế. Thư viện 
thực ra là một file chứa tập hợp các chương trình được viết sẵn. Người dùng muốn 
dùng các chương trình này, phải gọi thư viện đó ra. Trường SaiGonTech viết ra bộ thư 
viện này, chứa các hàm điều khiển cho Robot của hãng Lego. 
*Mô tả về Robot Lego 
Robot này có một bộ não, tức là một bộ vi xử lý, có thể kết nối với máy tính 
thông qua bluetooth. Đầu não của robot sẽ điều khiển các bộ phận khác của nó, chính 
là các mô tơ để xoay trục bánh xe, các mô tơ điều khiển cánh tay robot. Đầu não cũng 
điều khiển để nhận tín hiệu phản hồi từ các cảm biến: cảm biến chạm, cảm biến ánh 
sáng, âm thanh, màu sắc, khoảng cách. 
4 
Hình 3 - Đầu não robot 
Trên máy tính, học sinh viết chương trình Pascal, khai báo tên con Robot ( mỗi 
Robot do hãng Lego sản xuất đều có một tên mặc định là NXT, tuy nhiên, chúng ta 
vẫn có thể can thiệp vào hệ thống não của nó và đổi được tên này theo ý mình), dùng 
các lệnh được mô tả trong thư viện để điều khiển Robot đi theo ý mình. 
 Hình 4 - Mô tơ Hình 5 - Cảm biến chạm 
 Hình 6 - Cảm biến khoảng cách Hình 7 - Cảm biến màu 
5 
2. Hướng dẫn về cách lập trình điều khiển Robot 
a. Các bước chuẩn bị ban đầu 
* Tạo Robot Xe Chuẩn 
Các bài thực hành điều khiển robot cần Robot Xe Chuẩn, theo thiết kế được đề 
nghị bởi trường SaigonTech, để minh họa. Robot Xe Chuẩn đòi hỏi có hai động cơ: 
một động cơ bên trái làm bánh trái, một động cơ bên phải làm bánh phải. Để việc kiểm 
thử chương trình điều khiển robot dễ dàng, trước hết cần tạo một Robot Xe Chuẩn giả 
lập sử dụng phần mềm SRobot. 
Mở phần mềm SRobot, từ thanh công cụ chuyển sang chế độ thiết kế robot. 
Trong chế độ thiết kế robot, tạo kiểu Robot Xe Chuẩn chính là kiểu robot mô phỏng 
được. 
Tạo cấu hình (thiết kế) Robot Xe Chuẩn đặt tên là mycar, đường kính bánh xe 
và số vòng quay tối đa của động cơ trong một phút được mặc định lấy theo thông số 
kỹ thuật của Lego MindStorms NXT 2.0. 
Khoảng cách giữa hai bánh xe hay độ dài của trục bánh xe sẽ tùy vào việc robot 
xe được thiết kế như thế nào, mặc định sử dụng 12 cm. 
6 
 Tạo 1 cảm biến chạm ở cổng S1, ví trí Trước -Trái. 
 Tiếp theo tạo địa hình mô phỏng có vật cản như hình dưới 
7 
Sau khi đã có robot xe giả lập, địa hình có vật cản, từ thanh công cụ chuyển 
sang chế độ mô phỏng, chưa cần phải nhấn nút Mô phỏng lúc bây giờ. Tạm giấu 
chương trình SRobot xuống để chuẩn bị các việc kế tiếp. 
*Tải về bộ thư viện PascalSRobotUnit để có thể lập trình Pascal điều khiển Robot 
 Muốn điều khiển được robot cần dùng tập thư viện STRobot-FreePascalUnit. 
Tập thư viện Pascal này cho phép tạo kiểu robot, gọi các lệnh điều khiển động cơ và 
các lệnh đọc giá trị của cảm biến có trên robot. 
 Truy cập địa chỉ:  Chọn thực 
đơn TẢI VỀ. 
 Click chọn Thư viện Pascal và tải về tập tin STRobot-FreePascalUnit.zip 
Giải nén tập tin vừa tải về, ta có 2 bộ thư viện STRobot-FreePascal-2.6.0 và STRobot-
FreePascal-2.6.2, tương ứng với bản Free Pascal 2.6.0 và 2.6.2 dùng để lập trình. 
Trong mỗi bộ thư viện sẽ có 2 tập tin: STRobot.o và STRobot.ppu. Chép hai tập tin 
này vào thư mục đang làm việc nơi sẽ chứa tập tin mã nguồn Pascal (đuôi .pas) cần sử 
dụng thư viện STRobot-FreePascalUnit. 
b. Lập trình cho robot chạy thẳng đến khi chạm vật cản thì dừng lại 
Tạo mới một thư mục nằm ngay tại màn hình Desktop để làm thư mục làm việc 
và đặt tên thư mục này là demo. 
8 
Chép hai tập tin STRobot.o và STRobot.ppu vào thư mục đang làm việc 
demo(Nếu dùng Free Pascal phiên bản 2.6.0 thì chép 2 tập tin trên trong bộ thư viện 
STRobot-FreePascal-2.6.0, còn dùng Free Pascal phiên bản 2.6.2 thì chép 2 tập tin trên 
trong bộ thư viện STRobot-FreePascal-2.6.2) 
 Mở Free Pascal IDE, điều chỉnh lại thư mục đang làm việc mặc định là thư mục 
demo. 
Tạo mới tập tin .pas, đặt tên DungCamBienCham.pas và lưu vào thư mục đang 
làm việc demo. 
9 
Phần nội dung của tập tin DungCamBienCham.pas sẽ nhập nội dung các dòng 
lệnh Pascal để điều khiển robot chạy thẳng cho đến khi chạm vật cản thì dừng lại: 
uses STRobot; 
var robot:SROBOT; 
 pilot:SPILOT; 
 ts:STOUCHSENSOR; 
 power:integer; 
BEGIN 
 robot := createRobot('NXT','mycar', 100, 100, 0); 
 pilot:=robotGetPilot(robot); 
 ts:=robotGetTouchSensor(robot,PORT_S1); 
 power:=70; 
 while(touchSensorIsPressed(ts)=false) do 
 pilotForward(pilot, TYPE_POWER, power); 
 robotRemove(robot); 
END. 
Sau khi hoàn tất đoạn chương trình Pascal, biên dịch và chạy chương trình trong 
FPC: Alt + F9 và Ctrl + F9. 
Bây giờ, quay trở lại phần mềm SRobot đang giấu bên dưới, nhấn nút Mô 
phỏng để xem kết quả chương trình Pascal điều khiển robot giả lập. 
10 
3. Chương trình ngoại khóa: cuộc thi "Chơi vui Robot - Học tốt Pascal" 
 Cuộc thi là nhằm tạo sân chơi cho các em học sinh lớp 11 yêu thích tin học và 
lập trình Pascal điều khiển Robot. Các em sẽ dùng những kiến thức đã học ở lớp để 
viết chương trình điều khiển robot vượt các địa hình do ban tổ chức đưa ra. Mỗi lớp cử 
ra 4 bạn lập thành một đội để thi đấu. Cuộc thi chia làm hai vòng: sơ khảo và chung 
kết. 
*Vòng sơ khảo: 
 Các lớp 11 sẽ bốc thăm để được xếp vào 8 bảng: 4 bảng buổi sáng, 4 bảng buổi 
chiều. 
 Trước ngày thi một tuần, các em được công bố địa hình gợi ý, đội thi của mỗi 
lớp sẽ lập trình cho robot của mình vượt được địa hình mẫu này ở dạng tổng quát nhất. 
Đến ngày thi, các đội mang theo chương trình của mình, khi nhận được địa hình chính 
thức, các em sửa thêm vào chương trình để chạy được đúng và chính xác nhất. 
 Ngày thi: 29/3/2014, tiết 4-5 sáng và chiều. 
 Vòng thi này diễn ra trong hai lượt. Lượt một là các bảng từ 1 đến 4, từ 5 đến 8 
thi với nhau chọn ra mỗi lượt 4 đội. 4 đội này lại thi với nhau để lấy ra hai đội vào 
chung kết. Như vậy, kết thúc vòng sơ khảo, ban tổ chức sẽ lấy ra 4 đội. Bốn đội này sẽ 
được các thầy cô tập luyện để lắp ráp và điều khiển trên Robot thật. Thời gian và địa 
hình thi trên robot thật sẽ được công bố sau khi vòng sơ khảo diễn ra. 
Hẹn gặp các bạn ở 
vòng chung kết nhé!!! 

File đính kèm:

  • pdfChương trình chơi vui robot học tốt Pascal.pdf