Sensor de luz ambiente BH1750

Eletrônica


Recursos do BH1750

Aqui está uma lista dos recursos do sensor BH1750. Para mais informações consulte a ficha técnica do sensor BH1750 .


  • Interface de barramento I2C
  • A responsabilidade espectral é aproximadamente a resposta do olho humano
  • Conversor de iluminação para digital
  • Alcance: 1 – 65535 lux
  • Baixa corrente pela função de desligamento
  • 50Hz / 60Hz Função de rejeição de ruído de luz
  • É possível selecionar 2 endereços escravos I2 C diferentes
  • Pequena variação de medição (+/- 20%)
  • A influência do infravermelho é muito pequena
  • Suporta modo de medição contínua
  • Suporta modo de medição única

Aqui está a pinagem do BH1750:


VCCAlimenta o sensor (3,3V ou 5V)
GNDGND comum
SCLPino SCL para comunicação I2C
SDA (Dados)Pino SDA para comunicação I2C
ADICIONAR *Seleciona o endereço

O pino ADD é usado para definir o endereço do sensor I2C. Se a tensão nesse pino for menor que 0,7VCC (o pino é deixado flutuando ou conectado ao GND), o endereço I2C é0x23. Mas, se a tensão for superior a 0,7xVCC (o pino está conectado ao VCC), o endereço é0x5C. Resumindo:


  • ADD pino flutuante ou conectado a GND→ endereço:0x23
  • ADD pino conectado a VCC→ endereço:0x5C


O BH1750 é um sensor de luz ambiente para que possa ser usado em uma ampla variedade de projetos. Por exemplo:


  • para detectar se é dia ou noite;
  • para ajustar ou ligar/desligar o brilho do LED de acordo com a luz ambiente;
  • para ajustar LCDs e brilho da tela;
  • para detectar se um LED está aceso;


/*

 Example of BH1750 library usage. This example initialises the BH1750 object using the default high resolution continuous mode and then makes a light level reading every second.

*/

#include <Wire.h>

#include <BH1750.h>

BH1750 lightMeter;

void setup(){

 Serial.begin(9600);

 // Initialize the I2C bus (BH1750 library doesnt do this automatically)

 Wire.begin();

 // On esp8266 you can select SCL and SDA pins using Wire.begin(D4, D3);

 // For Wemos / Lolin D1 Mini Pro and the Ambient Light shield use Wire.begin(D2, D1);

 lightMeter.begin();

 Serial.println(F("BH1750 Test begin"));

}

void loop() {

 float lux = lightMeter.readLightLevel();

 Serial.print("Light: ");

 Serial.print(lux);

 Serial.println(" lx");

 delay(1000);

}





Fonte
https://randomnerdtutorials.com/arduino-bh1750-ambient-light-sensor/
Mais Dicas