CamachoLuna / Mbed 2 deprecated FRDM-KL46Z_ECG1_2

Dependencies:   mbed FRDM-KL46Z_ECG

Committer:
JulioDLuna
Date:
Sun Dec 06 02:48:59 2020 +0000
Revision:
4:fde3fe13c27b
Parent:
3:3213a5e5113c
Child:
5:43a7c05b02cd
Exito!

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;
JulioDLuna 4:fde3fe13c27b 6 int frec=0;
JulioDLuna 4:fde3fe13c27b 7 bool flag1=0;
JulioDLuna 4:fde3fe13c27b 8 bool flag2=0;
rodrigocamacho02 2:eec312c759e1 9 float m=0;
JulioDLuna 0:b01880678216 10 int G=0;
rodrigocamacho02 2:eec312c759e1 11 int qrs=0;
rodrigocamacho02 2:eec312c759e1 12 int cont=0;
rodrigocamacho02 2:eec312c759e1 13 int escala=0;
JulioDLuna 0:b01880678216 14 float valor[]={};
JulioDLuna 0:b01880678216 15 float valoraux[]={};
JulioDLuna 3:3213a5e5113c 16 float y[2799]={0};
JulioDLuna 0:b01880678216 17 float E=0.0;
JulioDLuna 0:b01880678216 18 float Pico=0.0;
JulioDLuna 4:fde3fe13c27b 19 float Pico50=0.0;
JulioDLuna 0:b01880678216 20 float Vmax=0.0;
JulioDLuna 0:b01880678216 21 float Vmin=0.0;
JulioDLuna 0:b01880678216 22 float Vmaxaux=0.0;
JulioDLuna 0:b01880678216 23 float Vminaux=0.0;
JulioDLuna 0:b01880678216 24 float maxRP=0.0;
JulioDLuna 0:b01880678216 25 void Monitorea();
JulioDLuna 0:b01880678216 26 void Controla();
rodrigocamacho02 2:eec312c759e1 27 void Pantalla();
JulioDLuna 0:b01880678216 28
JulioDLuna 0:b01880678216 29
JulioDLuna 0:b01880678216 30 int main(){
JulioDLuna 0:b01880678216 31 pc_serial.baud(9600);
JulioDLuna 3:3213a5e5113c 32 m=1;
JulioDLuna 0:b01880678216 33 Controla();
rodrigocamacho02 2:eec312c759e1 34 Monitorea();
JulioDLuna 0:b01880678216 35 }
JulioDLuna 0:b01880678216 36
JulioDLuna 0:b01880678216 37 void Controla(){
JulioDLuna 0:b01880678216 38 do{
JulioDLuna 3:3213a5e5113c 39 Bradicardia6s[c]=(Bradicardia6s[c]-1.65)*m;
JulioDLuna 3:3213a5e5113c 40 Vmaxaux=Bradicardia6s[c]-Vmax;
JulioDLuna 3:3213a5e5113c 41 Vminaux=Bradicardia6s[c]-Vmin;
JulioDLuna 3:3213a5e5113c 42 if(Vmaxaux>0){Vmax=Bradicardia6s[c];}
JulioDLuna 3:3213a5e5113c 43 if(Vminaux<0){Vmin=Bradicardia6s[c];}
JulioDLuna 0:b01880678216 44 //pc_serial.printf("Vmax:%f Vmin:%f muestra:%d\r\n",Vmax,Vmin,c);
JulioDLuna 0:b01880678216 45 c=c+1;
JulioDLuna 3:3213a5e5113c 46 }while(c<2799);
JulioDLuna 0:b01880678216 47 //pc_serial.printf("Vmax:%f Vmin:%f\r\n",Vmax,Vmin);
rodrigocamacho02 2:eec312c759e1 48 Pico=abs(Vmax)-abs(Vmin);
JulioDLuna 0:b01880678216 49 c=0;
JulioDLuna 0:b01880678216 50 if(Pico>0){Pico=Vmax;}
JulioDLuna 0:b01880678216 51 if(Pico<0){Pico=abs(Vmin);}
rodrigocamacho02 2:eec312c759e1 52 if(0<=Pico&&Pico<=0.424){maxRP=0.424;}
rodrigocamacho02 2:eec312c759e1 53 if(0.425<=Pico&&Pico<=0.824){maxRP=0.824;}
rodrigocamacho02 2:eec312c759e1 54 if(0.825<=Pico&&Pico<=1.65){maxRP=1.65;}
JulioDLuna 0:b01880678216 55
JulioDLuna 0:b01880678216 56 E=1.65-maxRP;
rodrigocamacho02 2:eec312c759e1 57 if(1<=E&&E<=1.3){G=4; escala=20;}
rodrigocamacho02 2:eec312c759e1 58 if(0.7<=E&&E<=0.9){G=2; escala=10;}
rodrigocamacho02 2:eec312c759e1 59 if(0<=E&&E<=0.1){G=1;escala=5;}
JulioDLuna 4:fde3fe13c27b 60 pc_serial.printf("G:%d escala:%d mm/mV\r\n",G,escala);
JulioDLuna 4:fde3fe13c27b 61 /*do{
JulioDLuna 3:3213a5e5113c 62 Bradicardia6s[c]=(Bradicardia6s[c]*G)+1.65;
JulioDLuna 3:3213a5e5113c 63 c=c+1;
JulioDLuna 4:fde3fe13c27b 64 }while(c<2799);*/
JulioDLuna 4:fde3fe13c27b 65 }
JulioDLuna 4:fde3fe13c27b 66
JulioDLuna 4:fde3fe13c27b 67 void Monitorea(){
JulioDLuna 4:fde3fe13c27b 68 c=0;
JulioDLuna 4:fde3fe13c27b 69 Pico50=Pico*0.5;
JulioDLuna 4:fde3fe13c27b 70 do{
JulioDLuna 4:fde3fe13c27b 71 y[c]=abs(Bradicardia6s[c]);
JulioDLuna 4:fde3fe13c27b 72 if(y[c]>Pico50){flag1=1;}
JulioDLuna 4:fde3fe13c27b 73 if(flag1==1&&y[c]<Pico50){flag2=1;}
JulioDLuna 4:fde3fe13c27b 74 if(flag1==1&&flag2==1){qrs=qrs+1;flag1=0;flag2=0;}
JulioDLuna 4:fde3fe13c27b 75 c=c+1;
JulioDLuna 4:fde3fe13c27b 76 }while(c<2799);
JulioDLuna 4:fde3fe13c27b 77 frec=qrs*10;
JulioDLuna 4:fde3fe13c27b 78 pc_serial.printf("QRS:%d f: %d\r\n",qrs,frec);
JulioDLuna 4:fde3fe13c27b 79 if(frec>=60&&frec<=100){pc_serial.printf("LED Verde Normal\r\n");}
JulioDLuna 4:fde3fe13c27b 80 if(frec>50&&frec<60){pc_serial.printf("LED Amarillo Posible Bradicardia!\r\n");}
JulioDLuna 4:fde3fe13c27b 81 if(frec>100&&frec<110){pc_serial.printf("LED Amarillo Posible Taquicardia!\r\n");}
JulioDLuna 4:fde3fe13c27b 82 if(frec<=50){pc_serial.printf("LED Rojo Bradicardia!\r\n");}
JulioDLuna 4:fde3fe13c27b 83 if(frec>=110){pc_serial.printf("LED Rojo Taquicardia!\r\n");}
JulioDLuna 4:fde3fe13c27b 84
rodrigocamacho02 2:eec312c759e1 85 }
rodrigocamacho02 2:eec312c759e1 86
rodrigocamacho02 2:eec312c759e1 87 void Pantalla(){
JulioDLuna 3:3213a5e5113c 88 /*do{
JulioDLuna 4:fde3fe13c27b 89 pc_serial.printf("QRS:%d f: %d\r\n",qrs,frec);
JulioDLuna 3:3213a5e5113c 90 }while(c<2799);*/
rodrigocamacho02 2:eec312c759e1 91 }
JulioDLuna 0:b01880678216 92