Temp-Hum 4 click
PID: MIKROE-2938
Weight: 23 g
Smart environmental temperature and humidity
sensor
Temp-Hum 4 click is a smart environmental temperature and humidity sensor Click
board™, packed with features which allow easy and simple integration into any design that
requires accurate and reliable humidity and temperature measurements. The sensor IC
itself has integrated sensing elements placed on the bottom of the die, so they are not
directly exposed to the environmental contamination, which translates to a prolonged life
of the Click board™.
Temp-Hum 4 click is a perfect solution for a wide range of applications that depend on
accurate temperature and humidity readings. With its low power consumption and
programmable interrupt requests capability, it is also a perfect choice for various
temperature and relative humidity based IoT applications, such as smart home
applications, smart thermostats, gas sensing, smoke and heat sensors, and similar.
How does it work?
The sensor IC used on the Temp-Hum 4 click is the HDC1010, a Low Power Humidity and
Temperature Digital Sensor from Texas Instruments. This sensor is factory calibrated to
2% relative humidity and 0.2°C temperature accuracy. It has an integrated heating element
that is used to evaporate condensation, protecting the sensor that way. The heating
element can be simply activated by setting a bit in the appropriate register. In the case
when the heater is powered on, the power consumption might rise to about 130mA.
Internally, two sensors are connected to the ADC section, which can be set to sample the
measurement with the resolution of 9, 11 or 14 bits, based on the measurement time. OTP
memory holds the calibration coefficients that are applied to the measured value and the
results are stored on the output registers, in the MSB/LSB format. These values are then
used in formulas found in the HDC1010 datasheet so that the final temperature or relative
humidity data can be calculated.
HDC1010 IC uses the I2C protocol to communicate with the host MCU. Its I2C bus pins are
routed to the mikroBUS™ I2C pins and are pulled to a HIGH logic level by the onboard
resistors. Two ADDR pins of the HDC1010 are routed to the CS and the RST pin of the
mikroBUS™ and they represent the least significant bits of the I2C address. The final I2C
address of this IC is determined by setting these pins either to HIGH logic level for 1, or a
LOW logic level for 0.
Temp-Hum 4 click supports programmable interrupt engine, saving the host MCU from
having to constantly poll the IC for data. An interrupt signal with a selectable polarity and
behavior can be generated on the DRDY/INT pin of the HDC1010. It can be triggered by
several event sources: it can be triggered by the temperature Lo/Hi threshold events,
Humidity Lo/Hi events, as well as the readiness of the measurement data. Setting up the
interrupts can be achieved by programming the appropriate IC registers via the I2C bus.
More information about these registers can be found in the HDC1010 datasheet.
HDC1010 IC is a very low power consuming device and it can work in two modes: sleep and
active (measurement) mode. The device enters the sleep the mode as soon possible, to save
power. While in active mode, measurement can be either automatic with predefined output
data rate (ODR) or on-demand. In the automatic mode, the measurement is triggered in
predefined time segments - continuously, while on-demand measurement happens
whenever the I2C command is sent. As soon as the single measurement is finished, the
device falls back to sleep mode.
Onboard SMD jumper is used to select the power supply voltage. This allows Temp-Hum 4
click to be used with both 3.3V and 5V MCUs.
The provided click board™ library contains simple and easy to use functions, which
simplify configuring and reading of the measurement data. These functions are
demonstrated in the included example application and can be used as a reference for
custom projects. These functions can be used in mikroC, mikroBASIC and mikroPASCAL
compilers for all MCU architectures supported by MikroElektronika.
Specifications
Type
Applications
On-board
modules
Temperature / Humidity
Environmental monitoring, home automation, weather stations,
HVAC systems, etc.
HDC1010 Low Power Humidity and Temperature Digital Sensor
The click board measures the relative humidity range from 0% to
Key Features
100% with acc. of ±2%, temp acc ±0.2 °C, and it features an
integrated heating element, used to evaporate condensation, smart
sensor IC design, and low power consumption.
Interface
I2C
Input Voltage
3.3V or 5V
Click board
size
S (28.6 x 25.4 mm)
Pinout diagram
This table shows how the pinout on Temp-Hum 4 click corresponds to the pinout on the
mikroBUS™ socket (the latter shown in the two middle columns).
Notes
Pin
Pin
Notes
NC
1
AN
PWM
16
NC
I2C Address LSB 0
AD0
2
RST
INT
15
INT
I2C Address LSB 1
AD1
3
CS
RX
14
NC
NC
4
SCK
TX
13
NC
NC
5
MISO
SCL
12
SCL
I2C Clock
NC
6
MOSI
SDA
11
SDA
I2C Data
Power Supply
+3V3
7
3.3V
5V
10
+5V
Power Supply
Ground
GND
8
GND
GND
9
GND
Ground
Interrupt output
Temp-Hum 4 click maximum ratings
Description
Min
Typ
Max
Unit
Temperature Accuracy
-0.2
-
0.2
°C
-2
-
2
% RH
Humidity Accuracy
Operating temperature
-40
-
85
°C
Relative Humidity Operating Range
0
-
100
% RH
I2C clock frequency
10
-
400
kHz
Onboard settings and indicators
Label
Name
Default
JP1
-
Left
LD1
PWR
Description
Power Supply Voltage Selection: Left position 3V3, right
position 5V
PWR indication LED
Software support
We provide a library for Temp-Hum 4 click on our LibStock page, as well as a demo
application (example), developed using MikroElektronika compilers and mikroSDK. The
provided click library is mikroSDK standard compliant. The demo application can run on all
the main MikroElektronika development boards.
Library Description
The library covers all functionalities of the click board.
Key functions:
float temphum4_getTemperature() - Read temperature form sensor
float temphum4_getHuminidy() - Read humidity from sensor
void temphum4_Configuration(uint16_t _data) - Configure sensor
Examples Description
The application is composed of three sections:
•
System Initialization - Initializes I2C module and CS pin, RST pin as OUTPUT and INT pin as INPUT.
•
Application Initialization - Initializes Driver init and settings chip mode ACTIVE and configuration
measurement.
•
Application Task - (code snippet) - Reads the temperature and humidity and logs to the USBUART
every 500 ms.
void applicationTask()
{
Temperature = temphum4_getTemperature();
Huminidy = temphum4_getHuminidy();
FloatToStr(Temperature,temp_txt);
mikrobus_logWrite("Temperature : ",_LOG_TEXT);
mikrobus_logWrite(temp_txt,_LOG_LINE);
FloatToStr(Huminidy,hum_txt);
mikrobus_logWrite("Huminidy : ",_LOG_TEXT);
mikrobus_logWrite(hum_txt,_LOG_LINE);
Delay_ms( 500 );
}
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
•
I2C
•
UART
•
Conversions
Additional notes and information
Depending on the development board you are using, you may need USB UART click, USB
UART 2 click or RS232 click to connect to your PC, for development systems with no UART
to USB interface available on the board. The terminal available in all
MikroElektronika compilers, or any other terminal application of your choice, can be used
to read the message.
mikroSDK
This click board is supported with mikroSDK - MikroElektronika Software Development
Kit. To ensure proper operation of mikroSDK compliant click board demo applications,
mikroSDK should be downloaded from the LibStock and installed for the compiler you are
using.
For more information about mikroSDK, visit the official page.
Downloads
mikroBUS™ Standard specification
LibStock: mikroSDK
Libstock: Temp-Hum 4 click library
Temp-Hum 4 click: 2D and 3D files
HDC1010 datasheet
Temp-Hum 4 click schematic
https://www.mikroe.com/temp-hum-4-click 3-14-18