概述

Si7021温湿度传感器是一款具有模数转换,信号处理,数据矫正,I2C接口功能的高度集成芯片。内部使用低K聚合物电介质从而达到低功耗,低传输迟滞。
并采用非易失性储存器储存数据  (?存贮数据写在这里的意义) 。且已经过工业校准,确保传感器的完全互用性,完全符合行业标准。(?什么行业标准)
Si7021能精准测量湿度,露点和温度,完全低功耗。(?什么是完全低功耗)
本传感器模块可以与其他模块合用I2C接口,连接方便。(?I2C是总线,这句话感觉意义不大) 开关控制是否打开上拉电阻(?什么开关)。

技术规格

(?这里请按照标准的 规格名称:规格描述 来写; 规格是定量的,定性的描述不要写; 规格分类写)

  • 工作电压: 1.9-3.6v
  • 工作温度:-40-125℃ (?请问是使用的G grade等级芯片吗)
  • I2C接口,响应速度快;
  • 相对湿度和温度的测量兼有小数点输出;(?小数点是什么)
  • 全部校准,数字输出;(?定性描述)
  • 超低功耗,自动休眠;
  • 出色的稳定性;
  • 湿度范围0-80%RH,温度范围-10-85℃
  • 测湿精度±3%RH,测温精度±0.4℃(25℃) (?和datasheet上不一致)
  • 模块尺寸:32.1X31.9mm
  • 接口类型:I2C
  • 接口方式:gadgeteer和排针

应用范围

(?建议少写一些,这里是写模块的应用为好)

  • 供热通风与空调工程
  • 调节器(?什么调节器)
  • 呼吸疗法
  • 大型家用电器(?小型的能用吗)
  • 室内气象站
  • 微生态数据采集
  • 汽车除雾控制
  • 货物资产跟踪(?)
  • 手机平板电脑(?)

链接示意图

(?这里应是引脚说明)

示例代码

(?格式如下, 同时建议代码进行一下缩进; 简介里提到可以测量露点,建议给个样例) 4. 使用教程 Tutorials a) 目标 ——Romeo按键识别,并通过串口打印识别的按键 b) 硬件清单 ——简单的,可以略 c) 软件清单 ——简单的,可以略 d) 连线图 ——配图可用截图或者引脚图+硬件的连线 e) 操作步骤 f) 烧录的软件 ——源码(+简单的备注即说明) g) 实现效果描述 h) FAQ ——常见问题,即用不起来的原�

直接使用即可(Arduino MEGA 2560)

#include <Wire.h>
int ADD =0x40;
int X0,X1,Y0,Y1,Y2,Y3;
double X,Y,X_out,Y_out1,Y_out2;
void setup()
{
Serial.begin(9600);                             //波特率设置
Wire.begin();                                   //I2C打开
delay(100);
Wire.beginTransmission(ADD);
Wire.endTransmission();
pinMode(13,OUTPUT);                             //13脚设为输出引脚(LED接口)
}
void loop()
{
Wire.beginTransmission(ADD);                    //发送地址到si7021
Wire.write(0xE3);                               //发送读温度命令
Wire.endTransmission();
Serial.print("Tem");Serial.print("\t");Serial.println("RH");
digitalWrite(13,HIGH);                          //LED亮开始读数据
Wire.requestFrom(ADD,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(ADD);
Wire.write(0xE5);
Wire.endTransmission();
Wire.requestFrom(ADD,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);                            //LED灭 一组数据结束
delay(300);
}

相关文档