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.
[/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)