AHT20温湿度传感器

AHT20温湿度传感器

前言

AHT20它采用了双列扁平无焊引脚SMD的封装形式,具有体积小精度高,成本低的特点,并且支持I2C接口

实验目的

通过python编程实现AHT20温湿度模块读取到的数据变成为可视化

实验讲解

市面上大多AHT20模块都通用,使用I2C总线通讯,下图是一款AHT20传感器模块


模块参数
供电电压 3.3V
测量范围 湿度:0-101% RH ,温度:-40℃~125℃
通信方式 I2C总线(默认地址:0x38)
引脚说明 VCC : 接3.3V GND : 接地
引脚说明 SDA : I2C数据引脚 ,SCL : I2C时钟引脚

从上面介绍可以看到AHT20是一款通过I2C接口驱动的传感器。我们通过核桃派I2C接口编程,即可以对该模块实现数据通讯。

本例程使用核桃派的I2C1来连接AHT20C传感器:

mlx90614_2-e0497a00135f78f6be31debb9bb6864d

AHT20对象

在CircuitPython中可以直接使用写好的Python库来获取AHT20传感器数据。具体介绍如下:

构造函数

aht = adafruit_ahtx0.AHTx0(i2c, 0x38)

构建AHT20对象

参数说明:

  • i2c 需要构建i2c对象,参考: I2C对象;这里不再重复。

使用方法

elative_humidity

读取相对湿度,单位%(百分比)

temperature

读取环境温度,单位℃ (摄氏度)

理解了AHT20传感器原理和对象使用方法后,我们可以整理出编程思路,流程如下 :

导入相关模块
arrow_down
构建AHT20对象
arrow_down
获取环境温度值/物体温度值并打印

参考代码

'''

实验平台:AHT20温湿度传感器
实验平台:核桃派1B

'''


import time, board, busio, adafruit_ahtx0


#构建I2C模块,使用核桃派I2C1控制
i2c = busio.I2C(board.SCL1, board.SDA1)


#构建AHT20对象
aht = adafruit_ahtx0.AHTx0(i2c, 0x38)

while True:
    print ( "\n温度:%0.1f C" % aht.temperature) # 测量环境温度
    print ( "湿度:%0.1f %%" % aht.relative_humidity) # 测量环境湿度
    time.sleep( 1 )

实验结果

将AHT20传感器按下图连接到核桃派1B,SDA1连接到模块SDA引脚,SCL1连接到模块SCL引脚:

最后将整个例程文件夹上传到核桃派即可这里不过多介绍。
关于在核桃派运行python代码方法请参考: 运行Python代码

运行成功后可以看到终端打印出环境温湿度信息:

1 Like