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
BH1750 Sensor Pinout

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 <BH1750.h>
#include <Wire.h>

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);
}
				
			

Der Sketch auf Github

Github Logo

★☆★ Wenn ihr den Kanal unterstützen wollt über ★☆★

oder über

Vielen Dank im Voraus, Euer Edi.