lunes, 22 de julio de 2013

Tutorial 1. COMUNICACIÓN CON ARDUINO SIN MATLAB


Es posible controlar la tarjeta Arduino sin necesidad de tener instalado Matlab. Si se cuenta
con un programa que pueda establecer comunicación serial con el puerto que la tarjeta Arduino
establece. Por ejemplo, hyperterminal para Windows 7 (Se puede descargar).
Para que se pueda establecer comunicación, de esta forma, tiene que cargarse el archivo
“adiosrv.pde” en la tarjeta, desde el IDE ARDUINO. Este archivo es uno de los tantos que
viene en el comprimido “ArduinoIO.zip”1 (Lea el tutorial: Intrucciones para Instalar Arduino con
Matlab)

FORMATO DE INSTRUCCIÓN

El programa “adiosrv” cargado en la memoria de la tarjeta, está configurado para enviar y
recibir datos. Las instrucciones que recibe desde el programa que interactúa con la tarjeta,
tiene 3 caracteres típicos, de la forma:
XyZ

X: Número o letra mayúscula indicando la acción. Las acciones pueden ser:
0: Asignar pin digital como entrada o salida, depende del tercer caracter.
1: Lee estado de pin digital especificado en el 2 caracter.
2: Pone el pin digital especificado en el segundo caracter en estado alto o en estado
bajo de acuerdo al valor del tercer caracter ( 1 en alto, 0 en bajo). Para que funcione,
la salida digital debe haber sido configurada como tal.
3: Lee valor en de entrada análoga especificada en 2 caracter
4: Configura salida digital como análoga PWM, especificada en 2 caracter, en un valor
que va de 0 a 255, indicado por el tercer caracter en código ASCII.
y: Letra minúscula indicando el número del pin. Los pines de la tarjeta Arduino están
numerados del 0 al 13 para las terminales digitales. Las terminales de entrada análoga del A0
al A5. El segundo caracter “y” es una minúscula de la “a” a la “n”, de tal forma que:

a = 0,
b = 1,
c = 2,
d = 3,
e = 4,
f = 5,
g = 6,
h = 7
i = 8,
j = 9,
k = 10,
l = 11,
m = 12,
n = 13.
Las letras a a f pueden corresponder tanto al pin digital como al análogo y para determinar cual
se usa (b para pin digital 1 o entrada análoga A1, depende la función implicada por el primer
caracter)
Z: Número o letra indicando el valor a ser transmitido.

CONFIGURACIÓN DE PIN DIGITAL

Un pin digital puede configurarse como entrada o como salida. Si está configurado como salida,
puede suministrar a una carga conectada a él, un voltaje de 5 voltios (HIGH) o de 0 voltios
(LOW), siempre que dicha carga, no exceda el consumo de corriente máximo que la tarjeta
Arduino puede proporcionar. Si el pin digital, sirve como entrada, puede recibir voltajes de 0 ó 5
voltios, unicamente.

Ejemplo 1:
Para poner el pin 13 como salida y encender el led que viene conectado a él:
0n1 % Configura el pin 13(n) como salida
2n1 % Pone el pin 13(n) en estado alto
Se puede establecer comunicación serial por Matlab, si los archivos “arduino.m” y
“install_arduino” no funcionan en la versión de Matlab que se esté utilizando. Se pueden utilizar
las funciones: “serial(‘port’)”, “fopen(obj)”, “fscanf(obj, format)” y “fprintf(obj, ‘cmd’)”
En primer lugar desde Matlab, los comandos para acceder al puerto serie que utiliza Arduino:






El primer comando, borra cualquier objeto previo adjunto al puerto serie COM3, en este caso
particular. El segundo comando, permite crear un nuevo objeto que contiene todos los atributos
y procedimientos para acceder al puerto serie COM3.
A continuación, se abre el puerto para acceder a sus datos:











Para otros programas, deberán existir formas diferentes o similares de configurar el acceso
al puerto que tiene Arduino. En Matlab, la escritura en un pin, como salida digital tiene los
los anteriores pasos, los ultimos comandos, permiten configurar el pin 13 de la tarjeta, como salida y ponerlo en estado bajo con lo que se apagará el led.

No hay comentarios:

Publicar un comentario