ESP32驱动AHT20温湿度传感器源代码

一、总体结构

        使用ESP-IDF编译软件,ESP32S3,AHT20探测温湿度,结果输出在屏幕monitor上。

        主机ESP32S3使用硬件I2C器件,任意两只引脚做SCL和SDA,3.3V供电给AHT20即可。PDD买的这个模块自带上拉电阻,不用操心硬件布局,直接连单片机引脚即可。

        之前我做过DHT11的,但DHT11精度和分辨率都跟AHT20没得比。DHT11的半双工传输需要软件模拟,占用cpu。

二、AHT20芯片手册解读

        I2C协议我就不讲了,讲讲这个芯片如何操作。这个芯片手册很简单,只有3种命令,分别是初始化、触发测量和软重启命令,读数不是命令,读数里面包含一个状态字节用来记录芯片的状态供主机查看。

        

        红框表示写命令,是主机向从机的写操作,控制AHT20执行一些操作,发送的从机地址后尾要跟一个0表示写命令操作。比如让从机执行初始化命令,主机发送的信息就是0x70(从机地址,写操作)+0xBE+0x08+0x00共4个字节,然后SDA线从低拉高,通讯结束。主机全程写操作。(0x38<<1)&0x00=0x70。

        蓝框表示读温湿度数据。当我们要想读温湿度数据时,要分两步操作,先写“触发测量”的指令,再读温湿度数据。第一步:主机启动总线、主机写0x70(从机地址+写操作位)、向从机写0xAC、0x33、0x00三个字节的命令,触发测量,拉高SDA,通讯结束,全程写操作。过80ms后,第二步:主机启动总线、主机写0x71(从机地址

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值