环境光传感器(0-200klx)

简介

这款环境光传感器设计新颖,外壳采用透明的半球封装形式,可以更好的聚光而采集光照。该传感器拥有0-200klx的检测范围,采用I2C通信,兼容Arduino、esp32等多种控制器。针对人眼对环境光的响应,结合红外和紫外屏蔽,优化了片上光电二极管的光谱响应,自适应增益电路自动选择正确的流明范围优化测试(计数值/流明)。可用于智能灯、汽车智能灯、智能孵化器、农业、仪器仪表等。

光亮度数据参考:

  • 晚上: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;

注意

这是一种感应器,能获得光的强度。
它使用I2C传输采集到的数据,其IIC地址不能改变。
您可以将所需的配置写入配置寄存器(地址:0x04),设置不同的获取精度。
您可以从数据寄存器读取光强数据(地址:0x00~0x03)。 
这个传感器采用软件I2C封库,不能与其它采用硬件I2C的设备或传感器一起使用。

技术规格

  • 供电电压:2.7-6V
  • 工作电流:0.7mA
  • 检测范围:0-200klx
  • 精度:0.054lx
  • 通信方式:I2C
  • 工作温度范围:-40°C~+85°C
  • 尺寸:内径 22mm、外径 26mm、外壳直径 28.5mm,高18mm半球封装

引脚示意图

引脚示意图
标号 名称 功能描述
1 VCC 电源正极
2 SCL I2C时钟输入引脚
3 SDA I2C数据输入引脚
4 GND 电源负极
5 EN EN 传感器片选使能端, H 高有效,L 关闭传感器

使用教程

准备

  • 硬件

Arduino UNO x1

环境光传感器(0-200klx) x1

  • 软件

Arduino IDE,点击下载 Arduino IDE

接线图

接线图

示例代码

下载Ambient Light Sensor(0-200klx)库文件如何安装库文件

/*!
 * @file getLightIntensity.ino
 * @brief Set sensor mode and read light values
 * @n Experimental phenomenon: the light value is read once a second after the sensor device starts successfully
 * @copyright   Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
 * @licence     The MIT License (MIT)
 * @author [Fary](fary_young@outlook.com)
 * @version  V1.0
 * @date  2020-12-03
 * @https://github.com/DFRobot/DFRobot_B_LUX_V30B 
 */
#include <DFRobot_B_LUX_V30B.h>
DFRobot_B_LUX_V30B    myLux(13);//The sensor chip is set to 13 pins, SCL and SDA adopt default configuration
  /* 
   * MANUAL
   *   eAutomatic:The default automatic configuration, after using this mode does not have to configure the following mode, IC automatic configuration. 
   *   eManual :Manual configuration. This pattern is configured and used in combination with subsequent patterns
   * CDR
   *   eCDR_0:Don't divide the CDR
   *   eCDR_1: Eight divided the CDR
   * TIM
   *   eTime800ms:The collection time is 800ms
   *   eTime400ms:The collection time is 400ms
   *   eTime200ms:The collection time is 200ms
   *   eTime100mse:The collection time is 100ms
   *   Time50ms:The collection time is 50ms
   *   eTime25ms:The collection time is 25ms
   *   eTime12_5ms:The collection time is 12.5ms
   *   eTime6_25ms:The collection time is 6.25ms
   * Manual mode combination
   *   (The collected value cannot exceed the maximum range of each mode. If the read data exceeds the range, the data is not correct)
   *   eManual+eCDR_0+eTime800ms    mode=64    The maximum value collected is: 2938 (Lux)
   *   eManual+eCDR_0+eTime400ms    mode=65    The maximum value collected is: 5875(lux)
   *   eManual+eCDR_0+eTime200ms    mode=66    The maximum value collected is: 11750(lux)
   *   eManual+eCDR_0+eTime100ms    mode=67    The maximum value collected is: 23501(lux)
   *   eManual+eCDR_0+eTime50ms     mode=68    The maximum value collected is: 47002(lux)
   *   eManual+eCDR_0+eTime25ms     mode=69    The maximum value collected is: 94003(lux)
   *   eManual+eCDR_0+eTime12.50ms  mode=70    The maximum value collected is: 200000(lux)
   *   eManual+eCDR_0+eTime6.25ms   mode=71    The maximum value collected is: 200000(lux)
   *   
   *   eManual+eCDR_1+eTime800ms    mode=72    The maximum value collected is: 23501(lux)
   *   eManual+eCDR_1+eTime400ms    mode=73    The maximum value collected is: 47002(lux)
   *   eManual+eCDR_1+eTime200ms    mode=74    The maximum value collected is: 94003(lux)
   *   eManual+eCDR_1+eTime100ms    mode=75    The maximum value collected is: 200000(lux)
   *   eManual+eCDR_1+eTime50ms     mode=76    The maximum value collected is: 200000(lux)
   *   eManual+eCDR_1+eTime25ms     mode=77    The maximum value collected is: 200000(lux)
   *   eManual+eCDR_1+eTime12.50ms  mode=78    The maximum value collected is: 200000(lux)
   *   eManual+eCDR_1+eTime6.25ms   mode=79    The maximum value collected is: 200000(lux)
   */
void setup() {
  Serial.begin(9600);
  myLux.begin();
  /* 
   * The setMode and readMode functions can be omitted. When not configured, the default configuration is the one used last time.
   * When using the setMode function, its return value should be judged. If the return value is 1, the setting is successful.
   * while(!myLux.setMode(myLux.eManual,myLux.eCDR_0,myLux.eTime800ms));
   * Serial.print("mode: ");
   * Serial.println(myLux.readMode());
  */
}

void loop() {
  Serial.print("value: ");
  Serial.print(myLux.lightStrengthLux());
  Serial.println(" (lux).");
  delay(1000);
}

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

Arduino串口打印数据图

常见问题

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

更多

DFRobot 商城购买链接