Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed FRDM-KL46Z_ECG
Diff: main.cpp
- Revision:
- 4:fde3fe13c27b
- Parent:
- 3:3213a5e5113c
- Child:
- 5:43a7c05b02cd
--- a/main.cpp Sat Dec 05 23:19:10 2020 +0000 +++ b/main.cpp Sun Dec 06 02:48:59 2020 +0000 @@ -3,6 +3,9 @@ #include "Serial.h" Serial pc_serial(USBTX, USBRX); int c=0; +int frec=0; +bool flag1=0; +bool flag2=0; float m=0; int G=0; int qrs=0; @@ -13,6 +16,7 @@ float y[2799]={0}; float E=0.0; float Pico=0.0; +float Pico50=0.0; float Vmax=0.0; float Vmin=0.0; float Vmaxaux=0.0; @@ -30,46 +34,8 @@ Monitorea(); } - -void Monitorea(){ - c=1; - do{ - //y[c]=abs(NormalUno[c+1]-NormalUno[c-1]); - //y[c]=abs(VoltajeBradicardia[c+1]-VoltajeBradicardia[c-1]); - //y[c]=abs(VoltajeTaquicardia[c+1]-VoltajeTaquicardia[c-1]); - y[c]=abs(Bradicardia6s[c+1]-Bradicardia6s[c-1]); - //pc_serial.printf("y:%f muestra:%d\r\n",y[c],c); - if(y[c]>0.2*m){ - cont++; - if(cont>=4){ - qrs++; - } - } - else{ - cont=0; - } - c=c+1; - }while(c<2799); - pc_serial.printf("QRS:%d\r\n",qrs); -} - void Controla(){ do{ - /*NormalUno[c]=(NormalUno[c]-1.65)*m; - Vmaxaux=NormalUno[c]-Vmax; - Vminaux=NormalUno[c]-Vmin; - if(Vmaxaux>0){Vmax=NormalUno[c];} - if(Vminaux<0){Vmin=NormalUno[c];}*/ - /*VoltajeBradicardia[c]=(VoltajeBradicardia[c]-1.65)*m; - Vmaxaux=VoltajeBradicardia[c]-Vmax; - Vminaux=VoltajeBradicardia[c]-Vmin; - if(Vmaxaux>0){Vmax=VoltajeBradicardia[c];} - if(Vminaux<0){Vmin=VoltajeBradicardia[c];}*/ - //VoltajeTaquicardia[c]=(VoltajeTaquicardia[c]-1.65)*m; - //Vmaxaux=VoltajeTaquicardia[c]-Vmax; - //Vminaux=VoltajeTaquicardia[c]-Vmin; - //if(Vmaxaux>0){Vmax=VoltajeTaquicardia[c];} - //if(Vminaux<0){Vmin=VoltajeTaquicardia[c];} Bradicardia6s[c]=(Bradicardia6s[c]-1.65)*m; Vmaxaux=Bradicardia6s[c]-Vmax; Vminaux=Bradicardia6s[c]-Vmin; @@ -91,19 +57,36 @@ if(1<=E&&E<=1.3){G=4; escala=20;} if(0.7<=E&&E<=0.9){G=2; escala=10;} if(0<=E&&E<=0.1){G=1;escala=5;} - pc_serial.printf("Pico:%f maxRP:%f E:%f G:%d escala:%d mm/mV\r\n",Pico,maxRP,E,G,escala); - do{ + pc_serial.printf("G:%d escala:%d mm/mV\r\n",G,escala); + /*do{ Bradicardia6s[c]=(Bradicardia6s[c]*G)+1.65; c=c+1; - }while(c<2799); + }while(c<2799);*/ +} + +void Monitorea(){ + c=0; + Pico50=Pico*0.5; + do{ + y[c]=abs(Bradicardia6s[c]); + if(y[c]>Pico50){flag1=1;} + if(flag1==1&&y[c]<Pico50){flag2=1;} + if(flag1==1&&flag2==1){qrs=qrs+1;flag1=0;flag2=0;} + c=c+1; + }while(c<2799); + frec=qrs*10; + pc_serial.printf("QRS:%d f: %d\r\n",qrs,frec); + if(frec>=60&&frec<=100){pc_serial.printf("LED Verde Normal\r\n");} + if(frec>50&&frec<60){pc_serial.printf("LED Amarillo Posible Bradicardia!\r\n");} + if(frec>100&&frec<110){pc_serial.printf("LED Amarillo Posible Taquicardia!\r\n");} + if(frec<=50){pc_serial.printf("LED Rojo Bradicardia!\r\n");} + if(frec>=110){pc_serial.printf("LED Rojo Taquicardia!\r\n");} + } void Pantalla(){ /*do{ - NormalUno[c]=(NormalUno[c]*G)+1.65; - //pc_serial.printf("Vsal:%f muestra:%d\r\n",NormalUno[c],c); - pc_serial.printf("%f \r\n",NormalUno[c]); - c=c+1; + pc_serial.printf("QRS:%d f: %d\r\n",qrs,frec); }while(c<2799);*/ }