Sie sind auf Seite 1von 11

cristhian.riano@unipamplona.edu.co cristhianivanrj@gmail.

com
Facultad de Ingenieras y Arquitectura
Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

UNIVERSIDAD DE PAMPLONA
1 de 11
PROGRAMACIN MECATRNICA
Matlab Guide
16 de Septiembre 2014
1
INTERFAZ GRFICAS DE USUARIO (GUI) CON MATLAB


INTRODUCCION

El objetivo de la clase es aprender a realizar interfaces grficas de usuario, comnmente
denominadas GUI-s. La ventaja de Matlab con respecto a otros programas es la velocidad para
realizar clculos eficientemente. Las aplicaciones creadas con MatLab pueden ser ejecutadas en
otros ordenadores y la posibilidad de crear interface con herramientas tiles para que otras
personas sin los suficientes conocimientos las manipulen justifica la enseanza.

COMPONENTES

El ambiente de programacin de Matlab esta compuesto por un a interface grafica con varias
herramientas distribuidas en ventanas que permiten programar, revisar, analizar, registrar datos,
utilizar funciones, historial de comandos y desarrollar diversas aplicaciones. La pantalla principal de
Matlab se presenta en la Figura 1. 1 podemos acceder a Guide por medio del icono sealado o
escribiendo la palabra Guide en el prompt.




Una vez se inicia Guide, vemos la ventana o entorno de programacin en la que aparece las
opciones mostradas en la Figura 1. 2.

Nuevo Archivo
Guide
Figura 1. 1 Ambiente de Programacin

cristhian.riano@unipamplona.edu.co cristhianivanrj@gmail.com
Facultad de Ingenieras y Arquitectura
Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

UNIVERSIDAD DE PAMPLONA
2 de 11
PROGRAMACIN MECATRNICA
Matlab Guide
16 de Septiembre 2014
2

Figura 1. 2 Guide Quick Start

Podemos abrir una GUI que ya fusemos creado, por el momento no lo haremos despus de
haber guardado nuestra primera GUI o comenzar con una GUI en blanco ya podremos ingresar al
el por este medio. Las otras opciones ofrecen una plantilla en la que ya existen algunos controles
(Uicontrols), o en la que ya hay incorporado un grfico y un men que podemos apreciar si
realizamos click en cada una de ellas. Abajo, en la ventana de dilogo, observamos un Check
Box que dice Save on startup as: y nos brinda la posibilidad de seleccionar un nuevo directorio.
Sugiero marcar la casilla para activar la opcin Browse y dar el nombre de la interfaz a desarrollar
en un directorio vaco. Partiremos de Blank Gui (Default) para crear la nuestra y la ventana que
resulta la apreciamos en la Figura 1. 3 .

Figura 1. 3 Black Gui (Default).


cristhian.riano@unipamplona.edu.co cristhianivanrj@gmail.com
Facultad de Ingenieras y Arquitectura
Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

UNIVERSIDAD DE PAMPLONA
3 de 11
PROGRAMACIN MECATRNICA
Matlab Guide
16 de Septiembre 2014
3

Es importante fijarnos que al guardar la interfaz desde el comienzo nos encontramos con unos
archivos nuevos en nuestro directorio elegido. Un archivo es interface1.fig y el otro es interface1.m.
Antes de comenzar a manipularlos es conveniente revisarlos para ver las diferencias que se van a
ir produciendo a medida que vayamos introduciendo elementos dentro de la interfaz.




function varargout = Interface1(varargin)
% INTERFACE1 M-file for Interface1.fig
% INTERFACE1, by itself, creates a new INTERFACE1 or raises the
existing
% singleton*.
%
% H = INTERFACE1 returns the handle to a new INTERFACE1 or the
handle to
% the existing singleton*.
%
% INTERFACE1('CALLBACK',hObject,eventData,handles,...) calls the
local
% function named CALLBACK in INTERFACE1.M with the given input
arguments.
%
% INTERFACE1('Property','Value',...) creates a new INTERFACE1 or
raises the
% existing singleton*. Starting from the left, property value
pairs are
% applied to the GUI before Interface1_OpeningFcn gets called.
An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to Interface1_OpeningFcn via
varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help Interface1

% Last Modified by GUIDE v2.5 06-Mar-2013 11:08:58

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Interface1_OpeningFcn, ...
'gui_OutputFcn', @Interface1_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})

cristhian.riano@unipamplona.edu.co cristhianivanrj@gmail.com
Facultad de Ingenieras y Arquitectura
Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

UNIVERSIDAD DE PAMPLONA
4 de 11
PROGRAMACIN MECATRNICA
Matlab Guide
16 de Septiembre 2014
4
Lo que encontramos es un archivo de tipo function con la extensin caracterstica de MatLab .m.
Este archivo es construido por MatLab y las lneas de cdigo que aparecen son las que crean la
interfaz que aparece en el archivo interface1.fig. El archivo de inicializacin define los parmetros
bsicos de la interfaz y crea un conjunto de handles (Acciones, controles, comandos) para cada
uno de los objetos que vayan apareciendo sobre la interfaz. Si ejecutamos el archivo
interface1.fig, o invocamos a interface1.m en el prompt de comandos obtenemos la siguiente
ventana que se muestra en la Figura 1. 4.


Figura 1. 4 Ejecucin del programa guardado.


Como se puede apreciar, la interfaz no contiene nada ms que un espacio de trabajo vaco sin
ninguna funcionalidad. El cdigo que est en este momento escrito en Interface1.m se encarga
de crear la interfaz tal y como se ve, esa es la principal razn por la cual el cdigo no debe ser
modificado ni los cdigos que a medida que insertemos elementos nutran este cdigo.

La interfaz grfica cuenta con las siguientes herramientas:



cristhian.riano@unipamplona.edu.co cristhianivanrj@gmail.com
Facultad de Ingenieras y Arquitectura
Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

UNIVERSIDAD DE PAMPLONA
5 de 11
PROGRAMACIN MECATRNICA
Matlab Guide
16 de Septiembre 2014
5
La siguiente tabla muestra una descripcin de cada uno de los componentes:

Tabla 1 componentes.


Procedimiento para crear la primera aplicacin.

El objetivo del ejemplo es crear una calculadora con funcionalidad simple pues va ser nuestro
primer contacto con la herramienta y se busca es dotar al estudiante con la capacidad de
identificar los distintos elementos como manipular las propiedades de cada elemento. La
apariencia de nuestra primera interface es la que se muestra en la Figura 1. 5.


Figura 1. 5 Ejemplo Primera Aplicacin.

1. En primer lugar obtenemos la etiqueta de cada elemento de la paleta de componentes
por el momento mientras nos aprendemos el icono y tengamos mayor habilidad vamos a
File Preferences y seleccionamos Show names in component palette. Obtenemos la
siguiente forma de presentacin de la cual seleccionaos dos Edit Text como se muestra en
Figura 1. 6 :

cristhian.riano@unipamplona.edu.co cristhianivanrj@gmail.com
Facultad de Ingenieras y Arquitectura
Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

UNIVERSIDAD DE PAMPLONA
6 de 11
PROGRAMACIN MECATRNICA
Matlab Guide
16 de Septiembre 2014
6

Figura 1. 6 Selecciona Edit Text.

Modificamos las siguientes propiedades.

Edit Text1
Valor1 Tag
Borramos y dejamos Vacio String

Edit Text2
Valor2 Tag
Borramos y dejamos Vacio String

2. En la paleta de componentes procedemos a colocar en nuestra rea de trabajo cuatro
Static Text. Como se muestra en la Figura 1. 7.


Figura 1. 7 Insertar cuatro Static Text.

cristhian.riano@unipamplona.edu.co cristhianivanrj@gmail.com
Facultad de Ingenieras y Arquitectura
Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

UNIVERSIDAD DE PAMPLONA
7 de 11
PROGRAMACIN MECATRNICA
Matlab Guide
16 de Septiembre 2014
7

Doble click en cada elemento nos permite inspeccionar cada una de las propiedades del
elemento. Modifiquemos las siguientes propiedades segn sus gustos.

Tipo de letra FontName
Tamao de Letra FontSize
Alineacin HorizontalAlignment
Identificador Tag
Cadena de Caracteres a visualizar String

Ejemplo:

Arial FontName
12 FontSize
center HorizontalAlignment
Mi calculadora en GUIDE String

Destinamos un Static Text para visualizar la respuesta y modificamos la siguiente
propiedad.

Respuesta Tag
Borramos y dejamos Vaco String

3. En la paleta de componentes seleccionamos un Panel y cinco Push Button como se
muestra en la Figura 1. 8. Doble click en cada elemento nos permite inspeccionar cada
una de las propiedades del elemento.

Figura 1. 8 Insertar Panel y cinco Push Button.

cristhian.riano@unipamplona.edu.co cristhianivanrj@gmail.com
Facultad de Ingenieras y Arquitectura
Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

UNIVERSIDAD DE PAMPLONA
8 de 11
PROGRAMACIN MECATRNICA
Matlab Guide
16 de Septiembre 2014
8



Tipo de letra FontName
Tamao de Letra FontSize
Alineacin HorizontalAlignment
Suma, Multiplicacin, Resta, Divisin, Credito Tag
Suma, Multiplicacin, Resta, Divisin String

4. Cada vez que se adicione un nuevo elemento en la interfaz grfica, se genera
automticamente cdigo en el archivo .m. Todos los valores de las propiedades de los
elementos (color, valor, posicin, string) y los valores de las variables temporales del
programa se guardan en una estructura, los cuales son accedidos mediante un nico y
mismo identificador para todos stos. El identificador se asigna en:



Por ejemplo, si dentro de una subrutina una operacin dio como resultado una variable
suma para poder utilizarla desde el programa u otra subrutina debemos salvarla de la
siguiente manera:



La asignacin u obtencin de valores de los componentes se realiza mediante las
sentencias get y set. Por ejemplo si queremos que la variable utpl tenga el valor del Slider
escribimos:



Para asignar el valor a la variable utpl al statictext etiquetada como text1 escribimos:

handles.Valor1=NVal1; %Almacenar en identificador

handles.suma=suma;
guidata(hObject,handles);
utpl= get(handles.slider1,'Value');


cristhian.riano@unipamplona.edu.co cristhianivanrj@gmail.com
Facultad de Ingenieras y Arquitectura
Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

UNIVERSIDAD DE PAMPLONA
9 de 11
PROGRAMACIN MECATRNICA
Matlab Guide
16 de Septiembre 2014
9


Para nuestro programa, vamos a empezar por Guardar el Valor ingresado por el usuario,
luego transformamos la variable de tipos string a tipo Double para luego poder utilizarlo
en cada una de las operaciones. Realizamos click Derecho sobre cada uno de los Edit
Text dispuestos para ingresar los valores a operar y en View Callbacks ingresamos a
Callback tal como se muestra en la Figura 1. 9 y en ese lugar ingresamos el siguiente
cdigo.


Figura 1. 9Ingresar al Callback.
Para el valor 1


Para el Valor 2


Para el Push Button Creditos

set(handles.text1,'String',utpl);%Escribe el valor del Slider...

Val1=get(hObject,'String'); %Guardar el valor ingresado
NVal1 = str2double(Val1); %Transformar a formato double
handles.Valor1=NVal1; %Almacenar en identificador
guidata(hObject,handles); %Salvar datos de la aplicacin
Val2=get(hObject,'String'); %Almacenar valor ingresado
NVal2 = str2double(Val2); %Transformar a formato double
handles.Valor2=NVal2; %Almacenar en identificador
guidata(hObject,handles); %Salvar datos de la aplicacin


cristhian.riano@unipamplona.edu.co cristhianivanrj@gmail.com
Facultad de Ingenieras y Arquitectura
Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

UNIVERSIDAD DE PAMPLONA
10 de 11
PROGRAMACIN MECATRNICA
Matlab Guide
16 de Septiembre 2014
10



5. Cada Cada uno de los elementos aadidos en nuestro diseo como pushbutton tienen
una funcin asociada en nuestro m-file. Vamos al pushbutton Suma, que tenemos y
aadimos el siguiente cdigo:


Figura 1. 10. Cdigo para Operacin Suma.



Figura 1. 11 Cdigo para Operacin Multiplicacin.


Figura 1. 12 Cdigo para Operacin Divisin.
% --- Executes on button press in suma.
function suma_Callback(hObject, eventdata, handles)
% hObject handle to suma (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
A=handles.Valor1
B=handles.Valor2
suma=A+B
set(handles.Respuesta,'String',suma);
msgbox('Hola Mundo en Programacin Mecatronica')


cristhian.riano@unipamplona.edu.co cristhianivanrj@gmail.com
Facultad de Ingenieras y Arquitectura
Ingeniera Mecatrnica
Docente Cristhian Ivan Riao Jaimes

UNIVERSIDAD DE PAMPLONA
11 de 11
PROGRAMACIN MECATRNICA
Matlab Guide
16 de Septiembre 2014
11


Figura 1. 13 Cdigo para Operacin Resta.


6. Procedemos a guardar los cambios y correr el programa visualizamos la respuesta y el
comportamiento de nuestro primer GUI.





Bibliografa.

Matlab Aplicado a Robtica y Mecatrnica Fernando Reyes Cortes
http://es.wikipedia.org/wiki/MATLAB [1].
Braspenning, P., Thuijsman, F. and Weijters A. (eds), Artificial Neural
Networks,1995
Winston, Henry P.,Inteligencia Artificial, Addison Welsley, 1994
Rich, E. and Knight K. Inteligencia Artficial, McGraw Hill, 1997
Delgado Alberto, Inteligencia Artificial y Minirobots, ECOC Ediciones,
1998
EBESCO Publishing

Das könnte Ihnen auch gefallen