Bác NgoHaiBac có thể viết toturial về Lập trình M-file và toolbox neural cho anh em tham khảo không?
Thanks!
Thông báo
Collapse
No announcement yet.
Lập trình GUI trong Matlab
Collapse
This is a sticky topic.
X
X
-
cái này coi bộ hay ah nha!!!!!!!
cang ngày giao diện càng nhiều tính năng hơn
Cảm ơn Hải Bắc!
Leave a comment:
-
ControlDCMotor v3.1
Các bác thân.
Bận quá mới làm xong mấy cái giao diện để hiện lên khi ấn vào menu nên chưa up hoàn chỉnh được. Nhưng cũng xin tối ưu cho chương trình trước về cách nhập hàm truyền đơn giản hơn rất nhiều.
Các bác chịu khó đọc lại mã nha. Dưới đây là hình minh họa và file đính kèm.
Chúc các bạn thành công.Last edited by ngohaibac; 26-05-2006, 08:25.
Leave a comment:
-
Chết thời gian này bận quá. Có lẽ phải mấy ngày nữa mới có bài mới giới thiệu cho các bạn.
Các bạn chịu khó luyện với mấy chiêu ở trên nha. Mấy nữa tôi up lên tiếp.
- 1 like
Leave a comment:
-
hic hic,mình cũng học điều khiển tự động mà chẳng rành về cái gì cả,xấu hổ quá,cái gì cũng phải hỏi bạn Bắc cả!!!!!
Leave a comment:
-
Ừ có thể coi là như vậy. Mình học ngành điều khiển tự động BKHN Khoa điện - học tương đương với tự động hóa. Bên tự động hóa chuyên hơn bên mình về lĩnh vự tự động, còn bên mình thường sâu về mảng lí thuyết điều khiển tự động.
- 1 like
Leave a comment:
-
Bầu chọn cho luồng của bác Bắc 5 sao.
Chắc bác là dân tự động hóa rồi?
Leave a comment:
-
ControlDCMotor V3.0
Chào các bạn, nay tôi xin giới thiệu cho các bạn một cách tạo menu và sử dụng một temp để làm trung gian để tạo dữ liệu cho đơn giản.
ở phiên bản trước chắc các bạn thấy rằng với cả 3 hàm Tranfer Fcn mà phải tạo tới 3 cái panel để điền thông số thì quả là rắc rối. Mình xin cải tiến thêm và dùng Temp là một popupmenu, thuộc tính String của nó làm nới chứa dữ liệu các tham số của hàm truyền của các hàm truyền 1,2,3. Khi bạn ấn vào nút Edit thì sẽ nhập thay đổi dữ liệu cho nó và nút biến thành Apply, bạn ấn vào nút đó để cập nhật. Thuộc tính String trong popupmenu là kiểu cell( trường) do đó để cập nhật bạn lấy thuộc tính String sau đó thay đổi từng thành phần của biến này sau đó cập nhật trở lại. Còn nếu muốn lấy dữ liệu cũng tương tự mỗi thành phần trong cell này có kiểu String, ta dùng dấu {} để xâm nhập vào từng thành phần của nó:
VD:
Code:value= get(handles.Temp,'String'); a = value{1};
Còn tạo menu thì các bạn vào Tools-> menu editors. Sẽ có dialog mới mở ra. Các bạn kích vào nút New menu để tạo ra menu mới, sau đó thay đổi thuộc tính Label, Tag của nó. Còn muốn tạo menu con thì bạn select vào menu muốn tạo menu con sau đó kích trái chuột vào biểu tượng <-> trên toolbar để tạo thêm menu con tương tự như trên. Còn muốn thấy được các hàm Callback của nó bạn chọn menu tương ứng kích vào View, nên để mặc định là tự động tạo hàm callback. Sau đó viết code cho các hàm callback đó. Quả thật là nếu mà viết lại mã của những callback giống của các điều khiển khác thì chỉ cần copy -> paste là xong nhưng tôi xin giới thiệu cho các bạn cách để gọi một hàm callback khác trong callback hiện tại:
Ví dụ: bạn muốn gọi hàm callback : function SimulateButton_Callback(hObject, eventdata, handles)
Thì chỉ cần thay hObject thành handles.SimulateButton là xong.
Còn tại sao mà ấn vào nút Edit lại thành Apply thì chỉ là thay đổi thuộc tính String trong callback của nó. Quan trọng là khi ấn vào nút Apply thì mới cập nhật dữ liệu. Tôi thông qua một biến Bool là value{10} trong String của Temp.
Các menu tôi mới chỉ viết code cho các menu Exit, About, Run.
Các bạn ấn vào popupmenu gần nút Edit để xem các thông số của các hàm truyền tương ứng.
Tôi sẽ hoàn thành việc phát triển cho ứng dụng này làm việc với các form khác nhau sau. Nói chung là cũng phức tạp hơn chưa các bạn. Có giống với VB chưa.
Chào các bạn. Chúc thành công.
Last edited by ngohaibac; 31-12-2005, 15:49.
- 1 like
Leave a comment:
-
Các bạn thân mến, mai tôi sẽ hướng dẫn các bạn làm quen với menu, sử dụng nhiều form khác nhau trên cùng một ứng dụng. Phát triển tiếp tục từ ControlDCMotor và DongcoDC ở trên.
Các bạn lưu ý là muốn chạy được phải đánh trong command đúng tên của .m file chứa những hàm callback của ứng dụng.
- 1 like
Leave a comment:
-
Mình thực sự cảm ơn Bắc nhiều lắm!!!!!!!!
Với khả năng hạn hẹp của mình thì còn nhiều thứ mình chưa biết,cảm ơn bạn đã chỉ dẫn tận tình.
Mình cũng muốn gởi bài cho diễn đàn,nhưng chưa làm được gì hoàn hảo cả!!!!!!!!!
Mình sẽ cố gắng vậy!!!!!!!
Leave a comment:
-
Động cơ một chiều
- Các bạn lưu ý: khi làm lại giao diện mà lại copy lại y nguyên mã lại không chạy sẽ báo lỗi là vì với mỗi điều khiển thì sẽ có một tên riêng trong thuộc tính tag của nó( ứng với thuộc tính Name trong VB) để các bạn làm việc với điều khiển. Nên các bạn khi download chương trình về cần đọc kĩ mã nhé. Cần phải biết hàm đó viết cho điều khiển nào, lấy thông tin từ điều khiển gì.
-Thứ hai là các bạn phải đặt tên .mdl khác với tên của cái gui tức là đuôi .m đó. Vì cả 2 file này đều có thể chạy được khi bạn gõ tên trong command của workspace nhưng file đuôi .mdl( simulink) được ưu tiên hơn nên đó là lí do tại sao mà khi đặt tên giống nhau mà lại chỉ có thể chạy được file .mdl thôi.
- Các bạn không thể chạy ứng dụng bằng cách di chuột đến file .fig trong curent directory được vì nó chạy đây đơn thuần là chạy một file hình ảnh thôi. Nó sẽ không thể liên kết được với file .m chứa mã chương trình, các hàm callback đo đó sẽ báo lỗi ngay. Các bạn có nhiều cách làm: gõ lệnh trong command trùng với tên của file .m đó, mở file .m đó rồi ấn phím tắt F5 hoặc vào Debug-> Run, ấn vào biểu tượng trên thành toolbar hình mũi tên trỏ xuống đó.
Mình xin tiếp tục hướng dẫn các bạn làm thêm một số phần trong giao diện điều khiển mô phỏng Simulink bằng GUI.
Tôi sẽ thêm vào đó popupmenu để các bạn hiển thị màu của đường đặc tính và checkbox để khi cần thì giữ lại hình để so sánh, khi không thì thôi. Thêm cả thêm thuộc tính cho các transfer fcn.
Để có thể làm việc đối với popupmenu thì bạn nên thêm sẵn cho nó trong thuộc tính String của nó ngay khi thiết kế: đánh thành nhiều dòng bao gồm:
Blue, Green,Red,...
Sau đó khi người dùng chọn một trong các màu đó thì sẽ có giá trị lấy từ thuộc tính Value của điều khiển này. Các bạn dùng thuộc tính này để quết định xem đó là màu gì bằng cách dùng Switch trong PlotButton_callback:
Code:ColorIndex = get(handles.popupmenu1,'Value'); switch ColorIndex case 1, a = 'b'; case 2, a = 'g'; case 3, a = 'r'; case 4, a= 'c'; case 5, a= 'm'; case 6, a= 'y'; case 7, a= 'k'; otherwise, a= 'k'; end
Do đó lấy giá trị này:
Code:if get(handles.checkHold,'Value') == 0 hold off; end
Không set nó thành off thì nó vẫn giữ nguyên.
----- Chúc các bác thành công.
Last edited by ngohaibac; 31-12-2005, 15:46.
- 1 like
Leave a comment:
-
Nhờ có Hải Bắc mà mình có thể hiểu cách thức thực hiện GUI cho mô hình Simulink(tuy còn hơi non nớt!!!!)
Bộ Help của Matlab7.0 quả là rất phong phú,nó cũng có vd đề cập đến vấn đề này nhưng mình đọc mà chẳng hiểu gì cả(vì mình mới tiếp cận với Matlab nên kiến thức về nó còn rất hạn chế)
Bài viết của Ngô Hải Bắc rất dễ hiểu,mình thực sự cảm ơn sự quan tâm về vấn đề này
Cảm ơn Ngô Hải Bắc nhiều nhiều,mong bạn đóng góp nhiều hơn nữa cho diễn đàn,chia sẻ những kiến thức mà bạn tích tũy được cho bạn bè cùng biết nha!!!!!!!!!!!!!!
Leave a comment:
-
Cảm ơn các bạn đã đọc bài viết của mình. Mình viết những bài viết này trên cơ sở tham khảo bộ Help của Matlab. Với bộ help này quả thật là chi tiết, có cả ví dụ, cách dùng như là MSDN của Microsoft vậy. Với một mục đích cụ thể cho công việc cần làm, mình nghĩ là các bạn sẽ biết cách tìm hiểu các điều mình cần trong bộ Help này. Không phải là đọc tất cả mà chỉ đọc cái mình cần, nếu không hiểu vấn đề nào thuộc những phần khác thì bạn lại quay sang đọc cái đó để hiểu rõ, rồi lại trở lại vấn đề đang đọc. Với cách đọc tài liệu như thế mình nghĩ là sẽ nhanh đạt mục đích hơn. Mình viết chương trình điều khiển động cơ trên cơ sở câu hỏi của bạn SonIC gửi đến email của mình. Các bạn có câu hỏi, mục đích gì thì cứ đưa ra diễn đàn này để chúng ta cùng giải quyết.
Mình sẽ tiếp tục giới thiệu cho các bạn một số hướng dẫn cụ thể để lập trình cho GUI liên kết với các ứng dụng khác, điển hình là bộ mô phỏng hệ thống Simulink.
Cảm ơn các bạn.Last edited by ngohaibac; 31-12-2005, 15:45.
- 1 like
Leave a comment:
-
Trân trọng cảm ơn Ngô Hải Bắc về bài viết này.
Tôi đã copy bài viết này sang diễn đàn picvietnam, tại địa chỉ:
http://picvietnam.com/showthread.php?p=1190#post1190
Tôi trích các bài viết của bạn, và copy không sửa chữa toàn bộ bài viết, ngoài ra cung cấp đầy đủ thông tin về tác giả cũng như source tìm được.
Xin chân thành cảm ơn bạn đã đóng góp cho các sinh viên một bài viết rất hay và mang tính hướng dẫn cao.
Chúc vui.
Leave a comment:
Bài viết mới nhất
Collapse
-
Comment on Đồng hồ công tơ điện tửbởi qpdt03
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
Comment on Đồng hồ công tơ điện tửbởi qpdt03
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
Trả lời cho Đồng hồ công tơ điện tửbởi qpdt03Hình ảnh mạch của nó đây, mình mang đồng hồ điện tử ra đo giá trị điện trở dán ghi trên lưng các con điện trở trong mạch đều đúng, mà công tơ điện tử vẫn đo sai, không biết nó hỏng chỗ nào; đã ấn nút reset lại nhưng vẫn không đc. Nhờ các bác có kinh nghiệm giúp đỡ. Thanks!
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
bởi qpdt03Mình mới mua 1 cái đồng hồ công tơ điện tử trên shopee; loại hiển thị 4 thông số V,A,W và tổng số Kwh nhưng về cắm thử đc 1 hôm thì chỉ số V báo 378v, cắm về 100v cũng báo 350v có bác nào biết cách sửa chữa nó không chỉ giúp mình nhé. Xin cảm ơn mọi người đã đọc bài.
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 16:46 -
-
bởi notooth1Các bạn xem giúp mình đây là tụ phân cực hay không phân cực nhé.
...-
Channel: Hướng dẫn tìm thông tin linh kiện
20-03-2024, 18:06 -
-
bởi carl22Xin chào tất cả mọi người.
Tôi hiện đang chế tạo một máy phay CNC. Máy phay được điều khiển thông qua Raspberry Pi 3 b+ và Smoothieboard v1.1 với trình điều khiển động cơ bước ACT DM 542 và động cơ 1,8° 2A.
Trục X 1,8° 3 A chạy qua trình điều khiển động cơ bước vì bảng sinh tố chỉ...-
Channel: Cơ cấu chấp hành (Actuator)
20-03-2024, 15:48 -
-
bởi ningoleChào các bác! Em là newbie về điện tử đang muốn làm một cái đèn báo cho ổ cắm nhưng chưa rành về mạch mong các bác giúp đỡ!
Nhu cầu của e là muốn làm 1 đèn báo nguồn AC 220V:
Nguồn 220v -> Phích cắm -> nối với 1 ổ cắm....-
Channel: Điện tử dành cho người mới bắt đầu
20-03-2024, 11:09 -
-
Trả lời cho có cần thiết phải lắp mạch bms cho khối pin ?bởi bao98Tất nhiên là bạn cần nó!
BMS là một phần không thể thiếu trong hệ thống ắc quy của xe điện.
nếu bạn không cài đặt BMS, có thể xảy ra vấn đề về pin, thậm chí có thể dẫn đến tai nạn-
Channel: Điện tử dành cho người mới bắt đầu
19-03-2024, 22:51 -
-
Trả lời cho [đồ án] xung đột nguồn điện 12vbởi bao98Để tìm hiểu xem bộ điều hợp UART của bạn được kết nối với cổng USB nào trên Raspberry Pi, bạn có thể sử dụng lệnh ls /dev/ttyUSB* hoặc ls /dev/ttyACM* trong thiết bị đầu cuối. Điều này sẽ liệt kê các cổng USB có sẵn để liên lạc nối tiếp. Cáp có thể được xem ở đây. Bạn cũng có thể kết nối và...
-
Channel: Hỗ trợ học tập
19-03-2024, 22:38 -
Leave a comment: