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

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:6

0
98
lượt xem
45
download

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

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

- 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).

Chủ đề:
Lưu

Nội dung Text: Chương 4: Giao diện chương trình

  1. Chương 4: Giao diện chương trình 2.2. Chương trình: a. Lưu đồ giải thuật:
  2. Bắt đầu Chọn thông số cho COM port S Kết nối Đ 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 2. Code chương trình: //*************kết nối ComPort************************ function btnConnect_Callback(hObject, eventdata, handles) try global s;global hand;global comport; global open; if (open == 0)
  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********* function BytesAvailable_Callback(obj,event) global hand; global t;
  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
  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.
  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---------------------------- -------

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản