CamachoLuna / Mbed 2 deprecated FRDM-KL46Z_ECG1_2

Dependencies:   mbed FRDM-KL46Z_ECG

Committer:
JulioDLuna
Date:
Sat Dec 05 23:19:10 2020 +0000
Revision:
3:3213a5e5113c
Parent:
2:eec312c759e1
Child:
4:fde3fe13c27b
CodigoCamacho

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JulioDLuna 0:b01880678216 1 #include "mbed.h"
JulioDLuna 0:b01880678216 2 #include "Senales.h"
JulioDLuna 0:b01880678216 3 #include "Serial.h"
JulioDLuna 0:b01880678216 4 Serial pc_serial(USBTX, USBRX);
JulioDLuna 0:b01880678216 5 int c=0;
rodrigocamacho02 2:eec312c759e1 6 float m=0;
JulioDLuna 0:b01880678216 7 int G=0;
rodrigocamacho02 2:eec312c759e1 8 int qrs=0;
rodrigocamacho02 2:eec312c759e1 9 int cont=0;
rodrigocamacho02 2:eec312c759e1 10 int escala=0;
JulioDLuna 0:b01880678216 11 float valor[]={};
JulioDLuna 0:b01880678216 12 float valoraux[]={};
JulioDLuna 3:3213a5e5113c 13 float y[2799]={0};
JulioDLuna 0:b01880678216 14 float E=0.0;
JulioDLuna 0:b01880678216 15 float Pico=0.0;
JulioDLuna 0:b01880678216 16 float Vmax=0.0;
JulioDLuna 0:b01880678216 17 float Vmin=0.0;
JulioDLuna 0:b01880678216 18 float Vmaxaux=0.0;
JulioDLuna 0:b01880678216 19 float Vminaux=0.0;
JulioDLuna 0:b01880678216 20 float maxRP=0.0;
JulioDLuna 0:b01880678216 21 void Monitorea();
JulioDLuna 0:b01880678216 22 void Controla();
rodrigocamacho02 2:eec312c759e1 23 void Pantalla();
JulioDLuna 0:b01880678216 24
JulioDLuna 0:b01880678216 25
JulioDLuna 0:b01880678216 26 int main(){
JulioDLuna 0:b01880678216 27 pc_serial.baud(9600);
JulioDLuna 3:3213a5e5113c 28 m=1;
JulioDLuna 0:b01880678216 29 Controla();
rodrigocamacho02 2:eec312c759e1 30 Monitorea();
JulioDLuna 0:b01880678216 31 }
JulioDLuna 0:b01880678216 32
JulioDLuna 0:b01880678216 33
JulioDLuna 0:b01880678216 34 void Monitorea(){
rodrigocamacho02 2:eec312c759e1 35 c=1;
rodrigocamacho02 2:eec312c759e1 36 do{
rodrigocamacho02 2:eec312c759e1 37 //y[c]=abs(NormalUno[c+1]-NormalUno[c-1]);
rodrigocamacho02 2:eec312c759e1 38 //y[c]=abs(VoltajeBradicardia[c+1]-VoltajeBradicardia[c-1]);
JulioDLuna 3:3213a5e5113c 39 //y[c]=abs(VoltajeTaquicardia[c+1]-VoltajeTaquicardia[c-1]);
JulioDLuna 3:3213a5e5113c 40 y[c]=abs(Bradicardia6s[c+1]-Bradicardia6s[c-1]);
JulioDLuna 3:3213a5e5113c 41 //pc_serial.printf("y:%f muestra:%d\r\n",y[c],c);
JulioDLuna 3:3213a5e5113c 42 if(y[c]>0.2*m){
rodrigocamacho02 2:eec312c759e1 43 cont++;
rodrigocamacho02 2:eec312c759e1 44 if(cont>=4){
rodrigocamacho02 2:eec312c759e1 45 qrs++;
rodrigocamacho02 2:eec312c759e1 46 }
rodrigocamacho02 2:eec312c759e1 47 }
rodrigocamacho02 2:eec312c759e1 48 else{
rodrigocamacho02 2:eec312c759e1 49 cont=0;
rodrigocamacho02 2:eec312c759e1 50 }
rodrigocamacho02 2:eec312c759e1 51 c=c+1;
JulioDLuna 3:3213a5e5113c 52 }while(c<2799);
rodrigocamacho02 2:eec312c759e1 53 pc_serial.printf("QRS:%d\r\n",qrs);
JulioDLuna 0:b01880678216 54 }
JulioDLuna 0:b01880678216 55
JulioDLuna 0:b01880678216 56 void Controla(){
JulioDLuna 0:b01880678216 57 do{
rodrigocamacho02 2:eec312c759e1 58 /*NormalUno[c]=(NormalUno[c]-1.65)*m;
JulioDLuna 0:b01880678216 59 Vmaxaux=NormalUno[c]-Vmax;
JulioDLuna 0:b01880678216 60 Vminaux=NormalUno[c]-Vmin;
JulioDLuna 0:b01880678216 61 if(Vmaxaux>0){Vmax=NormalUno[c];}
rodrigocamacho02 2:eec312c759e1 62 if(Vminaux<0){Vmin=NormalUno[c];}*/
rodrigocamacho02 2:eec312c759e1 63 /*VoltajeBradicardia[c]=(VoltajeBradicardia[c]-1.65)*m;
rodrigocamacho02 2:eec312c759e1 64 Vmaxaux=VoltajeBradicardia[c]-Vmax;
rodrigocamacho02 2:eec312c759e1 65 Vminaux=VoltajeBradicardia[c]-Vmin;
rodrigocamacho02 2:eec312c759e1 66 if(Vmaxaux>0){Vmax=VoltajeBradicardia[c];}
rodrigocamacho02 2:eec312c759e1 67 if(Vminaux<0){Vmin=VoltajeBradicardia[c];}*/
JulioDLuna 3:3213a5e5113c 68 //VoltajeTaquicardia[c]=(VoltajeTaquicardia[c]-1.65)*m;
JulioDLuna 3:3213a5e5113c 69 //Vmaxaux=VoltajeTaquicardia[c]-Vmax;
JulioDLuna 3:3213a5e5113c 70 //Vminaux=VoltajeTaquicardia[c]-Vmin;
JulioDLuna 3:3213a5e5113c 71 //if(Vmaxaux>0){Vmax=VoltajeTaquicardia[c];}
JulioDLuna 3:3213a5e5113c 72 //if(Vminaux<0){Vmin=VoltajeTaquicardia[c];}
JulioDLuna 3:3213a5e5113c 73 Bradicardia6s[c]=(Bradicardia6s[c]-1.65)*m;
JulioDLuna 3:3213a5e5113c 74 Vmaxaux=Bradicardia6s[c]-Vmax;
JulioDLuna 3:3213a5e5113c 75 Vminaux=Bradicardia6s[c]-Vmin;
JulioDLuna 3:3213a5e5113c 76 if(Vmaxaux>0){Vmax=Bradicardia6s[c];}
JulioDLuna 3:3213a5e5113c 77 if(Vminaux<0){Vmin=Bradicardia6s[c];}
JulioDLuna 0:b01880678216 78 //pc_serial.printf("Vmax:%f Vmin:%f muestra:%d\r\n",Vmax,Vmin,c);
JulioDLuna 0:b01880678216 79 c=c+1;
JulioDLuna 3:3213a5e5113c 80 }while(c<2799);
JulioDLuna 0:b01880678216 81 //pc_serial.printf("Vmax:%f Vmin:%f\r\n",Vmax,Vmin);
rodrigocamacho02 2:eec312c759e1 82 Pico=abs(Vmax)-abs(Vmin);
JulioDLuna 0:b01880678216 83 c=0;
JulioDLuna 0:b01880678216 84 if(Pico>0){Pico=Vmax;}
JulioDLuna 0:b01880678216 85 if(Pico<0){Pico=abs(Vmin);}
rodrigocamacho02 2:eec312c759e1 86 if(0<=Pico&&Pico<=0.424){maxRP=0.424;}
rodrigocamacho02 2:eec312c759e1 87 if(0.425<=Pico&&Pico<=0.824){maxRP=0.824;}
rodrigocamacho02 2:eec312c759e1 88 if(0.825<=Pico&&Pico<=1.65){maxRP=1.65;}
JulioDLuna 0:b01880678216 89
JulioDLuna 0:b01880678216 90 E=1.65-maxRP;
rodrigocamacho02 2:eec312c759e1 91 if(1<=E&&E<=1.3){G=4; escala=20;}
rodrigocamacho02 2:eec312c759e1 92 if(0.7<=E&&E<=0.9){G=2; escala=10;}
rodrigocamacho02 2:eec312c759e1 93 if(0<=E&&E<=0.1){G=1;escala=5;}
rodrigocamacho02 2:eec312c759e1 94 pc_serial.printf("Pico:%f maxRP:%f E:%f G:%d escala:%d mm/mV\r\n",Pico,maxRP,E,G,escala);
JulioDLuna 3:3213a5e5113c 95 do{
JulioDLuna 3:3213a5e5113c 96 Bradicardia6s[c]=(Bradicardia6s[c]*G)+1.65;
JulioDLuna 3:3213a5e5113c 97 c=c+1;
JulioDLuna 3:3213a5e5113c 98 }while(c<2799);
rodrigocamacho02 2:eec312c759e1 99 }
rodrigocamacho02 2:eec312c759e1 100
rodrigocamacho02 2:eec312c759e1 101 void Pantalla(){
JulioDLuna 3:3213a5e5113c 102 /*do{
JulioDLuna 0:b01880678216 103 NormalUno[c]=(NormalUno[c]*G)+1.65;
JulioDLuna 0:b01880678216 104 //pc_serial.printf("Vsal:%f muestra:%d\r\n",NormalUno[c],c);
JulioDLuna 0:b01880678216 105 pc_serial.printf("%f \r\n",NormalUno[c]);
JulioDLuna 0:b01880678216 106 c=c+1;
JulioDLuna 3:3213a5e5113c 107 }while(c<2799);*/
rodrigocamacho02 2:eec312c759e1 108 }
JulioDLuna 0:b01880678216 109