BH1750 je digitální senzor, který měří intenzitu světla (lux) a komunikuje přes I2C.
- rozsah: 1 až 65535 lux
- rozlišení: až 0.5 lux
- chová se podobně jako lidské oko (citlivost)
Použití:
- detekce den/noc
- automatický jas displeje
- řízení osvětlení

🔌 Piny modulu (přepsaná tabulka)
- VCC – napájení (3.3V nebo 5V)
- GND – zem
- SCL – I2C clock
- SDA – I2C data
- ADD – volba I2C adresy
I2C adresa:
- ADD na GND → 0x23
- ADD na VCC → 0x5C
🔗 Zapojení ESP32 ↔ BH1750 (přepsaná tabulka)
- VCC → 3.3V
- GND → GND
- SCL → GPIO 22
- SDA → GPIO 21
- ADD → nechat odpojené (0x23)

⚙️ Jak senzor funguje
- měří světlo a vrací hodnotu v luxech
- komunikuje přes I2C (jen 2 dráty)
- má režimy:
- kontinuální měření
- jednorázové měření
Přesnosti (přepsaná tabulka):
- low res → přesnost ~4 lux, rychlé (~16 ms)
- high res → ~1 lux, pomalejší (~120 ms)
- high res 2 → ~0.5 lux
📦 Knihovna
Používá se:
- BH1750 (Christopher Laws)

🧾 ✅ KOMPLETNÍ KÓD: čtení světla
bh.cpp
1#include <Wire.h>
2#include <BH1750.h>
3
4BH1750 lightMeter;
5
6void setup() {
7 Serial.begin(9600);
8
9 // start I2C
10 Wire.begin();
11
12 // init sensor
13 lightMeter.begin();
14
15 Serial.println("BH1750 start");
16}
17
18void loop() {
19 float lux = lightMeter.readLightLevel();
20
21 Serial.print("Light: ");
22 Serial.print(lux);
23 Serial.println(" lx");
24
25 delay(1000);
26}🧪 Jak to funguje
- senzor změří světlo
- vrátí hodnotu v luxech
- ESP32 ji přečte
- vypíše do Serial Monitoru
🧾 Shrnutí
- BH1750 = jednoduchý světelný senzor
- komunikuje přes I2C
- měří přímo v luxech (žádný přepočet)
- velmi snadné použití s ESP32
