(SKU:TOY0054)Si7021 温湿度传感器
来自DFRobot Product Wiki
目录 |
概述
该模块集成了高品质Si7021温湿度传感器,应用了专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。同时其体积小巧、精度高,特别是拥有毫秒级测试转换时间(DHT系列需要约2s的转换时间),启动测量与读取数据间不需等待,方便了应用。
提供了可选焊接的2.54mm焊盘以及Gadgeteer标准接口,在Arduino、Gadgeteer平台均可用。
技术规格
- 工作电压: 1.9-3.6V (推荐3.3V)
- 待机电流:60nA
- 温度范围:-40 - 85℃ (推荐 -10 - 60℃)
- 温度精度:±0.4℃ (-10 - 85℃)
- 湿度范围:0-100%RH (推荐20% - 80%RH)
- 湿度精度:±3%RH (0-80%RH)
- 温度转换时间:7ms
- 湿度转换时间:17ms (进行湿度转换时将自动进行温度转换)
- 接口类型:I2C,Gadgeteer接口和2.54mm间距焊盘
- 模块尺寸:32X32mm
- 安装孔:直径3.2mm,间距25mm
引脚说明
2.54mm间距焊盘接口(可自行焊接):
- SDA I2C数据端口
- SCL I2C时钟端口
- GND 电源地
- 3.3V 电源正
Gadgeteer插座:两组I接口
应用范围
- 环境调节器
- 室内气象站
- 汽车除雾控制
使用教程
下面我们以一个简单的实验为例程,来告诉大家如何简单方便的使用我们的这一款温湿度传感器的芯片。
a) 目标:检测室内温湿度并通过串口显示
b) 硬件清单
- DF_UNO 1
- 本模块 1
c) 软件清单
d) 连线图
e) 操作步骤
- 打开Arduino IDE
- 下载下面的程序到UNO
#include <Wire.h> const int ADDR =0x40; int X0,X1,Y0,Y1,Y2,Y3; double X,Y,X_out,Y_out1,Y_out2; void setup() { Serial.begin(9600); Wire.begin(); delay(100); Wire.beginTransmission(ADDR); Wire.endTransmission(); pinMode(13,OUTPUT); } void loop() { /**发送温度测量命令**/ Wire.beginTransmission(ADDR); Wire.write(0xE3); //发送读温度命令 Wire.endTransmission(); Serial.print("Temp");Serial.print("\t");Serial.println("RH"); /**读取温度数据**/ digitalWrite(13,HIGH); //LED亮开始读数据 Wire.requestFrom(ADDR,2); //回传数据 if(Wire.available()<=2); { X0 = Wire.read(); X1 = Wire.read(); X0 = X0<<8; X_out = X0+X1; } /**计算并显示温度**/ X=(175.72*X_out)/65536; X=X-46.85; Serial.print(X);Serial.print("C");Serial.print("\t"); /**发送湿度测量命令**/ Wire.beginTransmission(ADDR); Wire.write(0xE5); Wire.endTransmission(); /**读取湿度数据**/ Wire.requestFrom(ADDR,2); if(Wire.available()<=2); { Y0 = Wire.read();Y2=Y0/100; Y0=Y0%100; Y1 = Wire.read(); Y_out1 = Y2*25600; Y_out2 = Y0*256+Y1; } /**计算并显示湿度**/ Y_out1 = (125*Y_out1)/65536; Y_out2 = (125*Y_out2)/65536; Y = Y_out1+Y_out2; Y=Y-6; Serial.print(Y);Serial.println("%"); digitalWrite(13,LOW); delay(300); }
f) 实现效果
- 打开Ardino串口,可以观察到温湿度值:
产品购买链接