Introduction
I designed a breakout board for the Sensirion SHT1x Humidty/Temperature Sensor. The breakout board for this project has a SHT15 mounted. This project details a finished PCB design along with some sample Arduino sketches for demonstration.
The specifications for the SHT15 are:
- Energy consumption: 80uW (at 12bit, 3V, 1 measurement/s)
- Relative Humidity (RH) operating range: 0 – 100%
- Temperature Range: -40 – +125°C (-40 – +257°F)
- RH response time: 8 sec (tau 63%)
- Operating voltage: +3V
- Output 2-wire digital interface
According to Wikipedia, Relative Humidity is a term used to describe the amount of water vapor in a mixture of air and water vapor. It is basically the ratio of the partial pressure of the air-water mixture at the prescribed temperature.
Relative Humidity plays an important role in most climate control systems. Climate control refers to the control of temperature and relative humidity for the benefit of environmental control in HVAC and production environments.
Below is a picture of a SHT1x Humidity Sensor:
Here are some pictures of the final breakout board (Production Boards not finished yet):
Documentation
The board files was developed with the freely available DesignSpark PCB.
Files and updates are available on the associated github page.
Build It
Reference the B.O.M above for a list of the parts necessary to complete the Hobbybotics SHT1x Breakout.
Reference the below schematic and layout file for component locations.
Use It
I developed a couple of Arduino libraries to support the SHT1x breakout board. The files are available on the associated github page.
SHT1x Breakout | |||
Pin | Pin Name | Function | Arduino Pin |
1 | GND | Ground | GND |
2 | VCC | 3V Source Voltage | 3V |
3 | CLK | Serial Clock, input only | D17 (A3) |
4 | DO | Serial Data, bidirectional | D16 (A2) |
/* | |
Demonstration sketch for Hobbybotics SHT1x humidity/temperature sensor | |
breakout V1.o. | |
Reads humidity, temperature (Celsius) and temperature (Fahrenheit). | |
Displays results to Serial Monitor. | |
*/ | |
#include <SHT15.h> | |
SHT15 sensor; | |
void setup() | |
{ | |
// Init SHT15 sensor. SDA = D16 (Analog 2), SCL = D17 (Analog 3) | |
sensor.init(16, 17); | |
Serial.begin(9600); | |
Serial.println("--SHT15 Demo--"); | |
} | |
void loop() | |
{ | |
int temp_c; | |
int temp_f; | |
int humidity; | |
// Read values from the sensor | |
temp_c = sensor.measure(TEMPC); | |
temp_f = sensor.measure(TEMPF); | |
humidity = sensor.measure(HUMI); | |
// Print the values to the serial port | |
Serial.print("Temperature: "); | |
Serial.print(temp_c, DEC); | |
Serial.print("C / "); | |
Serial.print(temp_f, DEC); | |
Serial.print("F. Humidity: "); | |
Serial.print(humidity, DEC); | |
Serial.println("%"); | |
delay(2000); | |
} |
/* | |
Demonstration sketch for Hobbybotics SHT1x humidity/temperature sensor | |
breakout V1.o. | |
Reads humidity, temperature (Celsius) and temperature (Fahrenheit). | |
Displays results to LCD. | |
*/ | |
#include <LCD.h> | |
#include <SHT15.h> | |
#include <Wire.h> | |
// Create LCD object. LCD address can be 0 through 7 based on setup | |
LCD lcd(0); | |
SHT15 sensor; | |
// degree symbol | |
const char degree = 223; | |
void setup() | |
{ | |
// Init SHT15 sensor. SDA = D16 (Analog 2), SCL = D17 (Analog 3) | |
sensor.init(16, 17); | |
lcd.begin(20, 4); | |
lcd.clear(); | |
lcd.print("--SHT15 Demo--"); | |
lcd.setCursor(0, 1); | |
lcd.print("Temp C: "); | |
lcd.setCursor(0, 2); | |
lcd.print("Temp F: "); | |
lcd.setCursor(0, 3); | |
lcd.print("Humidity: "); | |
} | |
void loop() | |
{ | |
float temp_c; | |
float temp_f; | |
float humidity; | |
// Read values from the sensor | |
temp_c = sensor.measure(TEMPC); | |
temp_f = sensor.measure(TEMPF); | |
humidity = sensor.measure(HUMI); | |
lcd.setCursor(10, 1); | |
lcd.print(temp_c); | |
lcd.print(degree); | |
lcd.print("C"); | |
lcd.setCursor(10, 2); | |
lcd.print(temp_f); | |
lcd.print(degree); | |
lcd.print("F"); | |
lcd.setCursor(10, 3); | |
lcd.print(humidity); | |
lcd.print("%"); | |
delay(1000); | |
} |
Related Links
Hobbybotics SHT1x Breakout V1.0 Gallery
Disclaimer
This example shows hardware and software used to implement the design. It is recommended the viewer use sound judgment in determining and/or implementing this example for any particular application. This example may include information from 3rd parties and/or information which may require further licensing or otherwise. Additional hardware or software may be required. Hobbybotics or any affiliates does not support or warrant this information for any purpose other than a design example and takes no responsibility for any mishaps (none being implied).