Final edition of the stand-alone version of HandHeld device (Breath project) + saving data on SD card. Commented.
Dependencies: mbed SDFileSystem
flow.h@2:46a7b2efd451, 2019-07-25 (annotated)
- 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?
User | Revision | Line number | New 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 |