Các chức năng của chương trình.

Một phần của tài liệu Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học (Trang 43 - 49)

- CV_CHAIN_APPROX_TC89_L1,CV_CHAIN_APPROX_TC89 KCOS:

3.3.1Các chức năng của chương trình.

Chương trình được xây dựng với 5 chức năng chính:

Hình 3.19: Giao diện chính của chương trình.

Chức năng điều khiển robot.

Chức năng thiết lập các thông số.

Hình 3.21: Chức năng thiết lập thông số.

Chức năng này cho phép thiết 2 thông số: Distance và Depth.

+ Distance là khoảng cách từ Kinect tới bàn tay. Qua nhiều lần thử nghiểm thì nhóm

cho ra thông số mặc định là 90 cm.

+ Depth: là độ sâu cho phép lấy từ bàn tay, mặc định là 12. Chức năng thiết lập cổng COM.

Hình 3.22: Chức năng thiết lập cổng COM.

Chức năng này cho phép người dùng thiết lập cổng COM, cổng COM cho phép kết nối từ máy tính tới thiết bị phát tín hiệu.

Chức năng hướng dẫn người dùng.

Hình 3.23: Chức năng hướng dẫn người dùng.

Chức năng này hướng dẫn người sự dụng các hướng điều khiển robot bằng số lượng ngón tay. + 1 Ngón tay: Tiến. + 2 Ngón tay: Lùi. + 3 Ngón tay: Rẽ trái. + 4 Ngón tay: Rẽ phải. + 0 và 5 Ngón tay: Dừng.

Chức năng hiện thị thông tin cá nhân.

3.3.2 Robot.

Trong quá trình thực hiện nhóm sử dụng một xe hơi đồ chơi, có điều khiểu từ xa thay thế cho robot:

Hình 3.25: Xe điều khiển từ xa thay thế cho robot.

Loại sóng đang dùng điều khiển là sóng RF (Radio Frequency). Vấn đề là tín hiệu đầu ra trong bộ điều khiển tín hiệu khác với tín hiệu của chương trình điều khiển bằng ngón tay, vì vậy bộ điều khiển bây giờ chỉ đóng vai trò là trạm phát sóng cho thiết bị nhận.

Bộ điều khiển chỉ có một cần điều khiển điều khiển hai bánh sau, mục đích ra lùi và tiến và cần điều khiển còn lại điều khiển xe rẽ trái và rẽ phải. Những để rẽ trái hay rẽ phải thì cần phải kết hợp giữa tiến hoặ lùi và rẽ trái hoặc rẽ phải.

Hình 3.26: Các tín hiệu điều khiểu có sẵn trong xe ôtô đồ chơi.

(a) Tín hiệu đi thẳng của xe ôtô. (b) Tín hiệu đi lùi của xe ôtô. (c) Tín hiệu rẽ phải của xe ôtô. (d) Tín hiệu rẽ trái của xe ôtô.

Các hình 3.26 a, b, c, d lần lượt là các tín hiệu đi thẳng, lùi, rẽ phải, rẽ trái của ôtô, những tín hiệu này sẽ được lần lượt sẽ được thay thế bằng số 1, 2, 3, 4 trong chương trình điều khiển bằng ngón tay.

Để rẽ trái hay phải thì mỗi yêu cầu đều phải có 2 tín hiệu như: + Để rẽ trái thì: Đi thẳng + rẽ trái.

+ Để rẽ phải thì: Đi thẳng + rẽ phải.

Một yêu cầu mà cần 2 tín hiệu trong khi đó chương trình điều khiển bằng ngón tay thì chỉ ra được một tín hiệu trong một thời gian. Vì vậy phải nối tắt lại mạch điều khiển này.

Do mạch điều khiển của ôtô không thể đổ dữ liệu điều khiển lên để thay thế tín hiệu điều khiển có sẵn nên phải tạo ra một mạch riêng mục đích là để nhận dữ liệu từ chương trình điều khiển băng ngón tay. Sau đó truyền xuống bộ điều khiển của xe và phát ra tin hiệu.

Sơ đồ giải thuật:

Hình 3.28: Sơ đồ giải thuật điều khiển

Code lập trình trên vi điều khiển PIC 16F684A.

#include <16F628A.h> (adsbygoogle = window.adsbygoogle || []).push({});

#FUSES NOWDT //No Watch Dog Timer #FUSES NOPUT //No Power Up Timer #FUSES INTRC //Internal RC Osc

#FUSES MCLR //Master Clear pin enabled #FUSES NOBROWNOUT //No brownout reset

#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #FUSES CPD //Data EEPROM Code Protected

CẤP NGUỒN VÀ KHỞI ĐỘNG HỆ

THỐNG

CÓ DỮ LIỆU TỪ VI TÍNH, IC MAX232 CHUYỂN ĐỔI TÍN HIỆU CHO PHÙ HỢP

VỚI VI ĐIỀU KHIỂN PIC 16F684A

Một phần của tài liệu Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học (Trang 43 - 49)