ESP8266-Arduino编程实例-SHTC1数字湿度传感器驱动

SHTC1数字湿度传感器驱动

1、SHTC1介绍

SHTC1 是一款数字湿度传感器,专为大容量消费电子应用而设计。这款湿度传感器经过严格设计,旨在克服传统的尺寸、功耗和性价比限制,以满足消费电子市场当前和未来的需求。

Sensirion 的 CMOSens® 技术在单芯片上提供完整的传感器系统,包括电容式湿度传感器、带隙温度传感器、模拟和数字信号处理、A/D 转换器、校准数据存储器和支持 I2C 的数字通信接口快速模式。超小型 2 × 2 × 0.75 mm3 DFN 封装使应用程序可以放置在最有限的空间内。该传感器涵盖 0 至 100 %RH 的湿度测量范围和 –30°C 至 100°C 的温度测量范围,典型精度为 ±3 %RH 和 ±0.3°C。

1.8 V 的工作电压和每次测量低于 1 µJ 的能量预算使 SHTC1 适用于以最低功率预算运行的移动或无线应用。凭借 Sensirion 湿度传感器经行业验证的质量和可靠性以及在大测量范围内的恒定精度,SHTC1 湿度传感器提供了前所未有的性价比。卷带式包装以及适用于标准 SMD 组装工艺的特性使 SHTC1 注定适用于大批量应用。

在这里插入图片描述

SHTC1具有如下特性:

  • 接口: I²C
  • 电源电压: 1.8 V
  • 功耗: 2µW(在低功耗模式下每秒读取 1 个读数)
  • 测量范围 (RH): 0 – 100% 相对湿度
  • 测量范围 (T) :-30 至 +100°C(-22 至 +212°F)
  • 响应时间 (RH): 8s (tau63%)

2、硬件准备

  • ESP8266 NodeMCU开发板一块
  • SHTC1传感器模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线如下:

传感器引脚 ESP8266开发板引脚
Vin 5v
Gnd Gnd
SCL D1
SDA D2

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:

ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:

4、代码实现

本次使用的驱动库如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <Wire.h>
#include "SHTSensor.h"
SHTSensor sht;
// To use a specific sensor instead of probing the bus use this command:
// SHTSensor sht(SHTSensor::SHT3X);
void setup() {
// put your setup code here, to run once:
Wire.begin();
Serial.begin(9600);
delay(1000); // let serial console settle
if (sht.init()) {
Serial.print("init(): success\n");
} else {
Serial.print("init(): failed\n");
}
sht.setAccuracy(SHTSensor::SHT_ACCURACY_MEDIUM); // only supported by SHT3x
}
void loop() {
// put your main code here, to run repeatedly:
if (sht.readSample()) {
Serial.print("SHT:\n");
Serial.print(" RH: ");
Serial.print(sht.getHumidity(), 2);
Serial.print("\n");
Serial.print(" T: ");
Serial.print(sht.getTemperature(), 2);
Serial.print("\n");
} else {
Serial.print("Error in readSample()\n");
}
delay(1000);
}

文章来源: https://iotsmart.blog.csdn.net/article/details/126813055