Lichtsensor BH1750 I2C
Nur noch 2 vorrätig
Lass dein Projekt erkennen, wie hell es wirklich ist
Mit dem BH1750 bekommt dein Mikrocontroller einen digitalen Helligkeitswert statt nur eines groben Hell-Dunkel-Schaltpunkts. Du liest Lux-Werte per I2C aus und siehst sofort, ob Raumlicht, Fensternaehe, LED-Streifen oder Abschattung dein Projekt beeinflussen.
Der erste Erfolg ist eine nachvollziehbare Zahl im Seriellen Monitor: vier Leitungen anschliessen, I2C-Messung starten, Sensor abdecken oder beleuchten und beobachten, wie der Luxwert faellt oder steigt.

Anschlüsse, Pins und Funktionen im Überblick
Die folgende Übersicht bezieht sich auf die konkret abgebildete Makershop-Ausführung.

Was du damit bauen kannst
Displayhelligkeit automatisch anpassen
Ein Controller kann die Umgebungshelligkeit messen und Display- oder LED-Helligkeit fuer Tag und Abend unterschiedlich setzen.
Fensterplatz fuer Pflanzen pruefen
Du protokollierst Luxwerte ueber den Tag und erkennst, ob ein Standort genug Licht fuer dein Pflanzenprojekt bekommt.
Lichtschwelle sauber definieren
Statt Pi-mal-Daumen-Poti nutzt du echte Messwerte, um eine Lampe, Markierung oder Meldung bei nachvollziehbarer Helligkeit zu schalten.
Gehaeuseabschattung messen
Beim Einbau in ein Gehaeuse kannst du vergleichen, wie stark Fenster, Abdeckung oder Sensorposition den Messwert veraendern.
Luxwerte ohne Zusatzbibliothek per Wire auslesen
Der Sketch startet den BH1750 im kontinuierlichen High-Resolution-Modus und rechnet die zwei Messbytes in einen Luxwert um.
Vorbereitung und Umsetzung
| Schritt | Umsetzung |
|---|---|
| BH1750 VCC | Arduino 3,3 V oder Modulversorgung nach Boardbeschriftung |
| BH1750 GND | Arduino GND |
| BH1750 SDA | Arduino Uno A4 |
| BH1750 SCL | Arduino Uno A5 |
#include <Wire.h>
const byte BH1750_ADDR = 0x23;
void setup() {
Serial.begin(9600);
Wire.begin();
Wire.beginTransmission(BH1750_ADDR);
Wire.write(0x10);
Wire.endTransmission();
}
void loop() {
Wire.requestFrom(BH1750_ADDR, 2);
if (Wire.available() == 2) {
unsigned int raw = Wire.read() << 8;
raw |= Wire.read();
float lux = raw / 1.2;
Serial.print("Helligkeit: ");
Serial.print(lux);
Serial.println(" lx");
}
delay(1000);
}Die wichtigsten Werte
| Produkttyp | BH1750 digitales Lichtsensormodul |
|---|---|
| Messwert | Beleuchtungsstaerke als digitaler Luxwert |
| Schnittstelle | I2C/TWI |
| I2C-Adresse | Typisch 0x23; mit ADDR-Pin je nach Modul auch 0x5C moeglich |
| Messbereich | BH1750-Familie typ. 1 bis 65535 lx |
| Chip-Versorgung | BH1750 laut Datenblatt 2,4 bis 3,6 V; Modulversorgung nach Boardbeschriftung pruefen |
| Betriebsarten | Continuous und One-Time Measurement Modes mit unterschiedlicher Aufloesung |
| Einbau | Sensorflaeche frei zum Licht ausrichten und Abschattung durch Gehaeuse beachten |
| Grenze | Nicht als geeichtes Luxmeter fuer normpflichtige Beleuchtungsmessungen verwenden |
Datenblatt, Pinout und Tutorials
Eigene Makershop-Unterlagen stehen direkt auf unserem Server bereit. Ergänzend verlinken wir vertrauenswürdige technische Primärquellen.
Technische Grundlage: ROHM BH1750FVI Datasheet · Arduino Wire Library. Produktbilder und Lieferumfang beziehen sich auf das Makershop-Angebot.
Vor dem ersten Einsatz wissen
Welche I2C-Adresse hat der BH1750?
Viele Module nutzen 0x23. Je nach ADDR-Beschaltung kann auch 0x5C auftreten; ein I2C-Scanner klaert die konkrete Adresse.
Kann ich den Sensor mit 5 V betreiben?
Der BH1750-Chip ist ein 3,3-V-Baustein. Ob 5-V-Modulversorgung moeglich ist, haengt von Regler und Pegelanpassung der gelieferten Platine ab.
Warum aendert sich der Wert im Gehaeuse?
Fenster, Abdeckung, Einbauwinkel und Schatten beeinflussen die Beleuchtungsstaerke am Sensor deutlich.
Ist das ein geeichtes Luxmeter?
Nein. Das Modul ist fuer Mikrocontrollerprojekte und relative Lichtmessungen gedacht, nicht fuer normpflichtige Beleuchtungsnachweise.






















timo –
Sehr genauer Lichtsensor, der sich mittels I2C schnell und einfach einbinden läßt!