Sie sind auf Seite 1von 5

INTERFACESGRFICASPARACOMUNICARARDUINOCONMATLAB

La interconexin de tarjetas de adquisicin de datos es comn, cuando se quiere registrar y


luego procesar informacin sobre un evento, comportamiento de una variable, etc. A
continuacin se har una explicacin del procedimiento experimental para disear GUI que
involucrentrabajodecomunicacincontarjetaArduino.

DISEANDO LA INTERFAZ PARA CAPTURAR EL DATO REGISTRADO POR UN


SENSOR

Si un sensor ( Como el LM35 ) est conectado a una de las entradas anlogas (A0, A1, ,
A5)delatarjetaArduinoUNO,procederemosbasadosenelsiguienteejemplo

Figura1.AparienciadelainterfazgrficaparaestablecercomunicacinconlatarjetaArduinoUNO.

El propsito del programa de ejemplo, es leer los valores suministrados por un sensor
conectado a alguna de las entradas anlogas de Arduino. El cuadro de texto editable
etiquetado como: Puerto es para escribir el nombre del puerto serial al que se conecta la
tarjeta (COM3, COM8, etc) En este cuadro, el usuario registra el puerto de acuerdo a lo que
seveaeneladministradordedispositivosdeWindows.
Pordefecto,puedeestablecerseunpuertoespecfico.
En el cuadro Tiempo de muestreo se indica el tiempo que se desea, dure la medicin.
Aunque en este ejemplo, no se va a tomar esa opcin, sino la posibilidad de utilizar botones
paraempezaryterminarlamedida.
Factor de Escala es para indicar el valor numrico por el cual se multiplicarn las lecturas
para que el valor registrado sea numricamente igual a la variable que mide el sensor. Como
ya se ha mencionado antes, los valores que se toman directamente de la tarjeta, por las
entradas anlogas, van en el rango de 0 a 1023. El factor de escala, ser lo que permita
convertirlosvaloresaequivalentesnumricosentrminosdelavariableregistrada.
Pin Anlogo es para indicar en cual de las 6 entradas anlogas se conecta el sensor y es un
nmeroenteroentre0y5.
El botn Registrar, empieza la medida a la vez que inicia la accin de graficar los datos
conformelosvaadquiriendo.
El botn Detener, como su nombre lo indica, detiene la medicin y permite que se guarden
losdatos.
ElbotnSalir,cierraelprograma.

REDACCINDELMFILE

En primer lugar, antes de que la ventana se abra disponible al ingreso de datos del usuario, es
conveniente precargar alguna informacin. A continuacin, el cdigo que se incluye en la
funcindeapertura:

Figura2.Cdigoagregadoalafuncindeapertura

Cuando se termina de dar nombre a cada objeto grfico, con la funcin guidata, se tiene la
opcin de guardar y acceder a cada objeto y datos que se vayan creando. En el
ejemplo,portEdit hace referencia al cuadro de texto donde se registra el nombre del puerto,
pordefectoelCOM3.
Hubo un error en el nombre tiempoButton porque no se trataba de un botn sino de el cuadro
de texto editable para que aparezca como tiempo de medida por defecto de 30. Sin embargo,
como el nombre hace referencia al cuadro de texto y no a un botn, el programa no presenta
problemasdesintaxis.
scaleFactorEdit es el cuadro de texto que registra el factor de escala por el que se
multiplicarnlosdatosprovenientesdelaentradaanlogadelatarjeta.
pinAnalogButton, es otro error de nombre pues aunque hace referencia a un botn, en
realidad es el Tag puesto al cuadro de dilogo para indicar el pin (0 a 5) en el que est
conectadoelsensor.

CdigoparaelbotnDetener

La funcin de este botn es parar la grfica. La razn de ver primero este botn, es que el
cdigo es ms fcil y contiene menos lneas. Dentro de la funcin callback para este botn,
se crea una variable de nombre ini0 que es de tipo booleano y que se inicializa a false pero
que slo es reconocidad dentro de esta funcin. Por eso las lneas siguientes, permiten
guardar en la estructura handles esta variable para que sea utilizada en otra funcin.
Especificamente, la variable ini0 se va a utilizar en varias partes o funciones del cdigo, y su
uso es para mantener o parar la iteracin que registra los datos del sensor y los grafica. Antes
decontinuarconlaexplicacin,semuestraelcdigoparaelstopButton_callback:

Figura3.CdigodentrodelcallbackdelbotnDetenercuyoTagesstopButton.

CdigoparaelbotnRegistrar

La funcin de este botn, es comenzar el registro de los datos, graficarlos y guardarlos. A


continuacin,enlafigura4.elcdigoasociadoaregisButton_Callback:

Figura4.CdigoincluidoenlafuncinregisButton_Callback.

Este cdigo tiene tres partes: el bloque de sentencias o comandos para establecer la
conexin con la tarjeta. Es necesario aclarar que cuando se incluya una clase (arduino), se
toma una variable independiente a y se establece la configuracin de pines a.pinMode()
para que las propiedades del objeto pasen a la variable a. Slo se incluye el objeto dentro de
la estructura handles hasta que se ha ejecutado al menos un mtodo de la clase en este
casoa.pinMode.Unaformaquegeneraraerror,sera:

>>a=arduino(puerto)
>>handles.a=a
>>handles.a.analogRead()

Como el objeto a apenas se declar y luego se guard dentro de la estructura handles sin
ejecutar ningn mtodo asociado a la clase arduino. Aunque el programa no colapse, no se
llevaracaboelmtodo.
El segundo bloque de instrucciones, constituyen un lazo de iteracin while que se ejecuta
mientras la condicin o variable booleana ini0 sea true. Como se recordar, ini0 es una
variable utilizada en la funcin de apertura y que se guard en la estructura handles para que
su valor pueda ser utilizado aqu. Dentro del lazo, hay dos comandos o funciones que se
incluyenalfinaldellazo:

>>data=guidata(handles.stopButton)
>>handles.ini0=data.ini0

En la primera, se guardan dentro de la variable data toda la estructura correspondiente a la


funcin stopButton_Callback que como se indic antes, se utiliz para cambiar el valor de la
variable ini0 a false. Dicho valor, slo se hace efectivo cuando se haga clic en el botn
Deteneryenconsecuencia,ellazodeiteracinwhilesedetiene.
La ltima parte es el bloque de comandos para crear un archivo de Excel que contenga dos
columnas,laprimeraparaeltiempotylasegundaparalosvaloresdelsensor.

Das könnte Ihnen auch gefallen