简介
这是一款I2C接口的数字湿度和温度传感器,湿度精度为±3.0RH%,温度精度为±0.5℃,可编程温湿度报警响应功能。外壳为304不锈钢,具有一定的抗冲击性、耐热性、耐低温性、耐化学药品性。输出接口为标准杜邦2.54插口,方便用户接线。传感器内置两个4.7K上拉电阻和100NF滤波电容,可直接配合Arduino等微控制器使用。
场景可应用于消费电子、医疗、汽车、工业、气象等领域,例如:暖通空调、除湿器和冰箱等家电产品,测试和检测设备及其他相关温湿度检测控制产品。
特性
- 304不锈钢外壳,抗冲击性
- 低功耗,高精度
- 可编程温湿度报警地址(ARA)
技术规格
- 工作电压:2.5V~5.5V
- 待机电流:0.05uA(典型值)0.3uA(最大值)
- 平均工作电流:1.5uA(典型值)3.0uA(最大值)
- 温度测量范围(℃):-40℃~125℃
- 温度测量精度(℃):±0.5℃@0℃~50℃
- 湿度测量范围(%RH):0%RH~100%RH
- 湿度测量精度(%RH):±3.0%RH@20%RH~80%RH
- 通信方式:I2C
- 输出接口:杜邦2.54插口
- 杜邦预留线长:5cm
- 线长:1.5m
- 外壳:304不锈钢
- 线序:红色 VCC;黑色 GND;白色 SCL;黄色 SDA
引脚说明
颜色 | 名称 | 功能描述 |
---|---|---|
红色 | VCC | 电源正 |
黑色 | GND | 电源负 |
白色 | SDL | 数据 |
黄色 | SDA | 时钟 |
使用教程
准备
- 硬件
Arduino UNO x1
I2C温湿度传感器 x1
- 软件
Arduino IDE,点击下载 Arduino IDE
接线图
示例代码
下载Arduino库文件,点击下载 如何安装库文件,点击链接
读取温湿度值
#include "Wire.h"
#define address 0x40
char dtaUart[15];
char dtaLen = 0;
uint8_t Data[100] = {0};
uint8_t buff[100] = {0};
void setup()
{
Serial.begin(9600);
Wire.begin();
}
uint8_t buf[4] = {0};
uint16_t data, data1;
float temp;
float hum;
void loop()
{
readReg(0x00, buf, 4);
data = buf[0] << 8 | buf[1];
data1 = buf[2] << 8 | buf[3];
temp = ((float)data * 165 / 65535.0) - 40.0;
hum = ((float)data1 / 65535.0) * 100;
Serial.print("temp(C):");
Serial.print(temp);
Serial.print("\t");
Serial.print("hum(%RH):");
Serial.println(hum);
delay(500);
}
uint8_t readReg(uint8_t reg, const void* pBuf, size_t size)
{
if (pBuf == NULL) {
Serial.println("pBuf ERROR!! : null pointer");
}
uint8_t * _pBuf = (uint8_t *)pBuf;
Wire.beginTransmission(address);
Wire.write(®, 1);
if ( Wire.endTransmission() != 0) {
return 0;
}
delay(20);
Wire.requestFrom(address, (uint8_t) size);
for (uint16_t i = 0; i < size; i++) {
_pBuf[i] = Wire.read();
}
return size;
}
运行效果
相关文档
Datasheet.pdf //芯片手册
STM32_cht8305.rar //STM32 CODE
常见问题
还没有客户对此产品有任何问题,欢迎通过 qq 或者论坛联系我们!
更多问题及有趣的应用,可以访问论坛进行查阅或发帖