Luxómetro BH1750

Descrición:

O luxómetro  BH1750 é un sensor dixital de nivel de luz. Mide o fluxo luminoso ou iluminancia. Entrega a intensidade luminosa directamente en unidades Lux (Lx). O lux é a unidade derivada do Sistema Internacional de Unidades para a iluminancia ou nivel de iluminación, equivale a un lumen/m2.

Montaxe:

A  interface de comunicación é I2C. Ten dous pins de alimentación (VCC e GND) os pins I2C (SCL e SDA) e un pin para establecer la dirección (ADDR).

Fíxate na serigrafía.

  • Conecta os pins de alimentación (VCC a 5V e GND a 0V) .
  • SCL: A5
  • SDA: A4
  • ADRR: Deixámolo sen conectar, polo que a dirección será 0x23

Programa:

Debemos incluír as seguintes librerías:

  • Wire.h que permite a comunicación I2C
  • BH1750 para realizar a lectura do sensor (enlace) (descarga zip)

Co seguinte programa podemos ver na consola serie a luminancia medida co sensor.

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

BH1750 luxometro;

// Configuración:

void setup() {

   Serial.begin(9600);  // Inicia a comunicación serie
   Wire.begin();   // Inicia a comunicación I2C
   luxometro.begin(); // Inicia o sensorBH1750
   
   Serial.println(F("BH1750 Test begin"));
}

// Programa:

void loop() {

   float lux = luxometro.readLightLevel(); // Lectura do sensor BH1750

   Serial.print("lux: ");   // imprime na consola
   Serial.print(lux);
   Serial.println(" lx");

   delay(500);  // retardo de 0,5s

}

Propostas:

  • Toma medidas en distintas situacións: completamente escuro, no exterior un día nubrado, no exterior un día soleado, no taller, debaixo dun foco, etc.
  • Fai que se acenda un led cando a luminancia baixe de 50 lux.
  • Conecta unha lámpada a un relé e fai que se acenda automaticamente cando se fai de noite.