物联网AI MicroPython传感器学习 之 AHT21B 温湿度传感器

学物联网,来万物简单IoT物联网!!在这里插入图片描述

一、产品简介

AHT21B是一款极具性价比的数字温度传感器,其基于AHT21开发的集成式温湿度传感器模块,模块内部配有一个全新设计的ASIC专用芯片、一个经过改进的MEMS半导体电容式湿度传感单元以及一个标准的片上温度传感单元;输出接口为标准的I2C通信格式,具有响应速度快、精度高、稳定性高等特点,性能达到国际水平,是国产替代进口的理想选择。
应用领域:广泛应用于消费、电子、医疗、汽车、工业、气象等领域,包括暖通空调、除湿器、冰箱等家电产品。
物联网AI MicroPython传感器学习 之 AHT21B 温湿度传感器_第1张图片
引脚定义

  • 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传感器购买链接

你可能感兴趣的:(物联网传感器,物联网,人工智能,学习,嵌入式硬件,python)