New Grove Product – HDC1080 I2C Inexpensive Temperature Humidity Sensor

Grove HDC1080 I2C Temperature and Humidity Board (HDC1000 / HDC1010 compatible)

This a posting about the new low cost HDC1080  I2C Grove Temperature and Humidity Board.   This sensor is a part of the Smart Plant Pi Kickstarter from SwitchDoc Labs.

SmartPlantPi[/list]

[callout size=”col-12″ title=”Checkout the SmartPlantPi Kickstarter” button_title=”Go to Kickstarter” button_link=”https://www.kickstarter.com/projects/sunair/1801490632?token=c7277b31″  button_size=”normal” button_rounded=”true” button_color=”red”]

[section]

 

The HDC1080

The HDC1080 is a HDC1000 compatible temperature and humidity sensor.  It is located at I2C address 0x40.

Grove – Temperature and Humidity Sensor (HDC1080) utilizes a HDC1080 sensor, from Texas Instruments. It is a digital humidity sensor with integrated temperature sensor that provides excellent measurement accuracy at very low power. The device measures humidity based on a novel capacitive sensor. The humidity and temperature sensors are factory calibrated. The innovative WLCSP (Wafer Level Chip Scale Package) simplifies board design with the use of an ultra-compact package.  The HDC1080 is functional within the full –40°C to +125°C temperature range, and 0-100% RH range.

You can buy this product on the SwitchDoc Labs store.

Features

• ŸGrove connector compatible
• ŸI2C Interface
• ŸLow Power
• ŸWide operating voltage range

Specification

• ŸSupply Voltage: 3~5Vdc;
• ŸWorking Current: 0.12~90uA;
• ŸRelative humidity accuracy: ±3%RH;
• ŸRelative humidity operating range: 0~100%RH;
• ŸTemperature accuracy: ±0.2℃;
• ŸTemperature range: -40~125℃;
• ŸOperating temperature: -20~85℃
• ŸDimension: 40×20mm.

Downloads  (Note:  HDC1080 is software compatible with the HDC1000/HDC1010)

Software Example

 

Results

Test SDL_Pi_HDC1000 Version 1.0 - SwitchDoc Labs

Sample uses 0x40 and SwitchDoc HDC1000 Breakout board 
Program Started at:2017-01-19 15:57:30

-----------------
Temperature = 23.4 C
Humidity = 26.3 %
configure register = 0x10
turning Heater On
configure register = 0x30
turning Heater Off
configure register = 0x10
change temperature resolution
configure register = 0x14
change temperature resolution
configure register = 0x10
change humidity resolution
configure register = 0x12
change humidity resolution
configure register = 0x10
-----------------
Temperature = 23.4 C
Humidity = 26.3 %
configure register = 0x10
turning Heater On
configure register = 0x30
turning Heater Off
configure register = 0x10
change temperature resolution
configure register = 0x14
change temperature resolution
configure register = 0x10
change humidity resolution
configure register = 0x12
change humidity resolution
configure register = 0x10

 

 

testHDC1000.py

#!/usr/bin/env python
#
# Test SDL_Pi_HDC1000
#
# January 2017
#

#imports

import sys
import time
import datetime
import SDL_Pi_HDC1000



# Main Program

print ""
print "Test SDL_Pi_HDC1000 Version 1.0 - SwitchDoc Labs"
print ""
print "Sample uses 0x40 and SwitchDoc HDC1000 Breakout board "
print "Program Started at:"+ time.strftime("%Y-%m-%d %H:%M:%S")
print ""

hdc1000 = SDL_Pi_HDC1000.SDL_Pi_HDC1000()

while True:

        print "-----------------"
        print "Temperature = %3.1f C" % hdc1000.readTemperature()
        print "Humidity = %3.1f %%" % hdc1000.readHumidity()

        # read configuration register
        print "configure register = 0x%X" % hdc1000.readConfigRegister()
        # turn heater on
        print "turning Heater On"
        hdc1000.turnHeaterOn()
        # read configuration register
        print "configure register = 0x%X" % hdc1000.readConfigRegister()
        # turn heater off
        print "turning Heater Off"
        hdc1000.turnHeaterOff()
        # read configuration register
        print "configure register = 0x%X" % hdc1000.readConfigRegister()

        # change temperature resolution
        print "change temperature resolution"
        hdc1000.setTemperatureResolution(SDL_Pi_HDC1000.HDC1000_CONFIG_TEMPERATURE_RESOLUTION_11BIT)
        # read configuration register
        print "configure register = 0x%X" % hdc1000.readConfigRegister()
        # change temperature resolution
        print "change temperature resolution"
        hdc1000.setTemperatureResolution(SDL_Pi_HDC1000.HDC1000_CONFIG_TEMPERATURE_RESOLUTION_14BIT)
        # read configuration register
        print "configure register = 0x%X" % hdc1000.readConfigRegister()

        # change humdity resolution
        print "change humidity resolution"
        hdc1000.setHumidityResolution(SDL_Pi_HDC1000.HDC1000_CONFIG_HUMIDITY_RESOLUTION_8BIT)
        # read configuration register
        print "configure register = 0x%X" % hdc1000.readConfigRegister()
        # change humdity resolution
        print "change humidity resolution"
        hdc1000.setHumidityResolution(SDL_Pi_HDC1000.HDC1000_CONFIG_HUMIDITY_RESOLUTION_14BIT)
        # read configuration register
        print "configure register = 0x%X" % hdc1000.readConfigRegister()

        time.sleep(3.0)