O sensor BH1750FV é um senso digital de luminosidade com comunicação I2C.
Sua utilização é bastante simples pois, oferece em sua saída o valor pronto para uso em Lux dispensando cálculos e calibrações.
As características básicas são:
>> Tensão de alimentação: 3V-5V;
>> Faixa de medição: 0-65535 lux;
>> Conversor adc integrado: 16 bits;
>> Saída digital direta dispensa cálculos complexos ou calibração;
>> Dois endereços possíveis. Permitindo a ligação de dois módulos no mesmo microcontrolador:
0x5C (pino ADD em nível alto) e 0x23 (pino add em nível baixo, padrão).
Ligações para o exemplo do vídeo:
O código exemplo abaixo é uma adaptação para display I2C do código que acompanha a biblioteca para arduino disponibilizada por Genotronex em: https://github.com/Genotronex/BH1750FVI_Master
A biblioteca LCD_I2C também é utilizada.
/*
Adaptação para display 12c por MelquíadesJR do código escrito por Mohannad Rawashdeh
como exemplo da biblioteca: https://github.com/Genotronex/BH1750FVI_Master
VCC >>> 3.3V
SDA >>> A4
SCL >>> A5
addr >> A3
Gnd >>>Gnd
*/
// Bibliotecas:
#include <BH1750FVI.h> // biblioteca do sensor
#include <Wire.h> // biblioteca I2C
#include <LiquidCrystal_I2C.h> // biblioteca para o display lcd
LiquidCrystal_I2C lcd(0x27,16,2);
uint16_t Light_Intensity=0;
BH1750FVI LightSensor; //instancia o sensor
void setup() {
lcd.init(); // inicializa o lcd
lcd.backlight(); // acende o backlight do lcd
LightSensor.begin(); // inicializa o sensor
//endereço I2C 0x23 (Device_Address_L para endereço 0x5C)
LightSensor.SetAddress(Device_Address_L);
LightSensor.SetMode(Continuous_H_resolution_Mode);
lcd.setCursor(0, 0);
lcd.print("BH1750 Sensor");
lcd.setCursor(1, 1);
lcd.print("Inciando...");
delay(2000);
lcd.clear();
lcd.print(" Luminosidade: ");
}
void loop() {
lcd.setCursor(5, 1);
lcd.print(" ");
lcd.setCursor(5, 1);
Light_Intensity = LightSensor.GetLightIntensity();
lcd.print(Light_Intensity);
lcd.setCursor(10, 1);
lcd.print("Lux");
delay(500);
}
Nenhum comentário:
Postar um comentário