DHT Module¶
Since | Origin / Contributor | Maintainer | Source |
---|---|---|---|
2017-03-30 | Arnim Läuger | Arnim Läuger | dht |
Constants¶
Constants for various functions.
dht.OK
, dht.ERROR_CHECKSUM
, dht.ERROR_TIMEOUT
represent the potential values for the DHT read status
dht.read11()¶
Read DHT11 humidity temperature combo sensor.
Syntax¶
dht.read11(pin)
Parameters¶
pin
IO index, see GPIO Overview
Returns¶
status
as defined in Constantstemp
temperaturehumi
humiditytemp_dec
temperature decimal (always 0)humi_dec
humidity decimal (always 0)
Example¶
pin = 4
status, temp, humi = dht.read11(pin)
if status == dht.OK then
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.read2x()¶
Read DHT21/22/33/43 and AM2301/2302/2303 humidity temperature combo sensors.
Syntax¶
dht.read2x(pin)
Parameters¶
pin
IO index, see GPIO Overview
Returns¶
status
as defined in Constantstemp
temperature (see note below)humi
humidity (see note below)temp_dec
temperature decimalhumi_dec
humidity decimal
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 = 4
status, temp, humi, temp_dec, humi_dec = dht.read2x(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_dec,
math.floor(humi),
humi_dec
))
-- 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