Professional Documents
Culture Documents
Matlab.
Objetivos:
Introducción.
Una Interfaz Gráfica de Usuario (GUI) es una pantalla gráfica en una o más
ventanas que contienen controles llamados objetos, disponibles para realizar
tareas interactivas. Una GUI incluye: menus, botones, agrupaciones de botones,
cajas de texto y barras de deslizamiento. Todas la GUI pueden utilizar estas
herramientas para realizar algún tipo de computación, leer y escribir en archivos,
comunicarse con otras GUI´s y mostrar datos en tablas o gráficas.
La imagen anterior muestra la ventana para crear una Guía de Interfaz de Usuario
en Matlab. Primero seleccionamos la pestaña Create New GUI, en esta pestaña
se tiene todos los parámetros necesarios para crear un proyecto nuevo. Elegimos
la opción por default que es Blank GUI (Default). Una vez que se han elegido los
parámetros seleccionamos la ubicación para guardar la Interfaz con un nombre de
la interfaz (arbitrariamente se genera el nombre untitled.fig pero puede ser
modificado). Como sugerencia, en nuestro caso guardaremos la interfaz en Mis
documentos y le nombraremos datos.fig. Damos click en OK y aparecerá la
siguiente ventana.
Sobre la interfaz se tienen varios objetos. Como se ve observa cada objeto tiene
un nombre visible en la interfaz y también debe tener un nombre dentro de la
programación de la misma. Elegimos el Push Button superior izquierdo y
accedemos a sus características de este objeto dándole doble click. Aparecerá
una ventana con todas las características de ese objeto como se muestra en la
siguiente figura.
Figura 4 Características del objeto Push Button.
Cada objeto tiene sus propias características sin importar que sean de la misma
clase de objeto. Estas características asignan un nombre propio a cada objeto.
Dentro de la ventana abierta nos enfocaremos a las características Tag y String.
Los únicos objetos que harán todo el trabajo son los tres botones, los demás
objetos son objetos esclavos, necesarios para recopilar y visualizar datos. Las
tareas asignadas para los tres botones son las siguientes:
Botón Conectar: Lee el puerto serial de la caja de texto editable COM, una
vez leído el puerto crear el objeto puerto serial con velocidad de 9600.
Finalmente deja el puerto abierto con el fin de comunicar Arduino con
Matlab.
Botón Desconectar. Únicamente cierra y elimina el puerto serial con el fin
de que otras aplicaciones puedan utilizarlo.
Botón medir: Lee los valores tiempo total y tiempo de muestreo con el fin
de realizar la recopilación de los datos. Una vez leídos los datos inicializa
un temporizador que funciona como guía para recopilar datos con base a
los múltiplos de muestreo. El número total de datos a leer depende de la
división entre el tiempo total y el tiempo de muestreo.
De igual manera nos aparece la pantalla dónde escribiremos las instrucciones que
se ejecutarán cuando se presiones con un click el botón de medir.
end
end
Como se muestra dentro del archivo datos.m hay más código generado sin
embargo NO DEBE SER BORRADO O ELIMINADO. En caso de hacerlo, es
posible que la interfaz tenga un error al momento de compilar. Hasta ahora ya
tememos diseñada la interfaz para la adquisición de datos con Arduino. Damos
click en el botón verde del datos.m o de datos.fig para correr la interfaz.
Automáticamente aparecerá una pantalla que es la aplicación de la interfaz
diseñada como se muestra en la siguiente imagen:
Figura 12 Interfaz diseñada para la adquisición de datos de Arduino.
¡¡URRA!! Hasta ahorita tenemos diseñada la interfaz, sin embargo, la otra parte es
conectar a Arduino. Empezaremos una aplicación básica que es registrar la señal
de un potenciómetro a través de la entrada A0 de Arduino. Armamos el circuito
mostrado en la siguiente figura.
Una vez que ingresamos el nombre del puerto damos click en el botón conectar
para crear y abrir el puerto Serial. Cuando la comunicación se hace correctamente
veremos una bandera de encendido con valor igual a 1 como se muestra en la
figura, lo que significa que el puerto serial se abrió correctamente.
Una vez que se han introducidos los parámetros damos click en el botón medir.
Teoría.
Lo anterior fue una pequeña práctica teórica que queda a disponibilidad del
usuario si tiene las facilidades de desarrollarla o no, con el fin de dar una
introducción a la comunicación entre Arduino y Matlab. En esta práctica se sigue el
mismo objetivo: Controlar a Arduino desde un software de aplicación Matlab.
Comunicación Serial.
Sintaxis:
3.-Escritura en el puerto serial: Imprime los datos al puerto serie como texto
ASCII seguido de un retorno de carro (tecla Intro). Dentro del argumento se
pueden colocar el valor que se desee transmitir en el puerto serial. Esta
instrucción facilita la salida de datos de Arduino hacia otros dispositivos.
Sintaxis:
4.-Lectura del puerto serial: Esta instrucción permite leer datos provenientes del
puerto serial. En la sintaxis no se coloca nada como parámetro. Esta instrucción
facilita la llegada de datos de un dispositivo externo hacia Arduino.
Sintaxis:
Referencias Matlab.
get(handles.NombreObjeto, ‘Caracteristica’)
Para crea un objeto de puerto serial es necesario asignar el nombre del puerto que
se desea abrir y la velocidad de transmisión de datos. La sintaxis en la siguiente.
delete(instrfind({´Port´}, {´PuertoUtilizado´}))
Una vez que se ha creado el puerto serial Objeto es necesario abrirlo para la
transmisión de datos. La manera en que se abre es la siguiente:
fopen(puertoSerialObjeto)
fclose(puertoSerialObjeto)
fwrite(puertoSerialObjeto, datoEscrito)
Desarrollo experimental.
1. Material
1 Tarjeta de hardware Arduino.
1 Cable USB para Arduino.
1 Motor de corriente continua de 5 volts.
1 Pila de 9 volts.
2 diodos 1N4001
1 transistor con matricula IRF740.
7 resistencias de 330 ohms a ¼ de watt.
2 resistencias de 1Kohm a ¼ de watt.
1 resistencias de 100 ohms a ¼ de watt.
2 transistores PNP con matrícula BC547 o en su defecto
2N2222.
2 display de cátodo común.
Software Matlab.
Lista de referencias de Arduino utilizados en la práctica dos.
1 tablilla Protoboard.
Alambre para protoboard
2. Esquema electrónico.