AHT20温湿度传感器

1.产品简介

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

2.产品特性

  • 数字输出,I2C接口
  • 优异的长期稳定性
  • 响应迅速、抗干扰能力强

3.应用场景

  • 暖通空调
  • 除湿器
  • 测试及检测设备
  • 消费品家电
  • 汽车
  • 自动控制
  • 数据记录器
  • 气象站

4.引脚排列图

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

5.规格参数

5.1 模块参数

  • 产品名称:Fermion: AHT20温湿度传感器
  • 工作电压: DC2V-5V
  • 输出信号: I2C
  • I2C地址: 0x38
  • 产品尺寸:30mm*20.5mm

5.2 AHT20芯片参数

相对湿度参数

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

温度参数

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

6.尺寸图

尺寸图

7.使用教程

7.1硬件准备

  • Arduino UNO主板 (SKU:DFR0216)x1

  • SEN0527 Fermion: AHT20温湿度传感器 (SKU:SEN0527) x1

  • 杜邦线 若干

7.2软件准备

7.3硬件连接

连线图

UNO主板:3V3--连接--AHT20:VCC
UNO主板:GND--连接--AHT20:GND
UNO主板:SCL--连接--AHT20:SCL
UNO主板:SDA--连接--AHT20:SDA

7.4演示代码

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

#include "DFRobot_AHT20.h"

DFRobot_AHT20 aht20;

void setup(){
  Serial.begin(115200);
  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(/* crcEn = */true)){
    Serial.print(aht20.getTemperature_C());
    Serial.print(" C, ");
    // Get temp in Fahrenheit (F)
    Serial.print(aht20.getTemperature_F());
    Serial.print(" F\t");
    Serial.print(aht20.getHumidity_RH());
    Serial.println(" %RH");
    delay(5000);
  }
}

结果

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

8.API函数

 /**
   * @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();

更多资料下载

SEN0527_2D尺寸图_PDF.pdf

SEN0527_2D尺寸图_CAD.rar

SEN0527_3DSTP.rar

SEN0527-电路图SCH.pdf

SEN0527-AHT20芯片手册.pdf

常见问题

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

修改历史

文档修改历史

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

产品修改历史

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

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

DFshopping_car1.png DFRobot商城购买链接