Sensores

Luxímetro com o Arduino

Eletrogate 19 de março de 202110 min

Introdução

A iluminância é uma medida física no qual serve para mensurar a intensidade da iluminação, no qual os físicos representam ela em suas equações pela letra E. Essa medida é feita medindo a quantidade de luz que reflete em uma determinada área.

A unidade de medida para a iluminância é lux, que não deve ser confundido com o lúmen, que é uma medida de fluxo luminoso – isto é, uma medida de quantos fótons passam por um determinado ponto.

A iluminância é mais simples de se medir do que a luminosidade ou fluxo luminoso, porque a iluminância capta a luz em uma determinada área, não dizendo o quão luminoso é o emissor, e sim dizendo o quão iluminado está o sensor ou a área que ele está instalado.

Saber a iluminância de um local é particularmente importante em aplicações gráficas, visto que a impressão de uma tonalidade de uma cor pode variar de acordo com qual iluminado está a superfície. Pode ter aplicações na medicina, onde é necessário calibrar instrumentos de acordo com a  luz que ele emite, e ajustar a luminosidade de salas. Pode ter aplicações também para consumidores finais, uma vez que ajustar bem o brilho de lampadas e monitores pode garantir uma saúde ocular prolongada.

Neste post iremos apresentar um sensor BH1750FVI, que é capaz de medir iluminância na faixa de 1 a 65535 lux, podendo ser utilizado no Arduino para controle da intensidade da lâmpada, iluminação automática ou até mesmo como luxímetro.

Para entender um pouco mais sobre como a iluminância afeta nossa visão e ter como parâmetro alguns cenários, esta tabela mostra como os astros iluminam a terra em alguns cenários:

Condição
Iluminância típica (lux)
Luz solar107.527
Fim do dia10.752
Dia nublado1.075
Dia muito escuro107
Crepúsculo10,8
Lua cheia1,08
Lua crescente0,108
Noite estrelada0,0011
Noite nublada0,0001

Créditos: https://www.teachmemicro.com/using-the-bh1750-gy-30-sensor-with-arduino/


Hardware

Este sensor funciona com o CI BH1750FVI, da Rohm (empresa japonesa). Ele possui algumas características bem interessantes, como:

  • Interface: I2C
  • Rejeição à ruídos de luzes de 50Hz – 60Hz
  • Responsabilidade espectral próxima à resposta do olho humano
  • Resolução: 1lx (lux)
  • Faixa de medição: 1 ~ 65535lx
  • Baixa variação de medição: +/- 20%
  • Configuração de resolução e modo de medição

Este chip é muito utilizado em smartphones e notebooks para fazer o brilho automático da tela, câmeras digitais para realizar configurações automáticas de ISO, etc.

Créditos: https://grabcad.com/library/ambient-light-sensor-bh1750fvi-1


Pinout e Especificações

O módulo possui 5 pinos, onde:

  • GND: é o neutro da fonte de alimentação
  • ADD: Pino para definir o endereço I2C, sendo 0x23 se o valor no pino for GND e 0x5C se for VCC.
  • SDA: Pino de dados da comunicação I2C, que vai ligado ao SDA do Arduino (A4 caso seja Arduino Uno ou Nano, e 20 para o Mega e Due)
  • SCL: Pno de clock da comunicação I2C, que vai ligado ao SCL do Arduino (A5 caso seja Arduino Uno ou Nano, e 21 para o Mega e Due)
  • Vcc: É o positivo da fonte de alimentação, que pode ser de 3 a 5V.

Materiais Necessários para o Projeto Luxímetro com o Arduino

Para realizar a montagem do projeto de teste do sensor, iremos precisar de:

cta_cart


Montagem

Para realizar a montagem é bem simples, basta fazer a ligação abaixo do sensor com sua placa Uno.


Código

Antes de utilizar fazer upload do código, iremos precisar instalar uma biblioteca para utilizar o sensor.

Em sua Arduino IDE vá em “Ferramentas > Gerenciar Bibliotecas” 

Procure por “BH1750” e instale a biblioteca do Christopher Laws.

Após a biblioteca estar instalada, basta carregar este código para o seu Arduino:

#include <Wire.h>
#include <BH1750.h>

BH1750 luximetro; // Criando um objeto sensor para chamar as funções da biblioteca


void setup(){
  Serial.begin(9600);
  Wire.begin();
  luximetro.begin();
  Serial.println(F("O tesde do BH1750 começou"));
}


void loop() {
  float lux = luximetro.readLightLevel();
  Serial.print("Iluminancia: ");
  Serial.print(lux);
  Serial.println(" lx");
  delay(1000);
}

 

Após carregar, você deverá ver algo assim no seu monitor serial.


Conclusão

Curtiu este sensor? Já utilizava algum outro sensor, como o LDR para medir intensidade de luz? Que tal agora dar um upgrade no seu projeto e poder medir a iluminância com maior precisão e com uma medida segura?

Caso você comprou o sensor e já montou o seu projeto, grave um video e nos marque lá no instagram @eletrogate. Vamos ficar bem felizes em ver o seu projeto.

Não esqueça de avaliar o post e deixar na aba dos comentários o seu comentário ou sua dúvida.

Um forte abraço e até a próxima!

Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.


Sobre o Autor


Gustavo Nery

Cursando Engenharia de Controle e Automação pela UFMG. Apaixonado por eletrônica, computação e tecnologias na área de sistemas embarcados. Nos tempos livres me divido entre desenvolver pesquisa na universidade, adquirir novos conhecimentos e estar com a família.


Eletrogate

19 de março de 2021

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!