Hiển thị Led 7 thanh trên GUI Matlab

Chào các bạn.

Mình cũng đang làm cái giao diện cho đồ án tốt nghiệp và có tìm kiếm source Matlab cho Led7 thanh và tìm được một project rất hay. Từ đó, có thể nhúng vào trong GUI của mình.

Các bạn có thể xem Project đó tại đây.

Demo cái hình trông cho hoành tráng he he.

Khi các bạn download file mã nguồn về thì copy các file và thư mục sau vào Project GUI của bạn: led7.m và thư mục @led.

Để sử dụng, các bạn có thể xem và chạy file demo_led7.m, tuy nhiên mình sẽ hướng dẫn luôn vậy.

Để tạo ra đối tượng LED7 thì có 2 cách:

1. Cách tạo với các giá trị mặc định của nó, còn lại thì thay đổi sau:

h1 = led7;

2. Tạo với các tham số do mình đặt vào:

% The second will define position, color, and value:
h2 = led7('pos',[.1 .2 .8 .2], ...
'digits',8, ...
'value',pi, ...
'offcolor',[0 .2 0], ...
'oncolor',[0 1 0], ...
'format','%6.4f');

Trong đó,

  • Thuộc tính pos là vị trí của led sẽ hiển thị, nó gồm [x y width high] nhưng tính theo tỉ lệ % so với điều khiển tạo lên đối tượng LED này. Ví dụ: x = 0, y = 0 thì nó sẽ nằm ở góc bên trái phía dưới.
  • Digits là số chữ số sẽ hiển thị lên.
  • Value: giá trị hiện lên các led
  • Format: chọn kiểu hiển thị. Trên đây là kiểu float với dấu phảy tĩnh gồm 6 số phần nguyên và 4 số ở phần thập phân.

Như vậy, dựa vào ý nghĩa các tham sô ta có thể thay đổi tùy ý các giá trị này bằng các hàm set và get như với các điều khiển bình thường.

Ví dụ, nếu mình muốn nó hiện lên giá trị = 100 thì dùng lệnh:

set(handles.h2, 'value', 100)

Tuy nhiên, như thế thì sẽ chẳng bao giờ làm được vì nó sẽ báo lỗi rằng h2 không có trong cấu trúc handles.

Handles là một cấu trúc chứa các điều khiển. Ta dùng cấu trúc này để lưu lại object này để còn dùng khi khác.

handles.h2 = h2;              % tạo biến trong handles tên là h2
guidata(hObject,handles); % lưu cấu trúc handles vào

Nên mỗi lần cần thao tác với đối tượng này, thì cần phải gọi nó ra.

h2 = handles.h2;

Và nhớ không quên ghi lại vào nếu có bất kì thay đổi gì với đối tượng này.

Và điều chú ý cuối cùng: để hiển thị led ngay từ đầu thì nên viết vào trong hàm OpenFcn của GUI, khi GUI khởi động thì LED đã hiển thị rồi. Khởi tạo LED7 trong OpenFcn và đồng thời ghi luôn một trường vào handles để tránh tình trạng gọi trường đó mà chưa tạo ra.

led_R12.1.zip

{ 6 comments… add one }
  • toinhatminh August 5, 2009, 10:35 pm

    Chao anh Bac,anh Bac co the huong dan 1 cach chi tiet duoc ko ha anh Bac .Tren giao dien gui minh se chon cai edittext hay pop_up menu…
    Minh tim trong Help dung tu khoa j noi ve cai led 7 doan nay vay anh bac ,anh Bac chi em chi tiet hon 1 ti duoc ko .CAM ON ANH BAC NHIEU
    cHUC ANH SUC KHOE

    Reply
  • vinh December 13, 2009, 4:01 pm

    Chào anh Bắc. Xin anh hướng dẫn giùm em cách tạo calculator trong guide nhưng mà hiển thị số trên Led 7 đoạn. Em đã đọc bài của anh với lại down luôn M-file rồi mà ko hiểu. Mong anh chỉ dẫn giùm. Em cần gấp lắm. Có gì anh liên lạc bằng mail: inu_yasha_90dn@yahoo.com (ĐT : 0912880844 hoặc 0974870116). Em cảm ơn anh nhiều !!!!!!!!!!!!!

    Reply
  • cool boy January 4, 2010, 2:40 am

    sao em load file (led_R12.1.zip) ko dc vay anh. Neu dc anh goi truc tiep wa mail dum em! cam on anh nhieu

    Reply
  • cool boy January 4, 2010, 2:41 am

    emial cua em: tualip20@yahoo.com

    Reply
  • dan thanh June 15, 2010, 2:21 pm

    em khong dow duoc project nay,anh co the gui wa mail cho em voi nhe,thanhs.

    Reply
  • ahanan February 17, 2012, 3:48 pm

    chao anh BAC , video huong dan lam may tinh co ban cua anh hay wa! mong anh co the lam them nhieu vdeo nhu jay nua cho anh em dc hoc hoi.(nhat la em).

    Reply

Leave a Comment