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¶
statusas defined in Constantstemptemperaturehumihumiditytemp_dectemperature decimal (always 0)humi_dechumidity 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¶
statusas defined in Constantstemptemperature (see note below)humihumidity (see note below)temp_dectemperature decimalhumi_dechumidity 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