AS6221-EK 温度传感器测评
分享作者:F888
评测品牌:艾迈斯欧司朗
评测型号:AS6221-EK
发布时间:2025-01-06 10:37:40
22 0
前言
开源口碑分享内容
一、介绍
艾迈斯欧司朗AS6221属于我目前见到的精度最高的数字温度传感器之一(最小测量精度为0.0078125)。通过标准 I2C 接口输出,便于与各种嵌入式系统或主控设备进行连接。
特点总结
- 超高精度:温度测量最小测量精度为0.0078125°C。
- 数字化:直接输出数字信号,减少了模拟信号处理的复杂性。
- I2C 接口:标准 I2C 接口,便于与其他微控制器或物联网设备对接。
- 快速响应
- 低功耗
应用场景
- 健康温度监测:适用于健康设备、智能穿戴设备等,用于实时监测体温变化。
- 恒温环境监控:例如实验室、仓库、设备房等对温度要求严格的环境,能够持续监控和维持恒定温度。
- 物联网设备:集成于智能家居、环境监测系统中,实时反馈温度数据并进行自动调节。
二、AS6221-EK 评估板主要特点
1、地址更换方便
到手默认地址是0x48,可以自行选择跳线帽跳线位置选择地址,AS6221支持的地址为0x44~0x4B八个,在对于IIC接口本就不多的产品来说,如果出现地址冲突可以通过外围电路直接更换它不同的地址让他可以和其他设备挂载在同一IIC总线上。
2、自带阈值控制
该温度传感器自带阈值的寄存器,可以直接通过IIC通讯给芯片发送温度最大值和温度最小值,当温度不在该范围内芯片会控制alert引脚电平,这个时候我们可以把这个引脚和MCU的中断引脚相连,对于温度控制的系统来说极大的方便的代码的编写。
3、更多特点可以前往: AS6221数据手册
三、测评
本次温度读取测评采样ESP32 WROOM 32+Arduino,AS6221驱动代码主要参考github开源的代码: 驱动
1、主要代码
#include "AS6221.h"
#include "Wire.h"
AS6221 temp;
void setup() {
Wire.begin();
Wire.setPins(21, 22);
Serial.begin(9600);
as6221_config_t conf = {
.cr = AS6221_CONV_RATE4, // 转换速率位定义每单位时间执行的温度转换次数。设置采样率,值为4次/s(125ms、250ms、1s 和 4s)
.state = AS6221_STATE_ACTIVE, // 设置传感器的工作状态为 ACTIVE(即启用传感器进行测量)
.alert_mode = AS6221_ALERT_INTERRUPT, // 设置报警模式为 INTERRUPT(即传感器检测到特定条件时,通过中断机制通知主机)
.alert_polarity = AS6221_ALERT_ACTIVE_LOW, // 设置报警极性为 ACTIVE_LOW(即当温度超出设定阈值时,报警信号为低电平)
.cf = AS6221_CONSEC_FAULTS2 // 设置连续故障计数为 2(即当检测到连续 2 次故障时触发故障报警)
};
temp.init(AS6221_DEFAULT_ADDRESS, conf);
}
void loop() {
Serial.println(temp.getTemp(), 7);
delay(1000);
}
2、实验结果:
非常可以我们看看精度那是相当的大。
我们再来看看同一时间AHT20(右)和我们as2661(左)测量的的数据
这边可能有视觉原因我们的气温计显示的是25.5左右可以说我们那个经度还是非常可以的。
然后这边的话,我也把代码给移植到g001里面了,但是i2c部分的代码被我删掉了不然都写出来了,后面的人想测评没机会了,这边驱动我就先放出来放到附件那个Word文件里面。😜
全部评论

暂无评论

0/144