Manejo de puertos por matlab

#1
hice un ecg "electrocardiograma" y quiero visualizar la señal en matlab y ps lo unico que se es que hay q manejar puertos y pues este programa no lo conozco muy bien en fin es un trabajo para la universidad, no tengo bases en este programa y me da un poco de miedo dañar los puertos de mi equipo, alguien me podria colaborar con esto.....gracias
 
#2
Con que puerto lo quieres hacer?
Para el que sea, MatLab cuenta con un montón de documentación, usa el botón 'Help' que está en Matlab o dirigete a la pagina oficial, espero que sepas ingles.
Si vas a usar el puerto Serie, te pongo unas ordenes útiles para por lo menos empieces a hacer pruebas.

Código:
sxxx = serial('COM1', 'BaudRate', 9600);     % Crea una variable 'sxxx' asociada con el puerto serie COM1
                                             % (en GNU/Linux es del tipo '/dev/tty0') con una velocidad de 9600 Bauds
fopen(sxxx);         % Abre el puerto
fwrite(sxxx, 5);     % Escribe en el puerto el valor de '5' decimal
fscanf(sxxx, 1);     % Lee un dato del buffer del puerto
fclose(sxxx);        % Cierra el puerto
Para el puerto Serie es necesario usar un hardware, se puede hacer fácilmente con un PIC u otro microcontrolador o chip, y si vas a usar el Paralelo lo ideal es que usaras un buffer. Éxito!
Buena Vibra!
 
#3
gracias si lo del circuito para proteger el puerto tengo algo de idea como hacerlo, voy a intenar con este codigo q me paso creo q esto es de gran ayuda con esto puedo seguir avanzando en esto. Gracias
 
#4
Lo de un circuito para proteger el puerto es para el paralelo, el de impresora. Y los comandos que te pase son para el Serie, para este es un circuito con un microcontrolador y la mayoría de veces con además un MAX232.
Puedes buscar en este foro un código que publique para un PIC para el Serie. O si quieres usar el paralelo también hay algo de información en estos foros.
Buena Vibra!
 
#6
despues de dias de trabajo logre crear un codigo q me lee la señal de entrada, siendo principiante en matlab descubri q es mas facil usar el puertos de la tarjeta de sonido, ahora me nace otra inquietud ps no se como protejer este puerto
 
#7
OoooooooooooOOOOOOooooooooooo puedes usar la tarjeta de sonido! está chido eso! porfa pasa la información de eso! que se oye muy interesante, y supongo que ya no es necesario un CAD, no?

Para proteger la tarjeta de sonido? pss no sé, supongo que construyendo algún amplificador o con otro dispositivo de audio, investiga cual es la tensión máxima con que trabaja el in de la tarjeta.

Buena Vibra!
 
#8
Para la adquisicion de datos por medio de la tarjeta de sonido primero se crea un objeto del canal analogico de entrada "ai" para la tarjeta de sonido (ai=analogicinput(`windsound´)).
Luego agregamos canales addchannel(ai,1);
luego configuramos la tasa de muestreo deseada y timepo de captura de muestras
adquirir datos e iniciar ala adquisicion star(ai) data=getdata(ai); plot(data)
 
#9
Ahora veo otros problemas ono se si lo sean ps no se q tipo de proteccion deba usar para esta tarjeta; no estoy muy seguro como el ecg maneja frecuencias muy bajas ps npo se si sea convenientew usar un preamplificador para esta tarjeta
 
#11
para lograr la freecuencia a 60 hz q es la del corazon se utilizo un filtro doble T o tambien se puede usar un filtro noch y no fue necesario utilizar proteccion al puerto ps a la salida llegaba un voltaje muy pequeño menor a los 200mV
 
#12
hola gente del foro, les escribo porque tengo un problema con el puerto serie de matlab que me esta volviendo loco.
el tema es asi: tengo que hacer andar una placa RIAC1600DA que funciona con un protocolo de cadenas de carateres terminados con un "retorno de carro" como instruccion, y que para cada instruccion recibida(ej, #1 GV), la placa da una respuesta (en este caso GV=get version).
el problema es que le envio las instrucciones pero no me manda la respuesta asi que se ve que algo estoy haciendo mal

el programa que hice es el siguiente:

-----------------------------------------------------------------
clc; close all; clear all;
s1=serial ('COM1','baudrate',9600,'databits',7,'parity','even','stopbits',1,'terminator','CR'); %config de comunicacion asincrona de la placa
fopen(s1)
fprintf(s1,'#1 GV') %supuestamente al ultimo envia el 'CR' del terminator
[respuesta,count,msg] =fscanf(s1) %pa leer la respuesta de la placa, que nunca llega

fclose(s1)
delete(s1)
clear s1
----------------------------------------------
desde ya le voy a agradecer a quien me pueda ayudar, decirme que estoy haciendo mal, que me falta o si hay que configurar alguna otra cosa porque la verdad que ya probe todo lo que estaba a mi alcance.
y la placa trae un programa para enviarle instruicciones ala placa, y al usarlo SI funciona bien pero ese programa esta en visual
ah otra cosa mas. en c++ ya la pude hacer andar y en matlab no!!!!!
 

Temas similares

Arriba