nodemcu-firmware/docs/en/modules/dht.md

2.4 KiB

dht Module

Constants

dht.OK (0), dht.ERROR_CHECKSUM (1), dht.ERROR_TIMEOUT (2)

dht.read()

Read all kinds of DHT sensors, including DHT11, 21, 22, 33, 44 humidity temperature combo sensor.

Syntax

dht.read(pin)

Parameters

pin pin number of DHT sensor (can't be 0), type is number

Returns

  • status as defined in Constants
  • temp temperature (see note below)
  • humi humidity (see note below)
  • temp_dec temperature decimal
  • humi_dec humidity decimal

!!! note "Note:"

If using float firmware then `temp` and `humi` are floating point numbers. On an integer firmware, the final values have to be concatenated from `temp` and `temp_dec` / `humi` and `hum_dec`.

Example

pin = 5
status, temp, humi, temp_dec, humi_dec = dht.read(pin)
if status == dht.OK then
    -- Integer firmware using this example
    print(string.format("DHT Temperature:%d.%03d;Humidity:%d.%03d\r\n",
          math.floor(temp),
          temp_deci,
          math.floor(humi),
          humi_deci
    ))

    -- Float firmware using this example
    print("DHT Temperature:"..temp..";".."Humidity:"..humi)

elseif status == dht.ERROR_CHECKSUM then
    print( "DHT Checksum error." )
elseif status == dht.ERROR_TIMEOUT then
    print( "DHT timed out." )
end

dht.read11()

Read DHT11 humidity temperature combo sensor.

Syntax

dht.read11(pin)

Parameters

pin pin number of DHT11 sensor (can't be 0), type is number

Returns

  • status as defined in Constants
  • temp temperature (see note below)
  • humi humidity (see note below)
  • temp_dec temperature decimal
  • humi_dec humidity decimal

!!! note "Note:"

If using float firmware then temp and humi are floating point numbers. On an integer firmware, the final values have to be concatenated from temp and temp_dec / humi and hum_dec.

See also

dht.read()

dht.readxx()

Read all kinds of DHT sensors, except DHT11.

####Syntax dht.readxx(pin)

Parameters

pin pin number of DHT sensor (can't be 0), type is number

Returns

  • status as defined in Constants
  • temp temperature (see note below)
  • humi humidity (see note below)
  • temp_dec temperature decimal
  • humi_dec humidity decimal

!!! note "Note:"

If using float firmware then temp and humi are floating point numbers. On an integer firmware, the final values have to be concatenated from temp and temp_dec / humi and hum_dec.

See also

dht.read()