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.