概述
本产品是数字式环境光传感器,测量不同环境下光的强度,在串口监视器中以数值显示,单位是lx。它的测量精度高,量程较广,探测范围从0lx到120klx,分辨率0.0036lx/ct。在设计方面,本传感器采用Filtron™技术,Filtron技术使传感器对环境光的光谱感光度接近人眼,同时它还采用了O-Trim™技术,使输出公差不到10%。在电路方面,此传感器模块支持I2C总线接口,并且采用了Gravity接口的设计形式,直接地简化了用户的接线难度。
光亮度数据参考:
- 晚上: 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;
技术规格
- 供电电压:3.3~5V
- 工作电流:45uA
- 关断模式:0.5uA
- 接口:I2C
- I2C地址:0x10
- 量程:0~120klx
- 精度:0.0036 lx/ct
- 尺寸:1.181x0.866"(30x22mm)
- 工作温度:-25℃~+85℃
注意:1、实际使用中可测得大于 120klx 的环境光,但精度不高
引脚说明
- 连接arduino平台接口(Gravity-I2C接口):
从上到下依次是
- SDA:I2C数据输入引脚
- SCL:I2C时钟输入引脚
- GND:电源负
- VCC:电源正
接线图
连接模块与UNO主板(通过I2C接口),按照如下图的方式连接。
示例代码
下载Digital Ambient Light Sensor 库文件,如何安装库?
/*!
* @file readVEML7700.ino
* @brief DFRobot's VEML7700 ambient light sensor
* @n High Accuracy Ambient Light Sensor
* @copyright Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
* @license The MIT License (MIT)
* @author [yangyang](971326313@qq.com)
* @version V1.0
* @date 2016-12-08
* @url https://github.com/DFRobot/DFRobot_VEML7700
*/
#include "DFRobot_VEML7700.h"
#include <Wire.h>
/*
* Instantiate an object to drive the sensor
*/
DFRobot_VEML7700 als;
void setup()
{
Serial.begin(9600);
als.begin(); // Init
}
void loop()
{
float lux;
als.getALSLux(lux); // Get the measured ambient light value
Serial.print("Lux:");
Serial.print(lux);
Serial.println(" lx");
delay(200);
}
串口查看
Mind+ 上传模式编程
1、下载及安装软件。下载地址:https://mindplus.cc 详细教程:安装教程
2、切换到“上传模式”。 详细教程:Mind+基础wiki教程-上传模式编程流程
3、“扩展”中选择“主控板”中的“Arduino Uno”。 "扩展"“传感器”中搜索选择“环境光传感器”。 详细教程:Mind+基础wiki教程-加载扩展库流程
4、进行编程,程序如下图:
5、菜单“连接设备”,“上传到设备”
6、程序上传完毕后,打开串口即可看到数据输出。详细教程:Mind+基础wiki教程-串口打印
Mind+ Python模式编程(行空板)
Mind+Python模式为完整Python编程,因此需要能运行完整Python的主控板,此处以行空板为例说明
连接图
操作步骤
1、下载及安装官网最新软件。下载地址:https://www.mindplus.cc 详细教程:Mind+基础wiki教程-软件下载安装
2、切换到“Python模式”。“扩展”中选择“官方库”中的“行空板”和“pinpong库”中的”pinpong初始化“,用户库中搜索“SEN0228”,选择“数字环境光传感器模块”。切换模式和加载库的详细操作链接
3、进行编程
4、连接行空板,程序点击运行后,可在终端查看数据。行空板官方文档-行空板快速上手教程 (unihiker.com)
代码编程
以pinpong库为例,行空板官方文档-行空板快速上手教程 (unihiker.com)
# -*- coding: UTF-8 -*-
# MindPlus
# Python
from pinpong.board import Board
from DFRobot_VEML7700 import *
import time
import sys
Board().begin()
veml7700 = DFRobot_VEML7700_I2C(bus_num = 0)
while (veml7700.begin() == False):
print("Sensor initialize failed!!")
time.sleep(3)
while True:
print(veml7700.get_ALS_lux())
time.sleep(1)