BH1750数字环境光传感器
<img alt="Sen0097.jpg" src="http://images.ncnynl.com/arduino/2016/250px-Sen0097.jpg" width="250" height="224" class="thumbimage" /> <img src="http://images.ncnynl.com/arduino/2016/magnify-clip.png" width="15" height="11" alt="" />
目录
1 概述
2 技术规格
3 接线图
4 示例代码
5 相关文档
概述
这款BH1750环境光传感器内置16位的模数转换器,通过IIC接口能够直接输出一个数字信号,不需要再做复杂的计算。
这款环境光传感器能够直接通过光度计来测量。光强度的单位是流明"lx"。当物体在均匀的光照下它能够在每平方米获得1lx的光通量,它们的光强度是1lx。
有时为了充分利用光源,你可以增加一个光源的反射装置。那样在某些方向就能获得更多的光通量,以增加被照表面的亮度。
技术规格
供电电压:+3-5V
接口:I2C
量程和精度:1~65535 lx
可以选择两种类型的I2C从地址
微小的测量变化(+/-20%)
尺寸:0.85x0.63x0.13"(21x16x3.3mm)
光亮度数据参考:
晚上: 0.001-0.02;
月夜: 0.02-0.3;
多云室内: 5-50;
多云室外: 50-500;
晴天室内: 100-1000;
夏天中午光照下: 大约10*6能量;
阅读书籍时的照明度:50-60;
家庭录像标准照明度:1400
接线图
Light Sensor Wiring diagram
请注意附加针是传感器分配一个不同的I2C地址。对于我们的示例代码中不使用该引脚 Wikipedia I2C
示例代码
/*
Sample code for the BH1750 Light sensor
Version 0.1
website:www.DFRobot.com
Connection:
VCC-5v
GND-GND
SCL-SCL(analog pin 5)
SDA-SDA(analog pin 4)
ADD-NC
*/
#include <Wire.h> //BH1750 IIC Mode
#include <math.h>
int BH1750address = 0x23; //setting i2c address
byte buff[2];
void setup()
{
Wire.begin();
Serial.begin(57600);//init Serail band rate
}
void loop()
{
int i;
uint16_t val=0;
BH1750_Init(BH1750address);
delay(200);
if(2==BH1750_Read(BH1750address))
{
val=((buff[
int BH1750_Read(int address) //
{
int i=0;
Wire.beginTransmission(address);
Wire.requestFrom(address, 2);
while(Wire.available()) //
{
buff[i] = Wire.receive(); // receive one byte
i++;
}
Wire.endTransmission();
return i;
}
void BH1750_Init(int address)
{
Wire.beginTransmission(address);
Wire.send(0x10);//1lx reolution 120ms
Wire.endTransmission();
}
购买 BH1750数字环境光传感器(SKU:SEN0097)