/** * Reads the current temperature in degrees Fahrenheit */ float SHT1x::readTemperatureF() { int _val; // Raw value returned from sensor float _temperature; // Temperature derived from raw value // Conversion coefficients from SHT15 datasheet const float D1 = -40.0; // for 14 Bit @ 5V const float D2 = 0.018; // for 14 Bit DEGF // Fetch raw value _val = readTemperatureRaw(); // Convert raw value to degrees Fahrenheit _temperature = (_val * D2) + D1; return (_temperature); }
/** * Reads the current temperature in degrees Celsius */ float SHT1x::readTemperatureC() { int _val; // Raw value returned from sensor float _temperature; // Temperature derived from raw value // Conversion coefficients from SHT15 datasheet const float Dat1 = -40.0; // for 14 Bit @ 5V const float Dat2 = 0.01; // for 14 Bit DEGC // Fetch raw value _val = readTemperatureRaw(); // Convert raw value to degrees Celsius _temperature = (_val * Dat2) + Dat1; return (_temperature); }
void wuclass_temperature_humidity_sensor_update(wuobject_t *wuobject) { sbi(TCCR0B, CS01); sbi(TCCR0B, CS00); sbi(TIMSK0, TOIE0); SHT1x(5,6); int temperature, temperatureRaw, humidityRaw, humidity; temperatureRaw=readTemperatureRaw(); temperatureRaw=temperatureRaw-4000; temperature=temperatureRaw/100; humidityRaw=readHumidity(); humidity=(temperature*(100000+800*humidityRaw) + (405000+28*humidityRaw)*humidityRaw - 4*10000000)/10000000 - 11; DEBUG_LOG(DBG_WKPFUPDATE, "WKPFUPDATE(TemperatureHumiditySensor): Sensed temperature value: %d.%dC\n", temperature, temperatureRaw%100); DEBUG_LOG(DBG_WKPFUPDATE, "WKPFUPDATE(TemperatureHumiditySensor): Sensed humidity value: %d %% \n", humidity); wkpf_internal_write_property_int16(wuobject, WKPF_PROPERTY_TEMPERATURE_HUMIDITY_SENSOR_CURRENT_VALUE_TEMPERATURE, temperature); wkpf_internal_write_property_int16(wuobject, WKPF_PROPERTY_TEMPERATURE_HUMIDITY_SENSOR_CURRENT_VALUE_HUMIDITY, humidity); }
// reads temperature in degrees F float LPS::readTemperatureF(void) { return 108.5 + (float)readTemperatureRaw() / 480 * 1.8; }
// reads temperature in degrees C float LPS::readTemperatureC(void) { return 42.5 + (float)readTemperatureRaw() / 480; }