概述
Gravity:SHT30模拟温湿度传感器采用业内知名的瑞士Sensirion公司推出的新一代SHT30温湿度传感器芯片。得益于Sensirion的CMOSens®技术,高集成度电容式测湿元件和能隙式测温元件,SHT30能够提供极高的可靠性和出色的长期稳定性,具有功耗低、反应快、抗干扰能力强等优点。传感器内部经过校准、线性化与放大,能够输出与温湿度呈线性关系的模拟电压,无需额外的驱动库,使用简单方便,兼容常见的Arduino、micro:bit、ESP32等各类3.3V/5V主控系统,轻松实现城市环境监控、智能楼宇、工业自动化、智能家居等物联网应用场景的温湿度传感。
特性
- 高精度,内部自动校准,线性模拟电压输出
- 低功耗、响应速度快、抗干扰能力强
- 兼容3.3V/5V控制器
应用场景
- 城市环境监控
- 智能楼宇、家庭
- 工业自动化
技术规格
- 主芯片(传感器):Sensirion SHT30
- 供电电压(VCC):3.3V ~ 5.5V
- 通信接口:Gravity Analog (PH2.0-3P,模拟电压输出0.3-2.7V)
- 工作电流:< 0.5 mA
- 产品尺寸:30×22 mm
- 重量:3 g
温度测量性能
- 量程:-40 ~ 125 ℃
- 分辨率:0.01 ℃,14bit
- 精度:±0.2℃@10~55℃(典型值),±1.5℃@-40 ~ 125 ℃(典型值)
- 响应速度:> 2s
湿度测量性能
- 量程:0~100 %RH
- 分辨率:0.006 %,14bit
- 精度:±3 %RH@10~90 %RH(典型值),±8 %RH@0~100 %RH(典型值)
- 响应速度:> 8s
接口说明
标号 | 名称 | 功能描述 |
---|---|---|
1 | - | 电源负极 |
2 | + | 电源正极(3.3~5.5V) |
3 | RH | 湿度模拟电压输出(0.3~2.7V) |
4 | T | 温度模拟电压输出(0.3~2.7V) |
5 | / | 2.54mm-4P通孔焊盘引出 |
引脚说明
温湿度输出特性
- 模块在额定电压范围内供电内且正常工作时,输出与温湿度呈线性关系的0.3~2.7V电压,具体对应关系如下图

Arduino使用教程
准备
-
硬件
- Arduino UNO控制板 x 1
- Gravity:SHT30模拟温湿度传感器 x 1
- Gravity 3P模拟传感器连接线(或若干杜邦线) x 1
-
软件:以下软件可二选一
- Arduino IDE (1.0.x或1.8.x), 点击下载Arduino IDE
- Mind+图形化编程, 点击下载Mind+
连线图
样例代码
- 将下面样例代码上传至主控板,打开串口监控器,观察测量的温度和湿度。
关于校准:
由于模拟读数受到参考电压的影响,较大程度影响温湿度传感器的读数精度。为了得到准确的读数,可使用高精度万用表测量主控的模拟参考电压(通常与供电电压一致),并修改下方样例代码中的“#define VREF 5.0”的参数,完成校准。 |
/**************************************************************************/
/*
@file SHT30_TempRH_Read.ino
@author Henry (DFRobot)
@version V1.0
@date 2019-08-12
@copyright Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
@licence The MIT License (MIT)
@breif This example read and print the temperature and relative humidity.
This demo and related libraries are for DFRobot Gravity: Analog SHT30 Temperature & Humidity Sensor
Check out the links below for tutorials and connection diagrams
Product(CH): http://www.dfrobot.com.cn/
Product(EN): https://www.dfrobot.com/
*/
/**************************************************************************/
// VREF: Analog reference
// For Arduino UNO, Leonardo and mega2560, etc. change VREF to 5
// For Arduino Zero, Due, MKR Family, ESP32, etc. 3V3 controllers, change VREF to 3.3
#define VREF 5.0
#define TEMPERATURE_PIN A1
#define HUMIDITY_PIN A0
#define ADC_RESOLUTION 1024
float Tc, Tf, RH, analogVolt;
void setup() {
Serial.begin(115200);
Serial.println("SHT30 Starts up.");
}
void loop() {
analogVolt = (float)analogRead(TEMPERATURE_PIN) / ADC_RESOLUTION * VREF;
// Convert voltage to temperature (℃, centigrade)
Tc = -66.875 + 72.917 * analogVolt;
// Convert voltage to temperature (°F, fahrenheit )
Tf = -88.375 + 131.25 * analogVolt;
Serial.print("Termperature:" );
Serial.print(Tc, 1);
Serial.print(" C / " );
Serial.print(Tf, 1);
Serial.println(" F" );
analogVolt = (float)analogRead(HUMIDITY_PIN) / ADC_RESOLUTION * VREF;
// Convert voltage to relative humidity (%)
RH = -12.5 + 41.667 * analogVolt;
Serial.print("Humidity:" );
Serial.print(RH, 1);
Serial.println(" %RH" );
Serial.println();
delay(2000);
}
结果
- 模块每隔2s打印当前测量温度或湿度:
样例代码(Mind+)
- 打开Mind+图形化编程软件,切换到“上传模式”。(详细教程:Mind+基础wiki教程-上传模式编程流程)
- “扩展”中选择“主控板”中的“Arduino Uno”,“扩展”“传感器”搜索添加“SHT30温湿度传感器”(详细教程:Mind+基础wiki教程-加载扩展库流程)
- 进行编程,程序如下图:
- 单击菜单“连接设备”->“上传到设备”
- 程序上传完毕后,打开串口即可看到数据输出。(Mind+基础wiki教程-串口打印)
- 模块每隔1s打印当前测量温度或湿度
micro:bit使用教程
准备
-
硬件
- micro:bit编程入门开发板 x 1
- micro:Mate多功能I/O扩展板
- Gravity:SHT30模拟温湿度传感器 x 1
- Gravity 3P模拟传感器连接线(或若干杜邦线) x 1
-
软件:
- Mind+图形化编程, 点击下载Mind+
连线图
样例代码(Mind+)
- 打开Mind+图形化编程软件,切换到“上传模式”。(详细教程:Mind+基础wiki教程-上传模式编程流程)
- “扩展”中选择“主控板”中的“micro:bit”,由于该传感器通过模拟量输出,无需加载额外的驱动库。(详细教程:Mind+基础wiki教程-加载扩展库流程)
- 进行编程,程序如下图:
- 单击菜单“连接设备”->“上传到设备”
- 程序上传完毕后,打开串口即可看到数据输出。(Mind+基础wiki教程-串口打印)
常见问题
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。