class I2CDevice::HDC1000

www.ti.com/product/HDC1000 A Digital humidity/temperature sensor

Public Class Methods

new(args = {}) click to toggle source
Calls superclass method I2CDevice::new
# File lib/templates/grove_pi/i2c/device/hdc1000.rb, line 9
def initialize(args = {})
        args = {
                address: 0x40
        }.merge(args)
        super args
        configuration
end

Public Instance Methods

calc_humidity(d1, d2) click to toggle source
# File lib/templates/grove_pi/i2c/device/hdc1000.rb, line 39
def calc_humidity(d1, d2)
  (d1<<8 | d2).to_f / 2**16 * 100
end
calc_temperature(d1, d2) click to toggle source
# File lib/templates/grove_pi/i2c/device/hdc1000.rb, line 35
def calc_temperature(d1, d2)
  ((d1<<8 | d2).to_f / 2**16 * 165) - 40
end
configuration() click to toggle source
# File lib/templates/grove_pi/i2c/device/hdc1000.rb, line 17
def configuration
        i2cset(
                0x02, # Configuration register
                0x10, # TRES 14bit
                0x00  # HRES 14bit
        )
end
get_data() click to toggle source
# File lib/templates/grove_pi/i2c/device/hdc1000.rb, line 25
def get_data
        i2cset(0x00)
        sleep 6.35e-3 + 6.5e-3
        raw = i2cget(nil, 4).unpack("C4")
        {
                temperature: calc_temperature(raw[0], raw[1]),
                humidity: calc_humidity(raw[2], raw[3])
        }
end