ESP8266-Arduino编程实例-SHT20温湿度传感器驱动

SHT20温湿度传感器驱动

1、SHT20介绍

SHT2x 系列由带有 SHT20 湿度传感器的低成本版本组成。 SHT2x 以数字 I2C 格式提供校准的线性化传感器信号。 SHT2x 湿度传感器系列包含一个电容式湿度传感器、一个带隙温度传感器以及专用的模拟和数字集成电路——所有这些都在一个 CMOSens® 芯片上。 这在精度和稳定性以及最低功耗方面产生了卓越的传感器性能。

在这里插入图片描述

每个传感器都经过单独校准和测试。 此外,SHT2x 湿度传感器的分辨率可根据命令更改(RH/T 为 8/12 位至 12/14 位),校验和有助于提高通信可靠性。

2、硬件准备

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

硬件接线如下:

传感器引脚 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
#include <Wire.h>
#include "DFRobot\_SHT20.h"

DFRobot_SHT20 sht20;

void setup()
{
Serial.begin(9600);
Serial.println("SHT20 Example!");
sht20.initSHT20(); // Init SHT20 Sensor
delay(100);
sht20.checkSHT20(); // Check SHT20 Sensor
}

void loop()
{
float humd = sht20.readHumidity(); // Read Humidity
float temp = sht20.readTemperature(); // Read Temperature
Serial.print("Time:");
Serial.print(millis());
Serial.print(" Temperature:");
Serial.print(temp, 1);
Serial.print("C");
Serial.print(" Humidity:");
Serial.print(humd, 1);
Serial.print("%");
Serial.println();
delay(1000);
}

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