1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tài liệu Chương 4: Giao diện chương trình docx

6 356 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương 4: Giao diện chương trình
Định dạng
Số trang 6
Dung lượng 223,48 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Vẽ biên dạng 2D của vật tập hợp các tọa độ x,y nhận được... Những khó khăn gặp phải trong quá trình thực hiện đề tài: * Phần cứng: - Hệ Pan-Tilt còn là 1 đề tài mới mẻ, cho nên còn gặp

Trang 1

Chương 4: Giao diện chương trình

2.2 Chương trình:

a Lưu đồ giải thuật:

Trang 2

2 Code chương trình:

ComPort************************

eventdata, handles)

try

global s;global hand;global comport;

if (open == 0)

Kết nối

Bắt đầu

Chọn thông số cho COM port

S

Đ Nhận dữ liệu: giá trị tọa độ 0x, Oy

từ VĐK gởi lên

Xử lý dữ liệu: cắt chuỗi, chuyển thành số

Vẽ biên dạng 2D của vật (tập hợp các tọa độ x,y nhận được).

Kết thúc

Trang 3

s = serial(comport);

s.BytesAvailableFcnCount = 1;

s.BytesAvailableFcnMode =

'terminator';

s.BytesAvailableFcn =

@BytesAvailable_Callback;

% s.TimeOut = 10;

fopen(s);

open = 1;

set(hand.btnConnect,'string','Disconnect');

set(hand.lblStatus,'string','Connected '); else

set(hand.btnConnect,'string','Connect');

set(hand.lblStatus,'string','Not Connected ');

open = 0;

fclose(s);

clear s;

end

catch

set(hand.lblStatus,'string','Connection

Error ');

msgbox('ComPort not available! Try again!','Connection Error','error');

end

//**********chương trình nhận dữ liệu từ VĐK và vẽ biên dạng*********

Trang 4

% axes(hand.axes1);

set(hand.lblStatus,'string','Scanning '); string = fscanf(obj);

str = str2num(string);

if (str(1) == 2012)

j2 = str(2); %top

j1 = str(3); %bottom

i2 = str(4); %right

i1 = str(5); %left

% gioi han 2 truc x,y

xlim('manual');

ylim('manual');

if ((i2-i1)> (j2-j1))

xlim([(i1-20) (i2+20)]);

ylim([(i1-20) (i2+20)]);

else

xlim([(j1-20) (j2+20)]);

ylim([(j1-20) (j2+20)]);

end

% ve khung bien dang

% ve top

x = i1:0.05:i2;

line(x,j1,'Color','r','LineWidth',10);

% ve bottom

x = i1:0.05:i2;

line(x,j2,'Color','r','LineWidth',10); % ve left

y = j1:0.05:j2;

line(i1,y,'Color','r','LineWidth',10); % ve right

Trang 5

y = j1:0.05:j2;

line(i2,y,'Color','r','LineWidth',10); else

x = str(1);

k=num2str(x);

y = str(2);

m=num2str(y);

set(hand.tbxRxx,'string',k);

set(hand.tbxTx,'string',m);

hold all;

plot(x,y,'*','LineWidth',2,

'MarkerEdgeColor','k',

'MarkerFaceColor','g',

'MarkerSize',2)

% plot(x,y);

% hold off;

end

D Những khó khăn gặp phải trong quá trình thực hiện đề

tài:

* Phần cứng:

- Hệ Pan-Tilt còn là 1 đề tài mới mẻ, cho nên còn gặp chút

khó khăn lúc đầu trong việc thiết kế 1 hệ Pan-Tilt

- Cảm biến siêu âm SRF04 có góc phát tương đối lớn, cho

nên việc quét biên dạng vật gặp khó khăn ở khâu lấy chính xác

tọa độ điểm đang quét Chúng em đã khắc phục bớt vấn đề này

(dùng ống nhựa gắn vào 2 đầu bộ phát - thu để giảm góc quét

xuống)

* Phần mềm:

Mới đầu nghiên cứu MatLab nên còn gặp nhiều vấn đề khó

khăn (lập trình thiết kế giao diện GUIDE, giao tiếp cổng COM

giữa VĐK với MatLab…) Tuy nhiên sau khi tìm hiểu thì đã giải

quyết được vấn đề, Đây là 1 phần mềm thực sự mạnh

Trang 6

E Hướng phát triển của đề tài:

- Vấn đề quét biên dạng còn nhiều sai xót (do góc quét rộng,

hệ Pan-Tilt chưa thực sự vững chắc) Có thể dùng 1 cảm biến khác có góc quét nhỏ như: cảm biến laze…thì việc quét biên dạng 2D của vật sẽ chính xác hơn

- Có thể phát triển đề tài này để quét xác định hình dạng 3D của vật

hết

Ngày đăng: 26/01/2014, 14:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w