Grove - I2C 高精度温湿度传感器(SHT35)

Grove - I2C 高精度温湿度传感器(SHT35) 基于 SHT3x-DIS,这是 Sensirion 下一代温湿度传感器。它建立在新的 CMOSens® 传感器芯片基础上,该芯片是 Sensirion 新型湿度和温度平台的核心。与前代产品相比,SHT3x-DIS 具有更高的智能性、可靠性和改进的精度规格。其功能包括增强的信号处理、两个独特的用户可选择 I2C 地址以及高达 1 MHz 的通信速度。
可升级为工业传感器
通过 SenseCAP S2110 控制器 和 S2100 数据记录器,您可以轻松将 Grove 转换为 LoRaWAN® 传感器。Seeed 不仅帮助您进行原型设计,还为您提供了通过 SenseCAP 系列坚固的工业传感器扩展项目的可能性。
SenseCAP S210x 系列工业传感器为环境感知提供开箱即用的体验。请参考具有更高性能和坚固性的 S2101 无线温湿度传感器,用于空气质量监测。该系列包括土壤湿度、空气温湿度、光照强度、CO2、EC 和 8 合 1 气象站传感器。为您下一个成功的工业项目尝试最新的 SenseCAP S210x。
| SenseCAP 工业传感器 |
| S2101 空气温湿度传感器 |
特性
- 高精度 ±1.5 %RH 和 ±0.1 °C
- 完全校准、线性化和温度补偿的数字输出
- I2C 接口,通信速度高达 1MHz,两个用户可选地址
- 启动和测量时间非常快
规格参数
| 项目 | 值 |
|---|---|
| 工作电压 | 3.3V / 5V |
| 指定温度范围 | -40°C 至 +125°C |
| 温度分辨率 | 0.01°C |
| 温度精度公差 | ±0.1 °C |
| 指定湿度范围 | 0%RH 至 +100%RH |
| 湿度分辨率 | 0.01%RH |
| 湿度精度公差 | ±1.5 %RH |
| 接口 | I2C |
| I2C 地址 | 0x45(默认) / 0x44(可选) |
应用
- 工业冷冻机和冰箱
- 食品加工
- 个人电脑和服务器
- PC 外设
- 消费电子产品
- 手持/便携式设备
硬件概述
引脚定义


原理图
电源
该模块基于 SHT35,该芯片的输入电压范围为 2.15v-5.5v,因此您可以使用 Arduino 的 3.3v 和 5v 引脚为该模块供电。
支持的平台
| Arduino | Raspberry Pi | |||
|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
上述提到的支持平台是/是该模块软件或理论兼容性的指示。在大多数情况下,我们只为 Arduino 平台提供软件库或代码示例。不可能为所有可能的 MCU 平台提供软件库/演示代码。因此,用户必须编写自己的软件库。
开始使用
与Arduino一起使用
硬件
所需材料
| Seeeduino V4.2 | Base Shield | Grove-SHT35 传感器 |
|---|---|---|
![]() | ![]() | |
| 立即购买 | 立即购买 | 立即购买 |
-
步骤1. 将Grove - I2C高精度温湿度传感器(SHT35)连接到Grove-Base Shield的I2C端口。
-
步骤2. 将Grove - Base Shield插入Seeeduino。
-
步骤3. 通过USB线将Seeeduino连接到PC。

如果我们没有Grove Base Shield,我们也可以直接将此模块连接到Seeeduino,如下所示。
| Seeeduino | Grove线缆 | Grove - I2C高精度温湿度传感器(SHT35) |
|---|---|---|
| GND | 黑色 | GND |
| 5V or 3.3V | 红色 | VCC |
| SDA | 白色 | SDA |
| SCL | 黄色 | SCL |
软件
如果这是您第一次使用Arduino,我们强烈建议您在开始之前先查看Arduino入门指南。
-
步骤1. 从Github下载Grove-SHT35传感器库。
-
步骤2. 参考如何安装库来为Arduino安装库。
-
步骤3. 重启Arduino IDE。打开示例,您可以通过以下三种方式打开:
- 在Arduino IDE中通过路径直接打开:文件 --> 示例 --> Grove Temperature sensor SHT35 --> basic_demo。

- 在您的计算机中点击basic_demo.ino打开,您可以在文件夹XXXX\Arduino\libraries\Seeed_SHT35-master\examples\basic_demo中找到它,XXXX是您安装Arduino IDE的位置。

- 或者,您可以点击代码块右上角的图标将以下代码复制到Arduino IDE的新草图中。

#include "Seeed_SHT35.h"
/*SAMD core*/
#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
#define SDAPIN 20
#define SCLPIN 21
#define RSTPIN 7
#define SERIAL SerialUSB
#else
#define SDAPIN A4
#define SCLPIN A5
#define RSTPIN 2
#define SERIAL Serial
#endif
SHT35 sensor(SCLPIN);
void setup()
{
SERIAL.begin(115200);
delay(10);
SERIAL.println("serial start!!");
if(sensor.init())
{
SERIAL.println("sensor init failed!!!");
}
delay(1000);
}
void loop()
{
u16 value=0;
u8 data[6]={0};
float temp,hum;
if(NO_ERROR!=sensor.read_meas_data_single_shot(HIGH_REP_WITH_STRCH,&temp,&hum))
{
SERIAL.println("read temp failed!!");
SERIAL.println(" ");
SERIAL.println(" ");
SERIAL.println(" ");
}
else
{
SERIAL.println("result======>");
SERIAL.print("temperature =");
SERIAL.println(temp);
SERIAL.print("humidity =");
SERIAL.println(hum);
SERIAL.println(" ");
SERIAL.println(" ");
SERIAL.println(" ");
}
delay(1000);
}
库文件可能会更新。此代码可能不适用于更新的库文件,因此我们建议您使用前两种方法。
-
步骤4. 上传演示程序。如果您不知道如何上传代码,请查看如何上传代码。
-
步骤5. 点击工具-> 串口监视器打开Arduino IDE的串口监视器。或同时按++ctrl+shift+m++键。将波特率设置为115200。
如果一切顺利,当您打开串口监视器时,可能会显示如下内容:
serial start!!
=>
temperature =24.10
humidity =51.09
result======>
temperature =24.10
humidity =50.96
result======>
temperature =24.10
humidity =51.04
result======>
temperature =24.11
humidity =51.09
与树莓派一起使用(使用Grove Base Hat for Raspberry Pi)
硬件
- 步骤1. 本项目中使用的物品:
| 树莓派 | Grove Base Hat for RasPi | Grove - SHT35传感器 |
|---|---|---|
![]() | ||
| 立即购买 | 立即购买 | 立即购买 |
- 步骤 2. 将 Grove Base Hat 插入 Raspberry Pi。
- 步骤 3. 将 Grove - I2C 高精度温湿度传感器(SHT35) 连接到 Base Hat 的 I2C 端口。
- 步骤 4. 通过 USB 线缆将 Raspberry Pi 连接到 PC。

软件
- 步骤 1. 按照 设置软件 配置开发环境。
- 步骤 2. 通过克隆 grove.py 库下载源文件。
cd ~
git clone https://github.com/Seeed-Studio/grove.py
- 步骤 3. 执行以下命令运行代码。
cd grove.py/grove
python grove_I2C_High_Accuracy_tem_hum_SHT35_sensor.py
以下是 grove_I2C_High_Accuracy_tem_hum_SHT35_sensor.py 代码。
import time
from grove.i2c import Bus
def CRC(data):
crc = 0xff
for s in data:
crc ^= s
for i in range(8):
if crc & 0x80:
crc <<= 1
crc ^= 0x131
else:
crc <<= 1
return crc
class GroveTemperatureHumiditySensorSHT3x(object):
def __init__(self, address=0x45, bus=None):
self.address = address
# I2C 总线
self.bus = Bus(bus)
def read(self):
# 高重复性,时钟拉伸禁用
self.bus.write_i2c_block_data(self.address, 0x24, [0x00])
# 测量持续时间 < 16 ms
time.sleep(0.016)
# 读取 6 字节数据
# 温度 MSB, 温度 LSB, 温度 CRC, 湿度 MSB, 湿度 LSB, 湿度 CRC
data = self.bus.read_i2c_block_data(0x45, 0x00, 6)
temperature = data[0] * 256 + data[1]
celsius = -45 + (175 * temperature / 65535.0)
humidity = 100 * (data[3] * 256 + data[4]) / 65535.0
if data[2] != CRC(data[:2]):
raise RuntimeError("temperature CRC mismatch")
if data[5] != CRC(data[3:5]):
raise RuntimeError("humidity CRC mismatch")
return celsius, humidity
def main():
sensor = GroveTemperatureHumiditySensorSHT3x()
while True:
temperature, humidity = sensor.read()
print('Temperature in Celsius is {:.2f} C'.format(temperature))
print('Relative Humidity is {:.2f} %'.format(humidity))
time.sleep(1)
if __name__ == "__main__":
main()
如果一切正常,您将能够看到以下结果
pi@raspberrypi:~/grove.py/grove $ python grove_I2C_High_Accuracy_tem_hum_SHT35_sensor.py
Temperature in Celsius is 20.47 C
Relative Humidity is 40.28 %
Temperature in Celsius is 20.47 C
Relative Humidity is 40.47 %
Temperature in Celsius is 20.47 C
Relative Humidity is 40.70 %
Temperature in Celsius is 20.43 C
Relative Humidity is 40.70 %
Temperature in Celsius is 20.41 C
Relative Humidity is 40.60 %
^CTraceback (most recent call last):
File "grove_I2C_High_Accuracy_tem_hum_SHT35_sensor.py", line 89, in <module>
main()
File "grove_I2C_High_Accuracy_tem_hum_SHT35_sensor.py", line 86, in main
time.sleep(1)
KeyboardInterrupt
您可以通过简单地按 ++ctrl+c++ 退出此程序。
原理图在线查看器
资源
-
[Zip] Seeed SHT35 库
-
[PDF] SHT3x-DIS 数据手册
项目
使用 Google Map 进行交通数据可视化:我们使用 Wio LTE cat.1 来监控交通 GPS 和其他信息。对于冷链,我们可以监控 GPS 位置以及温度和湿度。对于骑行,我们可以监控 GPS 位置以及心率。
技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。









