Temp and Humidity sensor device driver.
Dependents: KL05Z_DHT11 SeeedStudio_Grove_Sensors_Demo Seeed_Grove_Temp_Humidity_Example roam_v1 ... more
Revision 3:6937e130feca, committed 2016-05-28
- Comitter:
- sam_grove
- Date:
- Sat May 28 11:11:34 2016 +0000
- Parent:
- 2:df22ddf10d75
- Commit message:
- Remove warnings about implicit conversion from float to double and unify DHT11 and DHT22 init command sequence
Changed in this revision
DHT.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r df22ddf10d75 -r 6937e130feca DHT.cpp --- a/DHT.cpp Fri Aug 15 20:55:43 2014 +0000 +++ b/DHT.cpp Sat May 28 11:11:34 2016 +0000 @@ -77,13 +77,12 @@ // start the transfer DHT_io.output(); DHT_io = 0; - // only 500uS for DHT22 but 18ms for DHT11 - (_DHTtype == 11) ? wait_ms(18) : wait(1); + wait_ms(18); DHT_io = 1; wait_us(30); DHT_io.input(); // wait till the sensor grabs the bus - if (ERROR_NONE != stall(DHT_io, 1, 40)) { + if (ERROR_NONE != stall(DHT_io, 1, 100)) { return ERROR_NOT_PRESENT; } // sensor should signal low 80us and then hi 80us @@ -166,22 +165,22 @@ float DHT::ConvertCelciustoKelvin(float const celsius) { - return celsius + 273.15; + return celsius + 273.15f; } // dewPoint function NOAA // reference: http://wahiduddin.net/calc/density_algorithms.htm float DHT::CalcdewPoint(float const celsius, float const humidity) { - float A0= 373.15/(273.15 + celsius); + float A0= 373.15f/(273.15f + celsius); float SUM = -7.90298 * (A0-1); - SUM += 5.02808 * log10(A0); - SUM += -1.3816e-7 * (pow(10, (11.344*(1-1/A0)))-1) ; + SUM += 5.02808f * log10(A0); + SUM += -1.3816e-7 * (pow(10, (11.344f*(1-1/A0)))-1) ; SUM += 8.1328e-3 * (pow(10,(-3.49149*(A0-1)))-1) ; SUM += log10(1013.246); float VP = pow(10, SUM-3) * humidity; - float T = log(VP/0.61078); // temp var - return (241.88 * T) / (17.558-T); + float T = log(VP/0.61078f); // temp var + return (241.88f * T) / (17.558f-T); } // delta max = 0.6544 wrt dewPoint()