Java Mine
|
////---------------------------------------------------------------------------------------- //// calculates temperature [°C] and humidity [%RH] //// input : humi [Ticks] (12 bit) (ALREADY CONVERTED TO DECIMAL) //// temp [Ticks] (14 bit) (ALREADY CONVERTED TO DECIMAL) //// output: humi [%RH] //// temp [°C] //void calc_sth11(float* p_humidity, float* p_temperature) //{ // const float C1 = -4.0; // for 12 Bit // const float C2 = +0.0405; // for 12 Bit // const float C3 = -0.0000028; // for 12 Bit // const float T1 = +0.01; // for 14 Bit @ 5V // const float T2 = +0.00008; // for 14 Bit @ 5V
// float rh = *p_humidity; // rh: Humidity [Ticks] 12 Bit // float t = *p_temperature; // t: Temperature [Ticks] 14 Bit // float rh_lin; // rh_lin: Humidity linear // float rh_true; // rh_true: Temperature compensated humidity // float t_C; // t_C : Temperature [°C]
// t_C = t * 0.01 - 40; //calc. temperature from ticks to [°C] // rh_lin = C3 * rh * rh + C2 * rh + C1; //calc. humidity from ticks to [%RH] // rh_true = (t_C - 25) * (T1 + T2 * rh) + rh_lin; //calc. temperature compensated humidity [%RH] // if (rh_true > 100) rh_true = 100; //cut if the value is outside of // if (rh_true < 0.1) rh_true = 0.1; //the physical possible range
// *p_temperature = t_C; //return temperature [°C] // *p_humidity = rh_true; //return humidity[%RH] //} ////-------------------------------------------------------------------- //float calc_dewpoint(float h, float t) ////-------------------------------------------------------------------- //// calculates dew point //// input: humidity [%RH], temperature [°C] //// output: dew point [°C] //{ // float logEx, dew_point; // logEx = 0.66077 + 7.5 * t / (237.3 + t) + (log10(h) - 2); // dew_point = (logEx - 0.66077) * 237.3 / (0.66077 + 7.5 - logEx); // return dew_point; //}
Copyright (c) 2023. All rights reserved.
|
What do you think about this topic? Send feedback!
|