防水型环境光传感器(1-65535lx)

简介

这是一款完全防水的数字式环境光传感器,测量不同环境下光的强度,通过 50Hz/60Hz 除光噪音功能实现稳定的测量,检测范围为1-65535lx。

传感器采用Gravity接口的设计形式,I2C通信,可直插在Arduino UNO上直接使用,简化了用户的接线难度。它的防水等级为IP68,可完全泡在水里不损坏,适用于蔬菜大棚、汽车智能灯、气象站等室外环境恶劣的场景中。

光亮度数据参考:

技术规格

引脚示意图

引脚示意图
标号 名称 功能描述
绿线 SDA I2C数据输入引脚
黄线 SCL I2C时钟输入引脚
蓝线 GND 电源负极
红线 VCC 电源正极

尺寸图

尺寸图

使用教程

准备

接线图

接线图

示例代码

#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(&reg, 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;
}

串口查看传感器采集到的光照值

Arduino串口打印数据图

常见问题

还没有客户对此产品有任何问题,欢迎通过 qq 或者论坛联系我们! 更多问题及有趣的应用,可以访问论坛进行查阅或发帖

更多

DFRobot 商城购买链接