HRM

Dependencies:   mbed

Committer:
2675375x
Date:
Sun Jul 31 20:19:02 2022 +0000
Revision:
0:58ea8e70a8d8
HRM with LPC1768,calculating the BPM and communicating with Android by bluetooth

Who changed what in which revision?

UserRevisionLine numberNew contents of line
2675375x 0:58ea8e70a8d8 1 #include "mbed.h"
2675375x 0:58ea8e70a8d8 2
2675375x 0:58ea8e70a8d8 3 AnalogIn sensor(p20);
2675375x 0:58ea8e70a8d8 4 Serial bt(p9, p10);
2675375x 0:58ea8e70a8d8 5 float rate = 0;
2675375x 0:58ea8e70a8d8 6
2675375x 0:58ea8e70a8d8 7 float Get_Array_Max(float* array, int size){
2675375x 0:58ea8e70a8d8 8 float max = array[0];
2675375x 0:58ea8e70a8d8 9 for(int i = 1; i < size; i++){
2675375x 0:58ea8e70a8d8 10 if(array[i] > max){
2675375x 0:58ea8e70a8d8 11 max = array[i];
2675375x 0:58ea8e70a8d8 12 }
2675375x 0:58ea8e70a8d8 13 }
2675375x 0:58ea8e70a8d8 14 return max;
2675375x 0:58ea8e70a8d8 15 }
2675375x 0:58ea8e70a8d8 16
2675375x 0:58ea8e70a8d8 17 float Get_Array_Min(float* array, int size){
2675375x 0:58ea8e70a8d8 18 float min = array[0];
2675375x 0:58ea8e70a8d8 19 for(int i = 1; i < size; i++){
2675375x 0:58ea8e70a8d8 20 if(array[i] < min){
2675375x 0:58ea8e70a8d8 21 min = array[i];
2675375x 0:58ea8e70a8d8 22 }
2675375x 0:58ea8e70a8d8 23 }
2675375x 0:58ea8e70a8d8 24 return min;
2675375x 0:58ea8e70a8d8 25 }
2675375x 0:58ea8e70a8d8 26
2675375x 0:58ea8e70a8d8 27
2675375x 0:58ea8e70a8d8 28 float Get_MaxRate(float* array, int size){
2675375x 0:58ea8e70a8d8 29 float maxrate = 1;
2675375x 0:58ea8e70a8d8 30 for(int i = 1;i <size; i++){
2675375x 0:58ea8e70a8d8 31 float pre_rate = rate;
2675375x 0:58ea8e70a8d8 32 float rate = (array[i] - array[i-1])/0.001;
2675375x 0:58ea8e70a8d8 33 if(rate > pre_rate){
2675375x 0:58ea8e70a8d8 34 maxrate = rate;
2675375x 0:58ea8e70a8d8 35 }
2675375x 0:58ea8e70a8d8 36 }
2675375x 0:58ea8e70a8d8 37 return maxrate;
2675375x 0:58ea8e70a8d8 38 }
2675375x 0:58ea8e70a8d8 39