Arduino——光照传感器BH1750(数字型,I2C接口)

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地址  //ADDR="L" for this module byte buff[2];
int flag = 0;//定时中断标志
void timer()//定时中断函数
{
flag = 1;
}
void setup()
{
Wire.begin();
Serial.begin(9600);
MsTimer2::set(2000, timer); //定时器设置,每2秒触发⼀次timer函数操作  MsTimer2::start();
}
void loop()
lc谐振放大器
{
if(  flag )//
{
Serial.print( BH1750() );
Serial.println("[lux]");
flag = 0;//归零,等着定时中断重新赋值
}
}
double BH1750() //BH1750设备操作
{
int i=0;
double  val=0;
//开始I2C读写操作
土钻Wire.beginTransmission(BH1750address);
Wire.send(0x10);//1lx reolution 120ms//发送命令
delay(200);
//读取数据
Wire.beginTransmission(BH1750address);
while(Wire.available()) //
{
buff[i] = ive();  // receive one byte
i++;
}
if(2==i)
{
val=((buff[0]<<8)|buff[1])/1.2;
}
return val;
}
光亮度数据参考
晚上: 0.001-0.02;
⽉夜: 0.02-0.3;
多云室内: 5-50;
多云室外: 50-500;
晴天室内: 100-1000;
夏天中午光照下: ⼤约10*6能量;
阅读书籍时的照明度:50-60;
家庭录像标准照明度:1400
⾸页博客学院下载论坛问答活动专题招聘APPVIP会员
搜CSDN
创作中⼼
Markdown编辑器
富⽂本编辑器
⾸页
博客管理
⽂章管理
评论管理
分类专栏
订阅专栏
博客搬家
博客打赏
博客设置
博客模块管理
⾃定义域名电力驱动单人车
博客等级权益
下载管理
收益中⼼
数据观星
CSDN博客交流
打开⼿机QQ扫码
或点击这⾥加⼊聊
QQ客服
arduino操作光照传感器BH1750(数字型,I2C接⼝)
32/100
⽂章标签:
鞋楦机
分类专栏:
Arduino_EspNodeMcu
新建分类专栏
最多选择3个分类专栏#为⼆级分类
资源信息:
请填写资源链接
上传资源
⽂章类型:
*
k-workshop/thread-1610-1-1.html        www.arduino/thread-92182-2-13.html *
注意:转载请确认原⽂允许转载,或者您已经获得原⽂作者授权。转载⽂章不能设置为VIP可见。
发布形式:
收益中⼼
温馨提⽰:请勿发布涉及政治、⼴告、营销、、违反国家法律法规等内容,详见《CSDN资源共享规范》
/*
【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
实验⼀百⼆⼗九:GY-302 数字量光强度检测光照传感器 BH1750FVI 光线检测模块
项⽬:依据光亮度控制LED
Module        UNO
5 VCC  ——  5V
6 GND  ——  GND
7 SCL    ——  A5
8 SDA  ——  A4
9 ADD  ——  NC
*/
#include <Wire.h> //IIC库
#include <math.h>
int BH1750address = 0x23;//芯⽚地址为16位23
byte buff[2];
void setup(){
pinMode(13,OUTPUT);
Wire.begin();
Serial.begin(9600);
}
void loop(){
int i;
uint16_t val=0;
BH1750_Init(BH1750address);
delay(100);
if(2==BH1750_Read(BH1750address)) {
val=((buff[0]<<8)|buff[1])/1.2;
Serial.print(val,DEC);
Serial.println("[lx]");
}
delay(150);
if (val<100) {
digitalWrite(13,HIGH);
}
电极片else {
digitalWrite(13,LOW);
}
}
int BH1750_Read(int address) {
int i=0;
Wire.beginTransmission(address);
while(Wire.available()) {
buff = ad();  // read one byte
i++;
}
return i;
}
void BH1750_Init(int address) {
Wire.beginTransmission(address);
Wire.write(0x10);//1lx reolution 120ms  dTransmission();
}
测量程序步骤:
4、指令集合结构:
5、测量模式说明:

本文发布于:2024-09-22 22:35:32,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/327598.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:传感器   转载   资源   专栏
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议