Está en la página 1de 2

MATLAB – ARDUINO

INTRODUCCIÓN.

A la hora de empezar con cualquier proyecto de aplicación práctica, una de las cuestiones
principales suele ser enlazar la parte teórica, como algoritmos de tratamiento de datos, sistemas
de control automático, etc., con el mundo real.

Uno de los ejemplos más básicos consiste en leer datos de un sensor conectado al Arduino y
transmitirlos al PC mediante comunicación serie, El objetivo será pues leer una señal analógica
de dos (extensible fácilmente a más) sensores (en este caso potenciómetros) y transmitirla a
Matlab, a fin de poder trabajar con ella.

Al controlar Arduino a través de Matlab tenemos mucha más potencia para realizar cálculos
matemáticos, con lo cual es una buena idea si hay que realizar operaciones matemáticas
complejas o que requieran más capacidad de la que nos ofrece el microcontrolador de 8-bits.
Además, podemos construir el programa “sobre la marcha”, lo cuál puede ser una ventaja.

DESARROLLO

CONFIGURACIÓN DE ARDUINO

En primer lugar, vamos a preparar el Arduino. Conectamos los potenciómetros entre los pines de
+5V y Gnd (neutro) y sus pines centrales (que por tanto presentarán un voltaje entre +5V y 0V) a
las entradas analógicas A0 y A1 del Arduino, de esta manera:

Por supuesto, cualquier otro sensor analógico sirve exactamente igual para este ejemplo. A
continuación, hemos de programar el Arduino, para que recoja la información de A0 y A1 y la
envíe vía serie; el formato del envío consiste en: valor de A0, coma, valor de A1 y retorno de
carro + línea nueva (debido a que se usa la función Serial.println() al final)

CONFIGURACIÓN DE MATLAB

Una vez configurado el Arduino, los datos se enviarán por la propia conexión USB, pero
simulando un puerto serie que deberemos conocer (desde la propia interfaz de Arduino se puede
averiguar). En este caso, en el entorno Windows, el puerto será el COM4. El primer paso será
crear un objeto serie en Matlab y abrirlo para empezar a leer:

El siguiente paso es preparar la medida, ajustando dos parámetros: el tiempo total de medida, y la
velocidad de capturas por segundo. Éste último parámetro hay que estimarlo, pero haremos que
el programa nos devuelva el valor real, con lo que si éste se aleja de lo estimado será inmediato
corregirlo.

A continuación, preparamos la figura en la que leeremos la señal de ambos potenciómetros. El


núcleo del programa es el bucle de medida, en el cual iremos leyendo del puerto serie los datos
en el formato que hemos especificado, midiendo el tiempo de ejecución y actualizando los dos
objetos línea creados anteriormente: los datos Y serán los voltajes medidos hasta el momento y
los datos X el tiempo de ejecución. Al salir del bucle, imprimiremos el dato de capturas por
segundo que hemos estimado arriba, Por último, cerramos el puerto serie (para que otras
aplicaciones lo puedan utilizar) y eliminamos el objeto serie que hemos creado en el primer paso.

RESULTADO

Con el código del ejemplo, obtendríamos una figura semejante a esta:

Por supuesto, una vez recogidos los datos en las variables v1 y v2, ya podemos analizarlos de
cualquier manera que se nos ocurra: podemos realizar un análisis espectral mediante transformada
rápida de Fourier; graficarlos frente a otras variables, realizar un test de correlación, salvarlos en
formato Excel, etc.

CONCLUSIONES

El obtener datos en tiempo real con diferentes programas intercalados con l tarjeta Arduino,
Gracias a eso se pueden llevar a cabo estudios más avanzados en la implementación de nuevas
cosas y de nuevos instrumentos que estén a nuestro alcance haciéndolos más baratos y accesibles
para cualquier nivel económico.

La interpretación que se le puede dar a la adquisición de datos con Matlab es diferente a los demás
programas ya que es un Software muy completo para cualquier ingeniero que comprenda su uso
y proyecto de nueva implementación.

También podría gustarte