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

AM2320温度湿度传感器驱动

1、AM2320介绍

温湿度复合传感器 AM2320数字温湿度传感器是一个经过校准的数字信号输出。 采用特殊的温湿度采集技术,确保产品具有极高的可靠性和优异的长期稳定性。 传感器由一个电容式湿度元件和一个集成的高精度温度测量装置组成,并与一个高性能微处理器相连。

在这里插入图片描述

AM2320采用单总线通讯,标准I2C两种通讯方式。 标准单总线接口,系统集成变得简单快捷。 超小尺寸、低功耗、信号传输距离可达20米,使得各种应用乃至最苛刻的应用成为最佳选择。 I2C通讯采用标准通讯顺序,用户无需额外接线即可直接挂接到I2C通讯总线上,使用简单。 两种通讯方式直接用作湿度、温度等数字信息 CRC校验和温度补偿输出,用户无需计算二次数字输出,也无需对湿度进行温度补偿,可准确获取温湿度信息 . 两种通讯方式可自由切换,用户可自由选择,使用方便,应用范围广。

  • 工作电压:3.1 VDC 至 5.5 VDC
  • 工作温度范围:-40°C 至 +80°C
  • 湿度范围:0 至 99.9% RH
  • 准确度(25°C 环境)
    • 温度:±0.5°C
    • 湿度:±3%
  • 相对湿度(10 … 90% 相对湿度)
    • 分辨率:温度:0.1°C
    • 分辨率:湿度:0.1% RH
  • 衰减值
    • 温度:<0.1℃/年
    • 湿度:<1% RH / 年
  • 响应时间:温度:5s
  • 响应时间:湿度:5s 1 / e (63%)
  • 输出信号:单总线/IIC信号
  • 外壳材料:PC 塑料

AM2320的引脚如下:

在这里插入图片描述

2、硬件准备

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

硬件接线如下:

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

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

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

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

4、代码实现

本次实例使用AM2320的驱动库如下:

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
#include <Wire.h>
#include <AM2320.h>

AM2320 th;

void setup() {
Serial.begin(9600);
Wire.begin();
}

void loop() {
Serial.println("Chip = AM2320");
switch(th.Read()) {
case 2:
Serial.println(" CRC failed");
break;
case 1:
Serial.println(" Sensor offline");
break;
case 0:
Serial.print(" Humidity = ");
Serial.print(th.Humidity);
Serial.println("%");
Serial.print(" Temperature = ");
Serial.print(th.cTemp);
Serial.println("\*C");
Serial.println();
break;
}
delay(2000);
}

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