AHT20温湿度传感器

1. 产品简介

AHT20是一款MEMS半导体高精度低成本温湿度传感器。采用I2C接口,2V-5V宽电压工作范围。其稳定的性能及简洁的外围电路,使其能在恶劣环境下也能保持稳定性的工作。
该传感器工作范围为-40~+85℃,能广泛用于家庭电子设备的环境温湿度检测、汽车温湿度检测等方面。

2. 产品特性

  • 数字输出、I2C 接口。
  • 优异的长期稳定性。
  • 响应迅速、抗干扰能力强,环境适应能力强 。
  • Gravity接口、连线简单、无需焊接。

3. 应用场景

  • 测试设备
  • 自动控制
  • 数据记录器
  • 温度调节

4. 规格参数

4.1 模块参数

  • 产品名称:Gravity: AHT20温湿度传感器
  • 工作电压: DC2V-5V
  • 工作电流: 0.27mA(3.3V工作条件下)
  • 通信协议: I2C
  • I2C地址: 0x38
  • 产品尺寸:2mm*2.2mm

4.2 AHT20芯片参数

4.2.1相对湿度参数

  • 分辨率:0.024 %RH
  • 精度误差:±2 %RH
  • 重复性:±0.1 %RH
  • 迟滞:±1 %RH
  • 非线性:±0.1 %RH
  • 响应时间:8S
  • 工作范围:0~100 %RH
  • 长时间漂移:<0.5 %RH/yr

4.2.2温度参数

  • 分辨率:0.01℃
  • 精度误差:±0.3℃
  • 重复性:±0.1℃
  • 迟滞:±0.1℃
  • 响应时间:最小5S,最大30S
  • 工作范围:-40℃~85℃
  • 长时间漂移:<0.04℃/yr

5.尺寸图

6.引脚说明

引脚 功能 说明
+ 电源正极 供电范围:DC 2V~5V
- 电源负极 --
SCL I2C时钟线 --
SDA I2C数据线 --

7.使用教程

7.1 AHT20温湿度传感器读取实验

7.1.1硬件准备

7.1.2软件准备

7.1.3 硬件连接

UNO主板:3V3--连接--AHT20:+

UNO主板:GND--连接--AHT20:-

UNO主板:SCL--连接--AHT20:C

UNO主板:SDA--连接--AHT20:D

7.1.4 演示代码

以下程序将读取AHT20温湿度传感器的测量值,并通过串口打印出来:

    #include "DFRobot_AHT20.h"
    DFRobot_AHT20 aht20;
    void setup(){
      Serial.begin(115200);
      while(!Serial){
      }
      uint8_t status;
      while((status = aht20.begin()) != 0){
        Serial.print("AHT20 sensor initialization failed. error status : ");
        Serial.println(status);
        delay(1000);
      }
    }
    void loop(){
      if(aht20.startMeasurementReady(true)){
        Serial.print("temperature(-40~85 C): ");
        Serial.print(aht20.getTemperature_C());
        Serial.print(" C, ");
        Serial.print(aht20.getTemperature_F());
        Serial.print(" F\t");
        Serial.print("humidity(0~100): ");
        Serial.print(aht20.getHumidity_RH());
        Serial.println(" %RH");
        delay(8000);
      }
    }

7.1.5 实验过程

结果如下图所示,在打印窗口显示出了摄氏度、华氏度、以及湿度值:

8.库函数定义

  /**
   * @fn DFRobot_AHT20
   * @brief DFRobot_AHT20构造函数
   * @param wire TwoWire类对象引用
   * @return NONE
   */
  DFRobot_AHT20(TwoWire &wire = Wire);
  /**
   * @fn begin
   * @brief AHT20传感器初始化
   * @return 初始化状态值
   * @retval  0    初始化成功
   * @retval  1    _pWire为NULL,请检查构造DFRobot_AHT20是否正确传入了一个TwoWire类对象引用
   * @retval  2    设备未找到,请检查连线是否正确
   * @retval  3    传感器初始化失败,请检查传感器是否有问题,可调用reset函数,还原传感器后,再重新初始化
   */
  uint8_t begin();
  /**
   * @fn reset
   * @brief 传感器软复位,将传感器恢复到初始状态。
   * @return NONE
   */
  void reset();
  /**
   * @fn startMeasurementReady
   * @brief 启动测量,并判断测量数据是否完成。
   * @param crcEn 测量时是否使能校验检测
   * @n     false  不带校验检测测量(默认)
   * @n     true   带校验检测测量
   * @return 测量数据是否完成
   * @retval true  此次测量完成,可调用get*等相关函数,获取测量的数据
   * @retval false 此次测量失败,如果此时调用get*等相关函数,获取的数据是上一次测量的数据,或初始值0
   */
  bool startMeasurementReady(bool crcEn = false);
  /**
   * @fn getTemperature_F
   * @brief 获取环境温度,单位:华摄氏度(F)。
   * @return 华摄氏度温度
   * @note  AHT20不可直接获取华摄氏度温度,这里的华摄氏度温度是根据算法计算出来的: F = C x 1.8 + 32
   * @n 用户调用此函数,必须先调用一次startMeasurementReady函数,来启动测量,才能获取到实时的测量数据,
   * @n 否则将获取到初始数据或上一次测量数据
   */
  float getTemperature_F();
  /**
   * @fn getTemperature_C
   * @brief 获取环境温度,单位:摄氏度(℃)。
   * @return 摄氏度温度,范围-40 ~ 85℃为正常数据,否则为错误数据
   * @note 用户调用此函数,必须先调用一次startMeasurementReady函数,来启动测量,才能获取到实时的测量数据,
   * @n 否则将获取到初始数据或上一次测量数据
   */
  float getTemperature_C();
  /**
   * @fn getHumidity_RH
   * @brief 获取环境相对湿度,单位:%RH。
   * @return 相对湿度,范围0~100
   * @note 用户调用此函数,必须先调用一次startMeasurementReady函数,来启动测量,才能获取到实时的测量数据,
   * @n 否则将获取到初始数据或上一次测量数据
   */
  float getHumidity_RH();

更多资料下载

SEN0528产品尺寸图

SEN0528-电路图.PDF

SEN0528_2D_尺寸图.pdf

SEN0528_2D-CAD_尺寸图.rar

SEN0528_3D_STP.rar

SEN0528-AHT20芯片手册.pdf

常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。

修改历史

文档修改历史

文档版本号 修改时间 修改人 修改内容
V1.0 2022.5.20 刘礼华 第一版发布。

产品修改历史

产品版本号 修改时间 修改人 产品修改内容
V1.0 2022.5.20 刘礼华 第一版发布。

DFshopping_car1.png DFRobot商城购买链接