Comunicación serial Arduino - Scilab Universidad de Guadalajara - CUCEI I7292 - Sistemas de Medición Ing. Roberto C. Barragán En este documento se darán las indicaciones para poder realizar una comunicación serial (puerto USB) entre la computadora y algún otro dispositivo externo, que en este caso será un Arduino. Antes de comenzar será necesario que se familiaricen con los siguientes temas: Scripts - Introducción a Scilab, Cap. 4, pag. 22,23. Órdenes y control de flujo - Introducción Scilab, Cap. 4, pags. 27-30. Modulos ATOMS en Scilab Lo primero que tienen que hacer es instalar la herramienta de comunicación 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á una ventana con nombre “Main categories - ATOMS”, en la lista del lado izquierdo buscamos 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ón para la comunicación serial El siguiente código puede ejecutarse desde la consola de Scilab. Sin embargo, resulta más práctico utilizarlo mediante scripts de programación dentro del mismo Scilab. Sino tienes idea de lo que se está 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ódigo para la comunicación con el puerto serial. clear; clc; clf; // Borra todas las variables. // Limpia la consola de Scilab. // Cierra cualquier grafica de Scilab. n=200; // Numero de datos que se quieren almacenar. h=openserial(’COM4’,"9600,n,8,2"); iniciar = input("Pulse 1 para iniciar: ") i = iniciar; while i < n data(i) = strtod(readserial(h)); if data(i) == %nan then data(i = data(i-1)); end plot(i,data(i),’b-o’); drawnow(); xpause(100000); i=i+1; end closeserial(h) // Abre el puerto de comunicacion serial. // Captura la informacion ingresada en el teclado. // Recepcion del dato. // Verifica que el dato sea un numero. // Si data(i) no es numero asigna el valor anterior. // Grafica el ultimo dato recibido. // Retardo en microsegundos. // Cierra el puerto de comunicacion serial.
© Copyright 2024