Arduino Lab 01 Sensor de luminosidade BH1750FVI Sensor de luminosidade BH1750FVI Neste Lab iremos descrever a implementação de um código para utilizar o módulo digital de medição da intensidade de iluminação BH1750FVI em conjunto com o Arduino Nano V3.0. Várias aplicações podem ser feitas utilizando este sensor, desde regulação de intensidade de luz em telas de LCD e até mesmo em automação residencial.
Arduino e sensor de luminosidade Introdução O sensor digital de intensidade de luz BH1750FVI converte um dado do mundo real, para um valor na forma digital em 0 s e 1 s. Isto torna mais fantástica a percepção do quanto a eletrônica está envolvida na vida cotidiana da humanidade, ou seja, a construção de sensores que transformam as percepções do mundo real em um mundo digital. O BH1750FVI utiliza o protocolo serial de comunicação I2C como interface de comunicação com o microcontrolador, que neste caso é o Arduino Nano. Este CI (Circuito Integrado) é idel para obter a intensidade de luz para ajustar a iluminação de fundo em displays de LCD, teclados e até mesmo em automação na iluminação de residências e galpões industriais por exemplo. O datasheet deste sensor pode ser baixado neste link.
Sensor de luminosidade Algumas das vantagens e características deste sensor estão destacadas abaixo. Converter a intensidade de Iluminação em níveis digitais. Faixa de medição de 1 a 65535 Lx com alta resolução. Baixo consumo de energia. Filtro para rejeição de ruído em 50 e 60 Hz. Comunicação com microcontrolador utilizando o protocolo I2C. Três modos de medição. ILuminância, Lumen e Lux Iluminância é uma medida da quantidade de fluxo luminoso que é espalhada sobre uma determinada área. Pode-se pensar no fluxo luminoso (medido em lúmens) como uma medida da quantidade total de luz visível presente, e a iluminância como uma medida da intensidade de iluminação numa superfície Lumen: A unidade da quantidade de luz que flui de uma fonte em qualquer instante (potência luminosa, ou fluxo luminoso) é chamada de lumen.
Neste sensor, a leitura será feita em Lux, que é igual a um lúmen (Lm) por metro quadrado: Lumen e Lux Dados técnicos No datasheet, observamos os valores de alimentação máximos e típicos deste CI. Preferencialmente, o valor adotado deve ser de no máximo 3.3V e nunca em 5V em nível TTL. Dados técnicos tabela 1
Dados técnicos tabela 2 O protocolo I2C utilizado para a comunicação com o sensor trabalha com um clock na linha SCL de aproximadamente 400KHz. Dados técnicos tabela 3 Modos de medição: Este CI apresenta três modos de medição e estes, juntamente com a resolução, estão descritos na tabela abaixo. Dados técnicos tabela 4 O datasheet recomenda utilizar o modo H-Resolution Mode pois o tempo de medição é grande o suficiente para eliminar ruídos em 50 e 60 Hz. Uma outra aplicação seria a detecção se um ambiente está escuro ou não, já que sua resolução é de 1 lx. Os opecodes utilizados para comunicação com o sensor estão
listados na tabela abaixo. Dados técnicos tabela 5 O terminal ADDR tem a funcionalidade de alterar o endereço do sensor na comunicação I2C. Se este pino estiver conectado ao terra, o endereço do sensor na rede I2C será 0x23, já se conectado ao VCC o endereço será 0x5C.
Terminal de endereçamento na rede I2C Teste do sensor Para testar este sensor, primeiramente faça as conexões como no esquema abaixo. Não se esqueça que a alimentação do módulo do sensor é em 3,3V.
Imagem ligacao protoboard fritzem Lligação sensor e Arduino O algoritmo para teste do sensor é apresentado abaixo e possui uma explicação linha a linha para melhor entendimento do leitor. [crayon-59c99c1a5fc82590760680/] O resultado das leituras feitas utilizando o monitor serial, e variando a intensidade de luz em cima do sensor estão
mostrados na figura abaixo. Imagem aquisição serial A IDE utilizada para este teste foi a 1.6.7 e além do monitor serial já clássico, possui também um Plotter gráfico que ilustra as variações de uma variável no domínio do tempo. Este gráfico é mostrado na figura abaixo. Imagem aquisição grafico
Conclusão Este simples projeto nos introduziu sobre o uso do módulo para medição de intensidade de luz BH1750FVI. Grande versatilidade de uso e funcionalidades são também características deste produto. Um teste de consumo de energia foi feito utilizando um multímetro para medir a corrente que uma bateria comum de celular, fornecendo 3,7V, fornecia ao conjunto Arduino + BH1750 e apontou um consumo de 34mA, porém o modo de consumo do Arduino não foi otimizado quanto a clock e periféricos ligados desnecessariamente, logo o consumo deste conjunto pode ser ainda menor, ideal para aplicações embarcadas que fazem uso de baterias. Protoboard montada