2.7 KiB
2.7 KiB
HDC1000 Module
Since | Origin / Contributor | Maintainer | Source |
---|---|---|---|
2015-03-07 | Francesco Truzzi | Francesco Truzzi | hdc1000.lua |
This Lua module provides access to HDC1000 I²C digital humidity and temperature sensor. It should also work with HDC1008 sensor bout this haven't been tested.
!!! note
This module requires i2c
C module built into firmware.
Require
HDC1000 = require("HDC1000")
Release
HDC1000 = nil
package.loaded["HDC1000"] = nil
HDC1000.setup()
Function to setup the HDC1000 sensor.
Syntax
HDC1000.setup(drdyn)
Parameters
drdyn
: DRDYn pin number. If set tofalse
, this feature will not be used and after each read request a 20ms delay will be added.
Returns
nil
Example
local sda, scl = 3, 4 -- Pins 3 and 4 will be used
local drdyn = 6 -- Pin 6 will be used to connect with DRDYn pin
i2c.setup(0, sda, scl, i2c.SLOW) -- call i2c.setup() only once
HDC1000.setup(drdyn)
HDC1000.config()
Function to configure various options of HDC1000 sensor.
Syntax
HDC1000.config(address, resolution, heater)
Parameters
address
: I²C sensor address. Default value is0x40
.resolution
: Temperature and humidity sensor resolution. Can be set to 14 bits for both temperature and humidity (0x00
), 11 bits for temperature (0x40
), 11 bits for humidity (0x01
) or 8 bits for humidity (0x20
). Default value is0x00
.heater
: Heater setting.0x20
to enable and0x00
to disable. Default value is0x20
.
Returns
nil
HDC1000.getTemp()
Reads the temperature from HDC1000 sensor.
Syntax
HDC1000.getTemp()
Parameters
None
Returns
Temperature in Celsius degrees.
HDC1000.getHumi()
Reads the humidity value from HDC1000 sensor.
Syntax
HDC1000.getHumi()
Parameters
None
Returns
Humidity in percents.
HDC1000.batteryDead()
Function that checks if voltage of sensor power supply is bellow or above 2.8V.
Syntax
HDC1000.batteryDead()
Parameters
None
Returns
true
if battery voltage is bellow 2.8V, false
otherwise.
Example
HDC1000 = require("HDC1000")
sda = 1
scl = 2
drdyn = false
i2c.setup(0, sda, scl, i2c.SLOW) -- call i2c.setup() only once
HDC1000.setup(drdyn)
HDC1000.config() -- default values are used if called with no arguments. prototype is config(address, resolution, heater)
print(string.format("Temperature: %.2f °C\nHumidity: %.2f %%", HDC1000.getTemp(), HDC1000.getHumi()))
HDC1000 = nil
package.loaded["HDC1000"] = nil