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
main.cpp@4:fde3fe13c27b, 2020-12-06 (annotated)
- 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?
User | Revision | Line number | New 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 |