学物联网,来万物简单IoT物联网!!
一、产品简介
AHT21B是一款极具性价比的数字温度传感器,其基于AHT21开发的集成式温湿度传感器模块,模块内部配有一个全新设计的ASIC专用芯片、一个经过改进的MEMS半导体电容式湿度传感单元以及一个标准的片上温度传感单元;输出接口为标准的I2C通信格式,具有响应速度快、精度高、稳定性高等特点,性能达到国际水平,是国产替代进口的理想选择。
 应用领域:广泛应用于消费、电子、医疗、汽车、工业、气象等领域,包括暖通空调、除湿器、冰箱等家电产品。
 
 引脚定义
- VCC:3.3V
 - SDA:数据线
 - GND:接地
 - SCL:时钟线
 
二、技术参数
- 供电电压:2.2V-5.5V
 - 接口:标准I2C
 - 精度范围:正负0.5°C(在工作温度25°C)
 - 温度测量范围:-40°C ~ 80°C
 - 温度分辨率:0.01°C
 - 湿度测量范围:0%RH ~ 100%RH
 - 湿度分辨率:0.024%RH
 - 尺寸:12mm_12mm_1.8mm
 
三、软件接口
AHT21B(i2cObj) - 创建AHT21B驱动对象
- 函数原型:
 
aht21bObj = AHT21B(i2cObj)
- 参数说明:
 
| 参数 | 类型 | 必选参数? | 说明 | 
|---|---|---|---|
| i2cObj | I2C | 是 | 传入i2c对象 | 
- 返回值:
AHT21B对象成功,返回AHT21B对象;AHT21B对象创建失败,抛出Exception - 示例代码:
 
from machine import I2C,Pin         # 驱动库
import aht21b                       # AHT21B加速度计传感器驱动库
# 初始化I2C类型的设备
i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
print("AHT21B inited!")
aht21bObj = aht21b.AHT21B(i2cObj)    # 初始化AHT21B传感器对象
 
- 输出:
 
AHT21B inited!
 
getTemperature - 测量温度
- 函数功能:
量测空气温度并返回测量结果 - 函数原型:
 
AHT21B.getTemperature()
- 参数说明:
无 - 返回值:
成功返回温度测量结果(数据类型:浮点型;单位:摄氏度);失败抛出Exception - 示例:
 
from machine import I2C,Pin         # 驱动库
import aht21b                       # AHT21B加速度计传感器驱动库
import utime
# 初始化I2C类型的设备
i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
print("AHT21B inited!")
aht21bObj = aht21b.AHT21B(i2cObj)    # 初始化AHT21B传感器对象
while True:
    utime.sleep(1)
    readtemp = aht21bObj.getTemperature()
    print("temperature is ", readtemp, "°C")
 
- 输出:
 
AHT21B inited!
temperature is 25.3°C
temperature is 26.1°C
temperature is 25.7°C
 
getHumidity - 测量湿度
- 函数功能:
量测空气湿度并返回测量结果 - 函数原型:
 
AHT21B.getHumidity()
- 参数说明:
无 - 返回值:
成功返回湿度测量结果(数据类型:浮点型;单位:%RH);失败抛出Exception - 示例:
 
from machine import I2C,Pin         # 驱动库
import aht21b                       # AHT21B加速度计传感器驱动库
import utime
# 初始化I2C类型的设备
i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
print("AHT21B inited!")
aht21bObj = aht21b.AHT21B(i2cObj)    # 初始化AHT21B传感器对象
while True:
    utime.sleep(1)
    readhum = aht21bObj.getHumidity()
    print("humidity is ", readhum, "%RH")
 
- 输出:
 
AHT21B inited!
humidity is 65.3%RH
humidity is 78.1%RH
humidity is 69.7%RH
 
getTempHumidity - 测量温湿度
- 函数功能:
量测空气温湿度并返回测量结果 - 函数原型:
 
AHT21B.getTempHumidity()
- 参数说明:
无 - 返回值:
成功返回温湿度测量结果(数据类型:浮点型;单位:摄氏度-%RH);失败抛出Exception - 示例:
 
from machine import I2C,Pin         # 驱动库
import aht21b                       # AHT21B加速度计传感器驱动库
import utime
# 初始化I2C类型的设备
i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
print("AHT21B inited!")
aht21bObj = aht21b.AHT21B(i2cObj)    # 初始化AHT21B传感器对象
while True:
    utime.sleep(1)
    readtemp,readhum = aht21bObj.getTempHumidity()
    print("TempHumidity is ", readhum, "%RH",readtemp, " °C")
 
- 输出:
 
AHT21B inited!
TempHumidity is 65.3%RH 26.3°C
TempHumidity is 78.1%RH 25.6°C
TempHumidity is 69.7%RH 26.2°C
 
四、接口案例
# Python代码
from machine import I2C,Pin         # 驱动库
import aht21b                       # AHT21B加速度计传感器驱动库
import utime
# 初始化I2C类型的设备
i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
print("AHT21B inited!")
aht21bObj = aht21b.AHT21B(i2cObj)    # 初始化AHT21B传感器对象
while True:
    utime.sleep(1)
    readtemp,readhum = aht21bObj.getTempHumidity()
    print("TempHumidity is ", readhum, "%RH",readtemp, " °C")
 
- 输出:
 
AHT21B inited!
TempHumidity is 65.3%RH 26.3°C
TempHumidity is 78.1%RH 25.6°C
TempHumidity is 69.7%RH 26.2°C
 
五、工作原理
参考文献及购买链接
[1] AHT21温度传感器中文数据手册参考
 [2] AHT21传感器购买链接









![2023年中国背光模组产业链、竞争格局及行业市场规模分析[图]](https://img-blog.csdnimg.cn/img_convert/e586f28f0ee61895e0ed2ee40d7f2c4e.png)









