简介
这是一款完全防水的数字式环境光传感器,测量不同环境下光的强度,通过 50Hz/60Hz 除光噪音功能实现稳定的测量,检测范围为1-65535lx。
传感器采用Gravity接口的设计形式,I2C通信,可直插在Arduino UNO上直接使用,简化了用户的接线难度。它的防水等级为IP68,可完全泡在水里不损坏,适用于蔬菜大棚、汽车智能灯、气象站等室外环境恶劣的场景中。
光亮度数据参考:
- 晚上:0.001-0.02 lx;
- 月夜:0.02-0.3 lx;
- 多云室内:5-50 lx;
- 多云室外:50-500 lx;
- 晴天室内:100-1000 lx;
- 夏天中午光照下:大约10*6 lx;
- 阅读书籍时的照明度:50-60 lx;
- 家庭录像标准照明度:1400 lx;
技术规格
- 供电电压:5V
- 工作电流:1uA
- 检测范围:1-65535lx
- 精度:1.2lx
- 工作温度:-40~85°C
- 防水等级:IP68
- 螺纹长度:10mm
- 开孔尺寸:26mm
- 扳手尺寸:31mm
- 电缆直径:3mm
- 线长:1m
引脚示意图
标号 | 名称 | 功能描述 |
---|---|---|
绿线 | SDA | I2C数据输入引脚 |
黄线 | SCL | I2C时钟输入引脚 |
蓝线 | GND | 电源负极 |
红线 | VCC | 电源正极 |
尺寸图
使用教程
准备
- 硬件
Arduino UNO x1
Gravity: 防水型环境光传感器 (1~65535lx) x1
- 软件
Arduino IDE,点击下载 Arduino IDE
接线图
示例代码
#include "Wire.h"
#define address 0x23 //I2C地址0x23
void setup()
{
Serial.begin(9600);
Wire.begin();
}
uint8_t buf[4] = {0};
uint16_t data, data1;
float Lux;
void loop()
{
readReg(0x10, buf, 2); //寄存器地址0x10
data = buf[0] << 8 | buf[1];
Lux = (((float)data )/1.2);
Serial.print("LUX:");
Serial.print(Lux);
Serial.print("lx");
Serial.print("\n");
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;
}
串口查看传感器采集到的光照值
常见问题
还没有客户对此产品有任何问题,欢迎通过 qq 或者论坛联系我们!
更多问题及有趣的应用,可以访问论坛进行查阅或发帖