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软件准备
- 下载Arduino IDE: 点击下载Arduino IDE
- 下载 SEN0527 AHT20库文件:https://gitee.com/dfrobot/DFRobot_AHT20
- 下载Arduino库:DFRobot_AHT20库 关于如何安装库文件: 如何加载库文件
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();
更多资料下载
常见问题
还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!
修改历史
文档修改历史
文档版本号 | 修改时间 | 修改人 | 修改内容 |
---|---|---|---|
V1.0 | 2022.5.20 | 刘礼华 | 第一版发布。 |
产品修改历史
产品版本号 | 修改时间 | 修改人 | 产品修改内容 |
---|---|---|---|
V1.0 | 2022.5.20 | 刘礼华 | 第一版发布。 |
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。