Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GESTIÓN DE LABORATORIOS
Versión: 1.0
1. INTRODUCCIÓN.
En la siguiente guía se plantea una introducción mediante videos tutoriales a la plataforma ARDUINO
UNO usando MATLAB.
2. OBJETIVOS
• Identificar los elementos necesarios para la comunicación cableada entre el computador y una
plataforma ARDUINO UNO por medio de simulación utilizando UnoArduSim de Queen’s University.
• Reconocer los parámetros de configuración que requieren los dispositivos para establecer una
comunicación serial exitosa.
• Verificar la correcta transmisión y recepción de datos entre dispositivos.
3. VIDEOS TUTORIALES
En general en la Página Web https://www.youtube.com/channel/UCDGAg1pqcy8IScMqHHTy9Gg
encuentras un curso completo en el que explican el manejo de Arduino y la programación desde su IDE
(Arduino Integrated Development Environment). Algunos videos importantes que no te puedes perder
de ver son:
• Tutorial 2: Download and install the Arduino IDE
https://www.youtube.com/watch?v=w55Pd4dU5-w
• 5 Ways to Destroy an Arduino En: https://www.youtube.com/watch?v=WmcMrKELkcs
• 5 More Ways to Destroy an Arduino En: https://vimeo.com/128411207
• Tutorial MATLAB + PROTEUS ARDUINO https://www.youtube.com/watch?v=M8Z_mREuINg
https://www.instructables.com/Processing-using-the-proteus-arduino-model/
4. PARTE 1
4.1. MARCO TEORICO: PROTOCOLO RS-232
Típicamente un PC dispone de varios puertos de serie: el puerto USB (Universal Serial Port) y el ya casi
olvidado RS-232. El estándar RS-232 proporciona una comunicación serial punto a punto para el
intercambio de información entre una terminal de datos y un módem. Actualmente, este protocolo ha
sido reemplazado por las interfaces USART (Universal Synchronous/Asynchronous
Receiver/Transmitter), que con menos pines, y menos espacio, permiten una comunicación punto a
punto más cómoda y la posibilidad de establecer la transferencia de datos de manera síncrona o
asíncrona.
El estándar RS-232 fue desarrollado en los años en los años 60 con el propósito de comunicar equipos
que manejaran el protocolo que lleva su mismo nombre. Un equipo terminal de dato (DTE por sus siglas
en inglés), que era el encargado de almacenar la información, compartía información con un equipo de
comunicación de datos (DCE), que tenía la tarea de compartir información con otros dispositivos DCE,
generalmente a través de líneas telefónicas. Según la norma, la conexión entre los dispositivos no podía
superar los 15 metros a una velocidad de transmisión de 20 kbps. Sus estados lógicos se representaban
Código: 3007364
GESTIÓN DE LABORATORIOS
Versión: 1.0
con voltajes bipolares, un 1 lógico era representado por valores entre -5 y -15 voltios, mientras que el 0
lógico lo representaban valores entre +5 y +15 voltios. Inicialmente, bajo el estándar se vendían
interfaces de 25 pines (DB25) para RS-232, que con el paso del tiempo fueron reduciendo su tamaño
hasta llegar a las interfaces de 9 pines (DE9).
Figura 3. Estructura de una trama de datos serie en una interfaz UART con 8 bits de datos, 1 bit de inicio, 1 bit de parada y
ningún bit de paridad.
• Conexiones Tx y Rx: Son los pines de transmisión y recepción que cada interfaz tiene para
comunicarse con otro dispositivo. Conforman el canal de información que, dependiendo de cómo
se configure, puede ser Simplex, Duplex o Full Duplex.
• Configuraciones de puerto serial: Independientemente de la cantidad de datos que pueda
manejar un protocolo u otro, utilizan los mismos parámetros de configuración para hacer que los
equipos conectados se entiendan entre ellos. Estas configuraciones se explicarán conforme se
vaya desarrollando la práctica.
De manera estricta, los parámetros para configurar una comunicación serial entre dos dispositivos son:
• Tasa de baudios (Baud Rate): Representa la cantidad se símbolos por segundo que pasan por
el medio. Los valores normalmente utilizado para la Tasa de Baudios son 300, 600, 1200, 2400,
4800, 9600, 14400, 19200, 28800, 38400, 57600 y 115200.
Código: 3007364
GESTIÓN DE LABORATORIOS
Versión: 1.0
• Bits de Dato: Indica la cantidad de bits que se transmitirán, y que también se esperan recibir, en
cada paquete de datos. Los valores más comunes de bits por paquete son 5, 7 y 8 bits.
• Bits de parada: Son bits que indican dónde termina cada paquete de datos enviados. Pueden
utilizarse paradas de 1, 1.5 o 2 bits.
• Paridad: Indica la manera en la que se hará la verificación de errores en cada paquete recibido.
Existen 4 tipos de paridad: par, impar, marcada o espaciada; también se puede optar por no
utilizar paridad.
Seleccionar la versión más reciente en la parte inferior de la página (2.9.1) y descargar. Luego extraer
el contenido del archivo comprimido y encontrará el programa:
Para la conexión real de un Arduino, convierte un puerto usb a puerto serial que soporta el protocolo RS-
232, el cuál crearía un puerto COM en el administrador de dispositivos:
Sin embargo, en este caso se utilizará un simulador de este puerto serial para lograr la comunicación
entre UnoArduSim y Matlab. Para esto, utilizaremos el software Virtual Serial Port Emulator (VSPE)
disponible en la página: http://www.eterlogic.com/Downloads.html donde seleccionaremos la versión
necesaria (32 o 64 bits), extraer el comprimido e instalar (No es necesario reiniciar el equipo).
Código: 3007364
GESTIÓN DE LABORATORIOS
Versión: 1.0
Una vez instalado iremos al botón de nueva conexión (1), luego eligiremos Connector (2), Next (3) y
Finish(4), por último daremos click en el botón play(5) para comenzar la emulación del puerto COM1.
Una gran ventaja es que no necesita el archivo compilado .hex, simplemente el .ino.
Código: 3007364
GESTIÓN DE LABORATORIOS
Versión: 1.0
Nótese que en la carpeta de la actividad hay un archivo myIODevs.txt, el cuál le define al programa
UnoArduSim, cuáles son los dispositivos externos (leds, motores, sensores) para utilizar y la
configuración del puerto serial.
Para iniciar el simulador, dar click en el menú Execute y luego Run, o utilizar la tecla F9.
Si se desea ver el contenido enviado por el puerto serial, hacer doble click en el recuadro
morado:
Código: 3007364
GESTIÓN DE LABORATORIOS
Versión: 1.0
• Serial.println(): Imprime datos en el puerto serie como texto ASCII legible por el usuario seguido
de un carácter de retorno de carro (ASCII 13, o '\ r') y un carácter de nueva línea (ASCII 10 o '\ n').
Este comando toma las mismas formas que Serial.print ().
Este
comando realiza una limpieza del puerto X, garantizando
que el canal de comunicación estará despejado al
momento de iniciar la comunicación
Configuración de MATLAB: