Como usar o sensor de intensidade de luz GY-302 BH1750 com Arduino

How to Use the GY-302 BH1750 Light Intensity Sensor with Arduino

O GY-302 é uma placa de fuga com o sensor de intensidade de luz BH1750, que mede os níveis de luz em Lux. Ele se comunica com microcontroladores através do protocolo I2C, tornando-o uma excelente opção para projetos dependentes da luz, como iluminação inteligente, rastreadores solares e aplicações de fotografia. Este tutorial o guiará através da conexão e do uso do módulo GY-302 com Arduino.


O que você precisará

  1. Módulo de sensor de luz GY-302 BH1750
  2. Board Arduino (por exemplo, Uno, Mega, Nano)
  3. Fios de pão e jumper
  4. Um computador com o Arduino IDE instalado

Etapa 1: Compreendendo o módulo GY-302

O GY-302 usa o sensor BH1750 para medir a intensidade da luz. Ele gera os resultados em Lux, que é a unidade padrão para medir a iluminação.

GY-302 PILOUT

Alfinete Função
VCC Fonte de alimentação (3,3V/5V)
Gnd Chão
SDA I2C Linha de dados
SCL I2C Linha do relógio

Endereço I2C

  • Endereço padrão: 0x23
  • Endereço alternativo: 0x5C (definido puxando o pino ADDR no alto de alguns módulos)

Etapa 2: Fiação do GY-302 para Arduino

Conecte o módulo GY-302 ao seu Arduino da seguinte forma:

Pino GY-302 Pino Arduino
VCC 5V
Gnd Gnd
SDA A4
SCL A5

Observação: Verifique se os pinos I2C corretos são usados ​​para sua placa Arduino (por exemplo, SDA e SCL no Arduino Mega são os pinos 20 e 21).


Etapa 3: Instale a biblioteca necessária

Para simplificar a comunicação com o sensor BH1750, instale a biblioteca "BH1750".

Etapas para instalar:

  1. Abra o Arduino IDE.
  2. Vá para Esboço > Inclua biblioteca > Gerenciar bibliotecas.
  3. Pesquise por "BH1750" e clique Instalar.

Etapa 4: Faça o upload do código

Aqui está um exemplo de esboço para ler dados de intensidade da luz do GY-302:

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

BH1750 lightMeter;

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("Initializing BH1750...");

  if (!lightMeter.begin()) {
    Serial.println("BH1750 not detected. Check wiring.");
    while (1);
  }

  Serial.println("BH1750 ready.");
}

void loop() {
  float lux = lightMeter.readLightLevel(); // Read light level in lux

  Serial.print("Light Intensity: ");
  Serial.print(lux);
  Serial.println(" lx");

  delay(1000); // Wait 1 second before the next reading
}

Etapa 5: teste a configuração

  1. Conecte o Arduino ao seu computador via USB.
  2. Abra o Arduino IDE e selecione o correto Quadro e Porta sob o Ferramentas menu.
  3. Faça o upload do código clicando Carregar.
  4. Abra o monitor serial (Ferramentas > Monitor serial) e definir a taxa de transmissão como 9600.
  5. Observe as leituras de intensidade da luz exibidas em Lux.

Opcional: ajustando o endereço I2C

Se o endereço I2C padrão (0x23) não funciona, verifique a configuração do pino Addr do módulo. Alguns módulos permitem que você mude para um endereço alternativo (0x5C) conectando o pino Addr ao VCC.


Aplicações do GY-302

  1. Sistemas de iluminação inteligentes
  2. Rastreamento de painel solar
  3. Medição de intensidade da luz na fotografia
  4. Monitoramento de luz interno e externo

Solução de problemas

  • Nenhuma resposta do sensor: Verifique a fiação I2C e verifique o endereço I2C do módulo.
  • Leituras incorretas: Verifique se o sensor não está obstruído ou recebe reflexões leves.
  • Erros da biblioteca: Confirme que a biblioteca BH1750 está instalada corretamente.

Conclusão

Você interfigurou com sucesso o sensor de luz GY-302 BH1750 com o Arduino. Esse sensor versátil fornece medições precisas de intensidade de luz no LUX, tornando-o uma excelente ferramenta para uma variedade de projetos sensíveis à luz. Experimente mais, integrando -o com outros componentes ou sistemas!

Deixe um comentário

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.