Final edition of the stand-alone version of HandHeld device (Breath project) + saving data on SD card. Commented.

Dependencies:   mbed SDFileSystem

Committer:
mehrnaz
Date:
Thu Jul 25 13:46:51 2019 +0000
Revision:
2:46a7b2efd451
Final edition of the stand-alone version of HandHeld device (Breath project) + saving data on SD card. Commented.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mehrnaz 2:46a7b2efd451 1 #include "mbed.h"
mehrnaz 2:46a7b2efd451 2
mehrnaz 2:46a7b2efd451 3 AnalogIn flowIn(A3);
mehrnaz 2:46a7b2efd451 4 Serial co2(D10,D4); //USED IN MAIN
mehrnaz 2:46a7b2efd451 5 //Serial ttl(A1,A0);
mehrnaz 2:46a7b2efd451 6
mehrnaz 2:46a7b2efd451 7 float finalflow;
mehrnaz 2:46a7b2efd451 8 float flowVal1;
mehrnaz 2:46a7b2efd451 9 float flowVal2;
mehrnaz 2:46a7b2efd451 10 float P1;
mehrnaz 2:46a7b2efd451 11 int flag=0;
mehrnaz 2:46a7b2efd451 12 int o=0;
mehrnaz 2:46a7b2efd451 13 float bpArray[10];
mehrnaz 2:46a7b2efd451 14 float fp;float sp;
mehrnaz 2:46a7b2efd451 15 float FPressure;
mehrnaz 2:46a7b2efd451 16 int value;
mehrnaz 2:46a7b2efd451 17
mehrnaz 2:46a7b2efd451 18 float flow()
mehrnaz 2:46a7b2efd451 19 {
mehrnaz 2:46a7b2efd451 20 while(1)
mehrnaz 2:46a7b2efd451 21 {
mehrnaz 2:46a7b2efd451 22 wait(0.01);
mehrnaz 2:46a7b2efd451 23 flowVal1=3.3*flowIn; //Logic level 3.3
mehrnaz 2:46a7b2efd451 24 flowVal2 = 1.5*flowVal1; //5v
mehrnaz 2:46a7b2efd451 25 P1 =(125*flowVal2)-62.5;
mehrnaz 2:46a7b2efd451 26 if(flag==0)
mehrnaz 2:46a7b2efd451 27 {
mehrnaz 2:46a7b2efd451 28 finalflow=0;
mehrnaz 2:46a7b2efd451 29 bpArray[o]=P1;
mehrnaz 2:46a7b2efd451 30 sp+=bpArray[o];
mehrnaz 2:46a7b2efd451 31 o=o+1;
mehrnaz 2:46a7b2efd451 32 if (o=9)
mehrnaz 2:46a7b2efd451 33 {
mehrnaz 2:46a7b2efd451 34 fp=sp/10;
mehrnaz 2:46a7b2efd451 35 flag=1;
mehrnaz 2:46a7b2efd451 36 }
mehrnaz 2:46a7b2efd451 37 }
mehrnaz 2:46a7b2efd451 38 if (flag==1)
mehrnaz 2:46a7b2efd451 39 {
mehrnaz 2:46a7b2efd451 40 FPressure=P1-fp;
mehrnaz 2:46a7b2efd451 41 finalflow=(0.1989*sqrt(FPressure))+0.0284; //flow in litter per min
mehrnaz 2:46a7b2efd451 42 //ttl.printf("Flow: %f\n",finalflow);
mehrnaz 2:46a7b2efd451 43 return finalflow;
mehrnaz 2:46a7b2efd451 44 }
mehrnaz 2:46a7b2efd451 45 }
mehrnaz 2:46a7b2efd451 46 }
mehrnaz 2:46a7b2efd451 47
mehrnaz 2:46a7b2efd451 48
mehrnaz 2:46a7b2efd451 49 int carbon()
mehrnaz 2:46a7b2efd451 50 {
mehrnaz 2:46a7b2efd451 51 bool allow = false;
mehrnaz 2:46a7b2efd451 52 char c;
mehrnaz 2:46a7b2efd451 53 char co2_measure[5];
mehrnaz 2:46a7b2efd451 54 int count=0;
mehrnaz 2:46a7b2efd451 55
mehrnaz 2:46a7b2efd451 56 while(1) {
mehrnaz 2:46a7b2efd451 57 c = co2.getc();
mehrnaz 2:46a7b2efd451 58 if(c=='Z') {
mehrnaz 2:46a7b2efd451 59 allow = true;
mehrnaz 2:46a7b2efd451 60 }
mehrnaz 2:46a7b2efd451 61
mehrnaz 2:46a7b2efd451 62 if(allow) {
mehrnaz 2:46a7b2efd451 63 if(c>=48 && c<=57) {
mehrnaz 2:46a7b2efd451 64 co2_measure[count]=c;
mehrnaz 2:46a7b2efd451 65 count++;
mehrnaz 2:46a7b2efd451 66 }
mehrnaz 2:46a7b2efd451 67
mehrnaz 2:46a7b2efd451 68 if(count>=6) { //NOT SURE IF 5 OR 6
mehrnaz 2:46a7b2efd451 69 value = ((co2_measure[0]-'0')*100000+co2_measure[1]-'0')*10000+(co2_measure[2]-'0')*1000+(co2_measure[3]-'0')*100;
mehrnaz 2:46a7b2efd451 70 //ttl.printf("CO2: %d\n",value);
mehrnaz 2:46a7b2efd451 71 count=0;
mehrnaz 2:46a7b2efd451 72 allow=false;
mehrnaz 2:46a7b2efd451 73 return value;
mehrnaz 2:46a7b2efd451 74 }
mehrnaz 2:46a7b2efd451 75 }
mehrnaz 2:46a7b2efd451 76 }
mehrnaz 2:46a7b2efd451 77 }
mehrnaz 2:46a7b2efd451 78