نمونه‌کد BH1750 برای Arduino Uno و Generic ESP32

فایل‌ها:
- bh1750-readings.ino: اندازه‌گیری غیرمسدودکننده روشنایی بر حسب لوکس
- i2c-scanner.ino: پیدا کردن آدرس I2C

کتابخانه لازم:
- hp_BH1750 نوشته Stefan Armborst (از Library Manager آردوینو)
نسخه بررسی‌شده: 1.0.2. کد حالت High و MTreg=69 را صریح انتخاب می‌کند.
نمونه‌ها کامپایل می‌شوند؛ آزمون فیزیکی این انتشار انجام نشده است.
کد وضعیت خطای شروع، تمام‌مقیاس و انتظار بیش از دو ثانیه را گزارش می‌کند؛
کد نشانه getTime()==999 در نسخه 1.0.2 را به‌عنوان خطای دریافت بررسی می‌کند.
این رفتار داخلی را در نسخه‌های دیگر دوباره بررسی و قطع کابل را روی محصول واقعی آزمایش کنید.

سیم‌کشی برد Adafruit BH1750:
- ESP32: VIN به 3V3، GND به GND، SDA به GPIO21 و SCL به GPIO22
- Arduino Uno: VIN به 5V، GND به GND، SDA به A4 و SCL به A5

آدرس پیش‌فرض 0x23 است. با اتصال ADDR به VCC آدرس 0x5C می‌شود. اگر ADDR به VCC است، در کد BH1750_TO_GROUND را به BH1750_TO_VCC تغییر دهید.

توجه: تحمل 5V مربوط به برد آماده Adafruit با رگولاتور و Level Shifter است؛ تراشه خام BH1750FVI طبق دیتاشیت با VCC برابر 2.4 تا 3.6 ولت کار می‌کند.
