Fix timing and pin mode change to comply with datasheet.

This commit is contained in:
W12\owen 2018-09-24 06:20:01 +10:00
parent c978977718
commit b429942ce8

View File

@ -153,11 +153,10 @@ boolean DHT::read(bool force) {
// End the start signal by setting data line high for 40 microseconds. // End the start signal by setting data line high for 40 microseconds.
digitalWrite(_pin, HIGH); digitalWrite(_pin, HIGH);
delayMicroseconds(40); pinMode(_pin, INPUT_PULLUP);
// Now start reading the data line to get the value from the DHT sensor. // Now start reading the data line to get the value from the DHT sensor.
pinMode(_pin, INPUT_PULLUP); delayMicroseconds(60); // Delay a bit to let sensor pull data line low.
delayMicroseconds(10); // Delay a bit to let sensor pull data line low.
// First expect a low signal for ~80 microseconds followed by a high signal // First expect a low signal for ~80 microseconds followed by a high signal
// for ~80 microseconds again. // for ~80 microseconds again.