天天向上/tp 发表于 2013-3-28 13:45:18

新手求BH1750照度传感器参考程序~~~~

新手求BH1750照度传感器参考程序~~~~

飞翔的红猪 发表于 2013-3-28 16:22:04

*
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;
void setup()
{
Wire.begin();
Serial.begin(57600);//init Serail band rate
Serial.print("begin...");
delay(2000);
}

void loop()
{
int i;
uint16_t val=0;
BH1750_Init(BH1750address);
delay(200);

Serial.print("ini...");
if(2==BH1750_Read(BH1750address))
{
    Serial.print("recive...");
    val=((buff<<8)|buff)/1.2;
    Serial.print(val,DEC);   
    Serial.println("");
}
delay(150);
}

int BH1750_Read(int address) //
{
int i=0;
Wire.beginTransmission(address);
Wire.requestFrom(address, 2);
while(Wire.available()) //
{
    buff = Wire.read();// receive one byte
    i++;
}
Wire.endTransmission();
return i;
}

void BH1750_Init(int address)
{
Wire.beginTransmission(address);
Wire.write(0x10);//1lx reolution 120ms
Wire.endTransmission();
}


疯子。 发表于 2013-5-7 11:06:45

#include <Wire.h>
#include <math.h>

int BH1750address = 0x23;//BH1750 I2C地址
byte buff;

void setup()
{
Wire.begin();
Serial.begin(9600);
}

void loop()
{
    Serial.print( BH1750() );
    Serial.println("");
}

double BH1750() //BH1750设备操作
{
int i=0;
doubleval=0;
//开始I2C读写操作
Wire.beginTransmission(BH1750address);
Wire.write(0x10);//1lx reolution 120ms//发送命令
Wire.endTransmission();

delay(200);
//读取数据
Wire.beginTransmission(BH1750address);
Wire.requestFrom(BH1750address, 2);
while(Wire.available()) //
{
    buff = Wire.read();// receive one byte
    i++;
}
Wire.endTransmission();
if(2==i)
{
   val=((buff<<8)|buff)/1.2;
}
return val;
}

newspaper 发表于 2017-10-13 12:17:57

本帖最后由 newspaper 于 2017-10-17 14:09 编辑


前辈,请给看看这个模块用的是那个照度器件。

弘毅 发表于 2017-10-13 13:08:13

newspaper 发表于 2017-10-13 12:17
前辈,请给看看这个模块用的是那个照度器件。

这个是人体红外传感器
页: [1]
查看完整版本: 新手求BH1750照度传感器参考程序~~~~