Como usar o sensor de luz ambiente BH1750 com Arduino

Tempo de leitura: < 1 minute

Oi hoje, vamos usar o sensor de luz ambiente BH1750 com Arduino.

 

O QUE VOCÊ PRECISA :

Arduino Uno
Visor LCD 16×2
Potenciômetro de 10k
BH1705 Sensor de luz
ProtoBoard
Fios de ligação

 

CÓDIGO:

#include<Wire.h>
#include<LiquidCrystal.h>
 
int BH1750address = 0x23;
byte buff[2];
LiquidCrystal lcd (7,6,5,4,3,2); //RS, E, D4, D5, D6, D7

void setup()
{
  Wire.begin();
  //Serial.begin(9600);
  lcd.begin(16,2);
  lcd.print("  BH1750 Light  ");
  lcd.setCursor(0,1);
  lcd.print("Sensor de intensidade");
  delay(2000);
}
 
void loop()
{
  int i;
  uint16_t value=0;
  BH1750_Init(BH1750address);
  delay(200);
 
  if(2==BH1750_Read(BH1750address))
  {
    value=((buff[0]<<8)|buff[1])/1.2;
    lcd.clear();
    lcd.print("Intensidade em LUX");
    lcd.setCursor(6,1);
    lcd.print(value);
    
    //Serial.print(val);     
    //Serial.println("[lux]"); 
  }
  delay(150);
}
 
int BH1750_Read(int address) 
{
  int i=0;
  Wire.beginTransmission(address);
  Wire.requestFrom(address, 2);
  while(Wire.available()) 
  {
    buff[i] = Wire.read();
    i++;
  }
  Wire.endTransmission();  
  return i;
}
 
void BH1750_Init(int address) 
{
  Wire.beginTransmission(address);
  Wire.write(0x10);
  Wire.endTransmission();
}

 

Visits: 2 Visits: 1200499