adafruit/DHT-sensor-library

Incorrect frequency limit for DHT11

cryptoAlgorithm opened this issue · 0 comments

  • Arduino board: Raspberry Pi Pico (RP2040 B1)

  • Arduino IDE version (found in Arduino -> About Arduino menu): PlatformIO earlephilhower core

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too):

  1. Read values from the sensor in a loop: dht.readHumidity() or dht.readTemperature()
  2. Observe that values do not change at a frequency higher than 0.5Hz

It appears that this is due to an artificial ratelimit imposed by the DHT::read(...) method. Specifically, MIN_INTERVAL is hardcoded to 2000 for all types of sensors, which I assume is due to the DHT22's maximum read frequency of 0.5Hz. However, other sensors supported by this library, such as the DHT11, can read at a higher rate of 1Hz, so this value should instead be set based on the sensor type.