[评测分享]
【Silicon Labs EFR32xG24 开发套件】-6-驱动温湿度传感器
#板卡评测
1748 人阅读
|
0 人回复
|
2022-12-06
TA的每日心情 | 奋斗 2024-6-21 17:19 |
|---|
签到天数: 358 天 连续签到: 1 天 [LV.8]以坛为家I
翰林
- 积分
- 19472
|
本帖最后由 SensorYoung 于 2022-12-6 15:29 编辑
EFR32xG24开发板上传感器资源丰富,除了上篇文章中介绍的VEML6035环境光传感器,本文我将继续探索板卡自带的温湿度传感器Si7021.从板卡的用户手册可以看到具体的型号是:Si7021-A20。其上一代产品是A10,Si7021-A10是芯科科技推出的一款低功耗的温湿度传感器,它采用了Silicon Labs的第二代RH感测解决方案,温度测量范围从-40~+125℃,精度高达±0.4℃;相对湿度可以从0~80%RH进行准确测量。
与之前的A10版本相比,Si7021-A20器件是硅金属版本(silicon metal revisions),完全引脚兼容,并且与之前的A10版本软件兼容。 对于Si7021器件,用户寄存器写入后的电源电流从20μA(典型值)降至0.06μA(典型值)的正常待机电流。 更高的测试覆盖率可降低潜在的缺陷率并提高制造产量。 对可靠性没有影响。
与VEML6035环境光传感器一样,这个温湿度传感器也是通过I2C总线挂载到同一个总线上,这也充分利用了I2C总线的特性,只要每个器件的地址唯一,可以大大简化硬件电路设计。
下面打开SSV5,添加Si7021相关的驱动并自动生成代码。首先双击slcp文件,然后在Board Control下面使能温湿度传感器。
然后安装传感器驱动库:
然后点击官方文档链接,熟悉相关API接口。
编写主要代码,其实官方已经贴出了相关的参考代码:
- #include "sl_i2cspm_instances.h"
- #include "sl_si70xx.h"
- int main( void )
- {
- ...
- int32_t temp_data;
- uint32_t rh_data;
- sl_si70xx_init(sl_i2cspm_sensor, SI7021_ADDR);
- sl_si70xx_measure_rh_and_temp(sl_i2cspm_sensor, SI7021_ADDR, &rh_data, &temp_data);
- ...
- }
复制代码
编译下载:
串口输出结果:
其中需要注意的是:温度 需要除以1000换算成摄氏度,湿度需要除以1000才是百分比。
修改后的串口显示结果:
SSV5强大的图形化配置功能,SiliconLabs完善的开发文档使得传感器的获取变得非常简便!
|
|
|
|
|
|
|
|
|