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:
VCC | Alimenta o sensor (3,3V ou 5V) |
GND | GND comum |
SCL | Pino 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); }