FPC-SHT30¶
|
|
简介¶
SHT30 是一款由 Sensirion 公司生产的高精度数字温湿度传感器,它基于先进的 CMOSens® 技术, 能够提供完全校准、线性化和温度补偿的数字输出。以下是 SHT30 的一些关键特性和参数:
高精度测量: SHT30 能够提供 ±2% 的相对湿度测量精度和 ±0.3°C 的温度测量精度。
宽电压范围: SHT30 的工作电压范围为 2.15V 至 5.5V ,这使得它能够适应多种不同的电源环境。
快速响应: SHT30 的 I2C 通讯频率可达 1MHz ,使得数据传输更加迅速。
小尺寸封装: SHT30 采用 DFN 封装,占地面积仅为 2.5 × 2.5 mm² ,高度为 0.9 mm ,便于集成到各种应用中。
测量范围:温度测量范围为 -40 至 125°C ,湿度测量范围为 0 至 100%RH。
低功耗: SHT30 的工作电流小于 1.5 mA ,适合电池供电的应用场景。
可靠性和稳定性: SHT30 以其高可靠性和稳定性而闻名,广泛应用于环境监测、气象观测、农业、建筑等领域。
完全校准: SHT30 在出厂前经过完全校准,确保了测量数据的准确性。
SHT30 的这些特性使其成为物联网(IoT)设备和环境监测系统中的理想选择,能够提供精确的温度和湿度测量值。
产品参数¶
工作电压:2.15~5.5V
工作电流:<1.5mA
湿度测量精度:±2%RH
湿度测量范围:0-100%RH
温度测量精度:±0.2℃@0~60℃
温度测量范围:-40 to 125℃
通信接口:FPC 0.5mm-6Pin I2C
外形尺寸:30mm(W) * 3.6mm(H)
FPC焊盘尺寸:0.3mm(W) * 4mm(H)
FPC焊盘间距:0.5mm
引脚说明¶

标号 |
名称 |
功能描述 |
1 |
GND |
电源负极 |
2 |
SDA |
数据线 |
3 |
SCL |
时钟线 |
4 |
NC |
未使用 |
5 |
GND |
电源负极 |
6 |
VCC |
电源正极 |
使用教程¶
arduino¶
准备¶
硬件
软件
您可以使用 Arduino 库管理器安装此库:启动 Arduino IDE,然后通过以下方式打开库管理器:
Sketch➔Include Library➔Manage Libraries...在
Filter your search...字段中搜索Sensirion I2C SHT3X库,然后点击install按钮进行安装。
接线图¶
样例代码1 - 单次测量温湿度模式¶
单次测量模式:控制板发送一次采集命令,传感器就去采集一次数据。
此模式可以根据需要去读取数据,功耗较低。
1#include <Arduino.h>
2#include <SensirionI2cSht3x.h>
3#include <Wire.h>
4
5SensirionI2cSht3x sensor;
6
7static char errorMessage[64];
8static int16_t error;
9
10void setup() {
11
12 Serial.begin(115200);
13 while (!Serial) {
14 delay(100);
15 }
16 Wire.begin();
17 sensor.begin(Wire, SHT30_I2C_ADDR_44);
18
19 sensor.stopMeasurement();
20 delay(1);
21 sensor.softReset();
22 delay(100);
23 uint16_t aStatusRegister = 0u;
24 error = sensor.readStatusRegister(aStatusRegister);
25 if (error != NO_ERROR) {
26 Serial.print("Error trying to execute readStatusRegister(): ");
27 errorToString(error, errorMessage, sizeof errorMessage);
28 Serial.println(errorMessage);
29 return;
30 }
31 Serial.print("aStatusRegister: ");
32 Serial.print(aStatusRegister);
33 Serial.println();
34}
35
36void loop() {
37
38 float aTemperature = 0.0;
39 float aHumidity = 0.0;
40 error = sensor.measureSingleShot(REPEATABILITY_MEDIUM, false, aTemperature,
41 aHumidity);
42 if (error != NO_ERROR) {
43 Serial.print("Error trying to execute measureSingleShot(): ");
44 errorToString(error, errorMessage, sizeof errorMessage);
45 Serial.println(errorMessage);
46 return;
47 }
48 Serial.print("aTemperature: ");
49 Serial.print(aTemperature);
50 Serial.print("\t");
51 Serial.print("aHumidity: ");
52 Serial.print(aHumidity);
53 Serial.println();
54}
结果 串口打印出获取到的温湿度数据
样例代码2 - 周期测量温湿度模式¶
周期测量模式:传感器按照设定采集频率自动去采集数据。
1#include <Arduino.h>
2#include <SensirionI2cSht3x.h>
3#include <Wire.h>
4
5SensirionI2cSht3x sensor;
6
7static char errorMessage[64];
8static int16_t error;
9
10void setup() {
11
12 Serial.begin(115200);
13 while (!Serial) {
14 delay(100);
15 }
16 Wire.begin();
17 sensor.begin(Wire, SHT30_I2C_ADDR_44);
18
19 sensor.stopMeasurement();
20 delay(1);
21 sensor.softReset();
22 delay(100);
23 uint16_t aStatusRegister = 0u;
24 error = sensor.readStatusRegister(aStatusRegister);
25 if (error != NO_ERROR) {
26 Serial.print("Error trying to execute readStatusRegister(): ");
27 errorToString(error, errorMessage, sizeof errorMessage);
28 Serial.println(errorMessage);
29 return;
30 }
31 Serial.print("aStatusRegister: ");
32 Serial.print(aStatusRegister);
33 Serial.println();
34}
35
36void loop() {
37
38 float aTemperature = 0.0;
39 float aHumidity = 0.0;
40 error = sensor.measureSingleShot(REPEATABILITY_MEDIUM, false, aTemperature,
41 aHumidity);
42 if (error != NO_ERROR) {
43 Serial.print("Error trying to execute measureSingleShot(): ");
44 errorToString(error, errorMessage, sizeof errorMessage);
45 Serial.println(errorMessage);
46 return;
47 }
48 Serial.print("aTemperature: ");
49 Serial.print(aTemperature);
50 Serial.print("\t");
51 Serial.print("aHumidity: ");
52 Serial.print(aHumidity);
53 Serial.println();
54}
结果
串口前10S打印周期测量模式下获取的温湿度数据,10S后退出周期测量模式,进入单次测量模式,打印单次测量模式下获取的温湿度数据。
常见问题¶
还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!

