产品介绍
由产品介绍可知,AHT10用的是IIC协议,因此可以直接用IIC协议接口模块。
传感器性能
由上图可得,温湿度分辨率为0.01、0.024。误差典型值分别为正负0.3、正负2。
测量间隔
由图可知,AHT10每2s测量一次数据。
数据传输因为用的是IIC协议,因此可以直接查看IIC协议
操作流程:
基本命令
初始化命令为0xE1,触发测量为AC,软复位为BA
状态位说明
在初始化完成后判断bit[3],在转换命令发送后判断bit[7]。
设备地址
读写位为0的时候表示写,为1的时候表示读。
初始化操作
启动:
启动时需等待20ms
初始化
发送初始化命令,初始化命令组成为:发送地址、发送初始化命令。
读取操作
判断是否初始化
这里有两种操作方式,第一种是一直读取(0x71),看是否初始化完成,第二种是等40ms后再进行读取,看是否初始化完成,如未完成初始化操作,即需要发送初始化命令,此命令有两个小弟即0x08和0x00,然后等待20ms后再次判断 ,初始化完成后进入触发测量。
触发测量
在这里发送触发测量命令(0XAC),此参数有两个小弟、0x33和0x00,具体图如下,然后进入触发等待:
触发等待:
在这里由两种操作方式,第一种是一直判断bit[7]看它是否为1,或者等待一段时间后再判断,如bit[7]已经为1,则进入读取温度。
读取温度
温度读取如上图,发送读取命令(0X71)后,后续会有6个 字节的数据,其中第一个字节为当前状态,第二个、第三个和第四个前四位为湿度数据,可单独分开。第四个后四位、第五个、第六个为温度数据,这里可以用一个计数器来进行计数,表示已经读取到哪里了,想要得到正确的数据,还需将数据进行转换为bcd码,转换公式如下。
数据处理操作
首先让温度数据乘以2000(这里是为了后面数据好操作),再右移12位后减500。
然后再让湿度数据乘以1000,再右移12位。即得到了温度和湿度的数据。