Вы находитесь на странице: 1из 1

Comunicaci´on serial Arduino - Scilab

Universidad de Guadalajara - CUCEI I7292 - Sistemas de Medici´on Ing. Roberto C. Barrag´an

En este documento se dar´an las indicaciones para poder realizar una comunicaci´on serial (puerto USB) entre la computadora y alg´un otro dispositivo externo, que en este caso ser´a un Arduino. Antes de comenzar ser´a necesario que se familiaricen con los siguientes temas:

Scripts - Introducci´on a Scilab, Cap. 4, pag. 22,23.necesario que se familiaricen con los siguientes temas: ´ Ordenes y control de flujo - Introducci´on

´

Ordenes y control de flujo - Introducci´on Scilab, Cap. 4, pags. 27-30.Scripts - Introducci´on a Scilab, Cap. 4, pag. 22,23. ´ Modulos ATOMS en Scilab Lo primero

Modulos ATOMS en Scilab

Lo primero que tienen que hacer es instalar la herramienta de comunicaci´on serial en Scilab, para hacer esto necesitamos estar conectados a internet. Sigan los siguientes pasos:

1. Abrir Scilab.

2. Dar clic en Applications/Module manager - ATOMS.

3. Se abrir´a una ventana con nombre “Main categories - ATOMS”, en la lista del lado izquierdo busca- mos la carpeta con nombre Signal Processing. Seleccionamos la herramienta Serial Communication Toolbox y damos clic en Install.

4. Una vez instalado cerramos Scilab por completo y lo volvemos abrir. Si la herramienta ha sido instalada correctamente en la consola de Scilab aparecera un mensaje que dice “Start Serialport”.

Programaci´on para la comunicaci´on serial

El siguiente c´odigo puede ejecutarse desde la consola de Scilab. Sin embargo, resulta m´as pr´actico utilizarlo mediante scripts de programaci´on dentro del mismo Scilab. Sino tienes idea de lo que se est´a hablando, es porque no le´ıste acerca de los temas que se mencionan al inicio del documento, te sugiero que los leas.

Script con el c´odigo para la comunicaci´on con el puerto serial.

clear;

 

//

Borra

todas

las

variables.

 

clc;

 

//

Limpia

la

consola

de

Scilab.

clf;

//

Cierra

cualquier

grafica

de

Scilab.

 

n=200;

 

//

Numero

de

datos

que

se

quieren

almacenar.

 

h=openserial(’COM4’,"9600,n,8,2");

//

Abre

el

puerto

de

comunicacion

serial.

 

iniciar

=

input("Pulse

1

para

iniciar:

")

//

Captura

la

informacion

ingresada

en

el

teclado.

i

=

iniciar;

 

while

i

<

n

 

data(i)

=

strtod(readserial(h));

//

Recepcion

del

dato.

 

if

data(i)

==

%nan

 

//

Verifica

que

el

dato

sea

un

numero.

 
 

then

data(i

=

data(i-1));

//

Si

data(i)

no

es

numero

asigna

el

valor

anterior.

 

end plot(i,data(i),’b-o’); drawnow();

 

//

Grafica

el

ultimo

dato

recibido.

 

xpause(100000);

 

//

Retardo

en

microsegundos.

 

i=i+1;

 

end

 

closeserial(h)

 

//

Cierra

el

puerto

de

comunicacion

serial.