微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 7.温湿度传感器SHT20的使用

7.温湿度传感器SHT20的使用

时间:10-02 整理:3721RD 点击:


SHT20是一种支持IIC协议的数字温湿度传感器。


能测量的温度范围是-20~100度,湿度范围是5%~90%

既然它是一个IIC协议期间,那么肯定符合IIC协议。


IIC协议中,SHT20的设备地址是0x40,这里的保持主机代表着在测量时候,传感器会占用IIC总线,不能进行其他通信。


用户寄存器包括分辨率设置和其他参数的设置。


而我们获得的数据还要根据相应的公式计算,得到真实的温湿度。

接下来我们看看Demo~


先是给定了相关寄存器的地址~



软复位和读寄存器这种操作大家都已经熟悉了。



温湿度的计算则是按照手册上的公式进行计算的。


看看我们的温湿度获取函数,其实就是两个数据的获取,其他的读写用户寄存器我注释掉了依然能得到结果。


其实我们的还是一个标准的IIC读取,先发生设备写地址,再发送读取命令。

再发送设备读地址,再连续接收2字节数据,再接收CRC校验和。


随后线进行CRC校验,再进行最后的数据计算,就得到了我们想要的结果了~


至于CRC校验和这个大家不必去深究。


室内数据。


没吃早饭的我的手指温度居然只比室温高一点~

其实温湿度的程序大家懂了在后面直接调用就行了,祝大家玩的愉快~


感谢分享!最近在搞这个传感器,一直读不出正确读数,借鉴下你的方法。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top