BH1750 LUX-Sensor verständlich erklärt: Lichtstärke messen leicht gemacht!
Mit dem BH1750 Sensor LUX messen
Das ist ein Auszug aus dem Buch Elektronik und Heimautomation DIY.
Mit dem BH1750 16-bit Sensor können wir die Lichtmenge in Lux messen und die Daten über die I²C Schnittstelle auslesen. Der Sensor bietet zwei Modi für die Luxmessung. Kontinuierlich und einmalig. Im kontinuierlichen Modus misst der Sensor die Lichtintensität ohne Unterbrechung. Im Modus „einmalig“ werden einzelne Messungen durchgeführt, dann schaltet sich der Sensor ab.
Wir können die Empfindlichkeit für beide Modi festlegen und können damit von 0,5 Lux bis zu 4 Lux Genauigkeit messen. Eingesetzt kann der Sensor werden zur Unterscheidung, ob es Tag oder Nacht ist, zur Helligkeitsregelung von Lampen abhängig vom Umgebungslicht und noch vieles mehr.
Technische Details:
- Messbereich: 1 – 65535 lux
- Spannungsbereich: 3,3 – 5 Volt
- Adressen I2C: 0x23 und 0x5C wählbar
- Genauigkeit: ± 20 %
- Stromverbrauch: 0.12 mA
- Methoden: Einzel oder Dauermessung
- Arbeitstemperatur: -40 °C bis +85 °C

Messmethoden vom Sensor
Beim BH1750 Sensor haben wir verschiedene Möglichkeiten die Lichtmenge zu messen. Die unterscheiden sich in der Messgeschwindigkeit und der Genauigkeit der Messung. Zusätzlich können wir noch eine einmalige Messung oder eine Dauermessung auswählen. In der Tabelle findet ihr die unterschiedlichen Messmethoden vom Sensor aufgelistet.
Die Empfehlung vom Hersteller ist es, die Messmethode hohe Auflösung in der Dauermessung zu verwenden.
Messmethoden BH1750 Sensor
Modus | Genauigkeit | Messzeit | Dauermessung |
---|---|---|---|
Niedrige Auflösung | 4 Lux | 16 ms | BH1750_CONTINUOUS_LOW_RES_MODE |
Hohe Auflösung | 1 Lux | 120 ms | BH1750_CONTINUOUS_HIGH_RES_MODE |
Hohe Auflösung 2 | 0,5 Lux | 120ms | BH1750_CONTINUOUS_HIGH_RES_MODE_2 |
Einmalige Messung | |||
Niedrige Auflösung | 4 Lux | 16 ms | BH1750_ONE_TIME_LOW_RES_MODE |
Hohe Auflösung | 1 Lux | 120 ms | BH1750_ONE_TIME_HIGH_RES_MODE |
Hohe Auflösung 2 | 0,5 Lux | 120ms | BH1750_ONE_TIME_HIGH_RES_MODE_2 |
I²C Adresse ändern
Wir haben die Möglichkeit beim BH1750 Sensor zwischen zwei I²C Adresse zu wählen. Dazu können wir den ADDR Pin verwenden. Wenn die Spannung am Pin kleiner als 0,7 Volt ist (nicht angeschlossen oder auf GND gelegt), dann hat der Sensor die Adresse 0x23. Ist die Spannung grösser als 0,7 Volt, dann haben wir die Adresse 0x5C.
Hier findet ihr das benötigte Material!
Produkt | Amazon |
---|---|
1x BH1750 Modul | shopping_cart Bei Amazon kaufen |
3x BH1750 Modul | shopping_cart Bei Amazon kaufen |
Alle Links in dieser Tabelle sind Amazon Affiliate Links.
Der Sketch
#include
#include
BH1750 lightMeter;
void setup(){
Serial.begin(115200);
Wire.begin(); //Wire.begin(SDA, SCL)
lightMeter.begin(BH1750::CONTINUOUS_HIGH_RES_MODE, 0x23, &Wire);
}
void loop() {
float lux = lightMeter.readLightLevel();
Serial.print(" Lichtmenge: ");
Serial.print(lux);
Serial.println(" lx");
delay(1000);
}