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.
Diff: flow.h
- Revision:
- 5:44f7dbc5c75d
- Parent:
- 4:54dc2a95c130
--- a/flow.h Fri Jul 26 09:31:58 2019 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-#include "mbed.h"
-
-// First the inputs and pins are defined
-
-AnalogIn flowIn(PA_0);
-Serial co2(PC_10,PC_11);
-AnalogIn sensor1(PC_0);
-AnalogIn sensor2(PC_1);
-AnalogIn sensor3(PC_2);
-AnalogIn sensor4(PC_3);
-AnalogIn sensor5(PA_4);
-AnalogIn sensor6(PA_5);
-AnalogIn sensor7(PA_6);
-AnalogIn sensor8(PA_7);
-AnalogIn temp(PA_1);
-
-///////////////////// FLOW LOOP /////////////////////////
-float finalflow;
-float flowVal1;
-float flowVal2;
-float P1;
-int flag=0;
-int o=0;
-float bpArray[10];
-float fp;float sp;
-float FPressure;
-float flow()
-{
- while(1)
- {
- wait(0.01);
- flowVal1=3.3*flowIn; //Logic level 3.3
- flowVal2 = 1.5*flowVal1; //5v
- P1 =(125*flowVal2)-62.5; //Pressure
- //making the value of pressure positive inside the SQRT function:
- if(flag==0)
- {
- finalflow=0;
- bpArray[o]=P1;
- sp+=bpArray[o];
- o=o+1;
- if (o=9)
- {
- fp=sp/10;
- flag=1;
- }
- }
- if (flag==1)
- {
- FPressure=P1-fp;
- finalflow=(0.24*sqrt(FPressure)); //flow in litter per second
- return finalflow;
- }
- }
-}
-
-///////////////////// CO2 LOOP /////////////////////////
-int value;
-float carbon()
-{
- bool allow = false;
- char c;
- char co2_measure[5];
- int count=0;
-
- while(1)
- {
- c = co2.getc();
- //based on the user manual PDF for the CO2 sensor, the value starts with "Z"
- //and we need to extract the right number of CO2 value
- if(c=='Z') {
- allow = true;
- }
-
- if(allow) {
- if(c>=48 && c<=57) {
- co2_measure[count]=c;
- count++;
- }
-
- if(count>=6) {
- value = ((co2_measure[0]-'0')*100000+co2_measure[1]-'0')*10000+(co2_measure[2]-'0')*1000+(co2_measure[3]-'0')*100;
- float CAR;
- CAR=(float)value/10000;
- count=0;
- allow=false;
- return CAR;
- }
- }
- }
-}
-
-///////////////////// TEMPERATURE LOOP /////////////////////////
-
-float t2Cel;
-
-float getTemp()
-{
- while(1) {
- float B = 3478; //Define thermistor constant
- float rRef=10e3; // Define reference resistance
- float r1=10e3; // Define thermistor resistance at 25 C
- float t1=25+273; // Define thermistor initial temperature s 25C in Kelvin
- float x = temp.read(); //Measure input voltage at pin A0 in bits
- float v = 3.3*x; //Convert bits into voltage
- float r2 = (3.3*rRef/v)-rRef; //Convert voltage into thermistor resistance
- float t2 = (B*t1)/(B-t1*log(r1/r2)); //Convert thermistor resistance into temperature in Kelvin (log means natural logarithm ln)
- t2Cel = t2-273; //Convert temperature from Kelvin to Celcius
- return t2Cel;
-// printf("Temp: %f\n", t2Cel);
- }
-}
-
-///////////////////// 8-CHANNEL SENSOR LOOP /////////////////////////
-
-float s1()
-{
- float sen1;
- while(1){
- sen1=sensor1*3.3;
- return sen1;
- }
-}
-float s2()
-{
- float sen2;
- while(1){
- sen2=sensor2*3.3;
- return sen2;
- }
-}
-float s3()
-{
- float sen3;
- while(1){
- sen3=sensor3*3.3;
- return sen3;
- }
-}
-float s4()
-{
- float sen4;
- while(1){
- sen4=sensor4*3.3;
- return sen4;
- }
-}
-float s5()
-{
- float sen5;
- while(1){
- sen5=sensor5*3.3;
- return sen5;
- }
-}
-float s6()
-{
- float sen6;
- while(1){
- sen6=sensor6*3.3;
- return sen6;
- }
-}
-float s7()
-{
- float sen7;
- while(1){
- sen7=sensor7*3.3;
- return sen7;
- }
-}
-float s8()
-{
- float sen8;
- while(1){
- sen8=sensor8*3.3;
- return sen8;
- }
-}
\ No newline at end of file