概述
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教程-串口打印)
 

常见问题
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。
