Introduction: Launchpad - Comunicación Serial Con Matlab
Hola, bienvenido a este tutorial donde aprenderás a comunicar tu tarjeta LaunchPad TI Evaluation Kit con Matlab.
En este tutorial se enfocará a la conexión con la Tiva C y el usuario podrá migrar fácilmente a una tarjeta tipo MSP430.
Primero, antes de comenzar el tutorial...
1.- Tener instalado MATLAB (una versión que soporte comunicación serial).
2.- Instalar Energía IDE (http://energia.nu).
3.- Recomendado: Descargar esta app para electrónica "iOhmy" para tu iPhone.
4.- No olvides darle Me gusta y Compartir a... www.facebook.com/UpiitaRAM
Gracias :)
Step 1: Que Es La Comunicación Serial RX/TX
El protocolo serial asíncrono es un protocolo de comunicación común en el mundo de la electrónica embebida. Es utilizado por dispositivos para comunicar información. El protocolo se implementa en los receptores/transmisores asíncronos universales (UART, por sus siglas en inglés). Cuando un dispositivo se comunica usando el protocolo serial, su UART transmite en la línea "TX" y recibe datos por la línea "RX".
En una comunicación serial tendremos una terminal ( o pin) con las letras "TX" y otra con "RX".
Para conectar dos dispositivos mediante UART, se deben conectar los pins como se muestra en la imagen.
En nuestra tarjeta Launchpad TI Tiva C, tenemos 8 UART. Y en una tarjeta MSP430 solo tenemos 1 UART.
Step 2: Comunicación Serial Con Launchpad
En nuestra tarjeta Launchpad TI Tiva C, tenemos 8 UART. Y en una tarjeta MSP430 solo tenemos 1 UART.
Si vemos el siguiente diagrama, podemos observar en colornaranja unos bloques que dicen RX(1), TX(1), etc.
Esos bloques RX(1) y TX(1) son el puerto Serial1.
En este ejemplo usaremos el puerto serial por defecto que usa el puerto USB con la computadora.
Entonces, en caso de que queramos conectar un dispositivo serial a nuestra Launchpad usando los pines...
RX(1) se llama PC_4
TX(1) se llama PC_5 (aparecen en color morado) y pertenecen en la fila J4 de pines o terminales para conexión.
Si solo queremos hacer comunicación serial mediante USB, el puerto se llamará en nuestro código Serial.
Y usaremos comandos como Serial.write() y Serial.read().
*Para ver mas sobre las terminales de la Tiva C, descarga:
Step 3: Programando La Tiva C Con Energía IDE.
Primero, me gustaria mencionar algunos comandos en Energía IDE para la comunicación serial.
Tenemos los comandos...
Serial.begin( speed ) Establece la velocidad de bits por segundo (baudios),
speed = 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600.
Serial.read( ) Lee datos entrantes en la LaunchPad via RX()
Serial.write( ) Escribe datos en la LaunchPad via TX()
Serial.println( ) Escribe datos en el puerto Serie como tipo ASCII.
Ahora bien, el código que se muestra en la imagen define una constante para el LED rojo RED_LED.
Desde MATLAB escribiremos un 1 para encender el LED y un 2 para apagarlo.
Entonces, si la variable matlabData = 1 enciende el LED con HIGH y si es 2 apaga con LOW.
matlabData = Serial.read(); es el encargado de leer los datos de entrada.
_________________________________________
Descargar código para Tiva C (Energía IDE).
Attachments
Step 4: Comunicando LaunchPad Con Matlab
Primero y muy importante, debemos obtener el nombre del puerto serial en el que estamos conectados.
Desde energía, Tools > Serial Port, podemos ver un nombre como /dev/tty/usbmodem0e203E21, este nombre es diferente para cada computadora. En el caso de Windows verás que dice COM.
Ya que copiaste el nombre del puerto serial, cierra el programa Energia.
IMPORTANTE: Energía y Matlab no pueden estar ejecutandose al mismo tiempo.
Bien, ya que tienes ese nombre del puerto, abre MATLAB y escribe lo siguiente:
s = serial('elnombredeTuPuertoSerial');
ejemplo: s = serial('/dev/tty/usbmodem0e203E21')
Step 5: Programando En MATLAB
Como sabemos, la comunicación será Serial. En este ejemplo solo tenemos conectada la Launchpad mediante puerto USB y en nuestro código de Energía IDE tenemos Serial.read() y Serial.write() para lectura y escritura.
*Los comandos que usaremos en MATLAB son...
Para declarar tu puerto serial en una variable: s = serial('/dev/tty/usbmodem0e203E21')
Para usar el puerto hay que abrirlo: fopen(s); % inicia comunicacion
Y cerramos el puerto al terminar su uso: fclose(s); % termina la comunicacion
También puedes experimentar con el comando: s.Status(), si al ejecutarlo aparece 'open', entonces el puerto ya esta en uso con MATLAB.
_________________________________
Descargar código de Matlab.
Attachments
Step 6: Resultados
Al ejecutar el código de Matlab, el programa pide ingresar 1,2 o bien 0 para salir.
Si ingresamos 1, encendemos el LED rojo y si ingresamos 2, apagamos el LED rojo.
* Espero te haya gustado el tutorial, agradecemos comentarios y sugerencias *
No olvides descargar esta app de electrónica "iOhmy" para tu iPhone.
Te invitamos unirte a nuestra página de facebook: