arduino操作光照传感器BH1750(数字型,I2C接口)
前些天买了个BH1750传感器,打算用在气象站上。用于检测环境光光照强度主角登场
引脚说明
[*]GND 电源地
[*]ADD I2C地址引脚
[*]SDA I2C总线数据引脚
[*]SCL I2C总线时钟引脚
[*]VCC 电源 电压3-5V
线路连接
程序代码#include <Wire.h>
#include <math.h>
#include <MsTimer2.h>
int BH1750address = 0x23;//BH1750 I2C地址
byte buff;
int flag = 0;//定时中断标志
void timer()//定时中断函数
{
flag = 1;
}
void setup()
{
Wire.begin();
Serial.begin(9600);
MsTimer2::set(2000, timer); //定时器设置,每2秒触发一次timer函数操作
MsTimer2::start();
}
void loop()
{
if(flag )//
{
Serial.print( BH1750() );
Serial.println("");
flag = 0;//归零,等着定时中断重新赋值
}
}
double BH1750() //BH1750设备操作
{
int i=0;
doubleval=0;
//开始I2C读写操作
Wire.beginTransmission(BH1750address);
Wire.send(0x10);//1lx reolution 120ms//发送命令
Wire.endTransmission();
delay(200);
//读取数据
Wire.beginTransmission(BH1750address);
Wire.requestFrom(BH1750address, 2);
while(Wire.available()) //
{
buff = Wire.receive();// receive one byte
i++;
}
Wire.endTransmission();
if(2==i)
{
val=((buff<<8)|buff)/1.2;
}
return val;
}运行结果
首发链接:http://www.ardapi.com/post/2012-08-08/40031872959 呵呵,顶一个 开心就好 发表于 2012-8-8 14:17 static/image/common/back.gif
呵呵,顶一个
谢谢。支持。你是ukonline2000 是吗? hunduncn 发表于 2012-8-8 22:25 static/image/common/back.gif
谢谢。支持。你是ukonline2000 是吗?
哈哈,没错小胖子 开心就好 发表于 2012-8-9 12:13 static/image/common/back.gif
哈哈,没错小胖子
我之前在你那买了DS3231 RTC模块呢。 顶一个,有空看看这个传感器的特性! 可惜这个传感器最大输出值是2字节,在太阳底下就溢出变成0了 飞翔的红猪 发表于 2012-8-9 17:02 static/image/common/back.gif
可惜这个传感器最大输出值是2字节,在太阳底下就溢出变成0了
是的。放在室内比较好。 hunduncn 发表于 2012-8-9 13:19 static/image/common/back.gif
我之前在你那买了DS3231 RTC模块呢。
多谢支持哟 貌似Vcc应该接3.3V电压 yangking91 发表于 2012-8-18 15:11 static/image/common/back.gif
貌似Vcc应该接3.3V电压
我接5V正常的。 39行的 WIRE.SEND 0x10 精度1LUX/ 0x11 精度0.5LUX/0x13 精度4LUX 大家可以根据需要设置采集分辨率哈
因为只有2个字节,所以超过28067就为负数输出,光越强 绝对值越小,所以建议在返回值VAI 那里加个判断,如果是负数IF(VAI〈0)VAI=56134+VAI;RETURN VAI; 你好,我在下载程序时遇到了问题,如图,求教,谢谢了! 恺之 发表于 2013-2-25 17:24 static/image/common/back.gif
你好,我在下载程序时遇到了问题,如图,求教,谢谢了!
我也遇到了这个问题,因为#include <math.h>
#include <MsTimer2.h>这2个函数没得 天天向上/tp 发表于 2013-3-28 13:37 static/image/common/back.gif
我也遇到了这个问题,因为#include
#include 这2个函数没得
哦~谢谢了!
页:
[1]
2