
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.