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硬件准备
- DFRduino UNO主板 x1
- SEN0528 Gravity: AHT20温湿度传感器 x1
- 杜邦线 若干
7.1.2软件准备
- Arduino IDE 点击下载Arduino IDE
- 首先下载并安装DFRobot_AHT20库 关于如何安装库文件: 如何加载库文件
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();
更多资料下载
常见问题
还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。
修改历史
文档修改历史
文档版本号 | 修改时间 | 修改人 | 修改内容 |
---|---|---|---|
V1.0 | 2022.5.20 | 刘礼华 | 第一版发布。 |
产品修改历史
产品版本号 | 修改时间 | 修改人 | 产品修改内容 |
---|---|---|---|
V1.0 | 2022.5.20 | 刘礼华 | 第一版发布。 |