找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1025|回复: 1
打印 上一主题 下一主题
收起左侧

Arduino亮度檢查報警程序

[复制链接]
跳转到指定楼层
楼主
ID:392206 发表于 2018-9-1 08:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <Wire.h> //IIC库
#include <math.h>
int BH1750address = 0x23;//芯片地址为16位23
byte buff[2];
void setup()
{
  Wire.begin();
  Serial.begin(9600);
  pinMode(13,OUTPUT);
}
void loop()
{
int i;
uint16_t val=0;
BH1750_Init(BH1750address);
delay(1000);
if(2==BH1750_Read(BH1750address))
  {
   val=((buff[0]<<8)|buff[1])/1.2;
   Serial.print(val,DEC);
   Serial.println("[lx]");
  if(val<900||val>1200)
    {
     digitalWrite(13,HIGH);
    }  
    else
    {
      digitalWrite(13,LOW);
  }

  }
delay(150);
}
int BH1750_Read(int address) //
{
  int i=0;
  Wire.beginTransmission(address);
  Wire.requestFrom(address, 2);
  while(Wire.available()) //
  {
    buff[i] = Wire.read();  // read one byte
    i++;
  }
  Wire.endTransmission();  
  return i;
}
void BH1750_Init(int address)
{
  Wire.beginTransmission(address);
  Wire.write(0x10);//1lx reolution 120ms
  Wire.endTransmission();
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2018-9-1 17:12 | 只看该作者
补全原理图或者详细说明一下电路连接即可获得100+黑币
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表