Está en la página 1de 1

function voltaje=ADC_Serial2(muestras) %la funcion recibe el # de muestras que d

ebe tomar
close all; %Cierra todo lo que matlab tenga abierto
clc; %limpiar la pantalla
voltaje=0;%Declara variable en la cual se van a guardar los valores
voltaje1=0;%Declara variable en la que se van a guardar los datos de la primera
seal
voltaje2=0;%Declara variable en la que se van a guardar los datos de la segunda
seal
%Borra datos que se encuentren previos y vuelve a declarar el puerto y la
%velocidad de transmisin
delete(instrfind({'port'},{'COM4'})); %borrar cualquier puerto serial abierto
puerto=serial('COM4'); %declaro variable llamada puerto y se crea el com4
puerto.BaudRate=9600; %Establecer velocidad de transmisin
fopen(puerto);%abre el puerto a utilizar
contador=1;
%configura la ventana donde se va a mostrar la grafica
figure('Name','Grafica de dos seales')%Nombre de la ventana
title('GRAFICA DE DOS SEALES'); %Titulo de la grafica
xlabel('Numero de Muestras'); %Leyenda o titulo del eje x
ylabel('Voltaje (V)'); %Leyenda o titulo en el eje y
grid on; %Apagar cuadricula
hold on;
%Ciclo para capturando valores e ir realizando la grafica paso a paso
while contador<=muestras
valorADC=fscanf(puerto,'%d%d'); %Toma el valor recibido por el puerto y lo g
uarda en la variable
voltaje(contador)=valorADC(1)*5/1023; %Hace la conversin a voltaje
contador=contador+1;
end
a=1; %variable contadora para las casillas del vector de la seal 1
%Ciclo para ir separando los datos de la primera seal
for i=1:2:muestras %Ciclo para contar desde la casilla 1 hasta el numero de mues
tras avanzando de dos en dos
voltaje1(a)=voltaje(i); %guarda el valor de la casilla i del vector que contiene
las dos seales en el vector que solo va a contener la primera seal
a=a+1;
end
a=1; %variable contadora para las casillas del vector de la seal 2
%Ciclo para ir separando los datos de la segunda seal
for i=2:2:muestras %Ciclo para contar desde la casilla 2 hasta el numero de mues
tras avanzando de dos en dos
voltaje2(a)=voltaje(i); %guarda el valor de la casilla i del vector que contiene
las dos seales en el vector que solo va a contener la segunda seal
a=a+1;
end
vectorM=(1:1:muestras/2)% vector que va a representar el numero de muestra en el
eje X de la grafica
plot(vectorM,voltaje1,vectorM,voltaje2) %Grafica de las dos seales
%cierra y borra el puerto utilizado, borra todas las variables utilizadas
fclose(puerto);
delete(puerto);
end

También podría gustarte