BH1750 API参考与常见问题排查清单返回无数据、I2C地址找不到等6个高频问题源师兄【免费下载链接】CupCode_BH1750光线模块该模块用于测量环境光线强度项目地址: https://gitcode.com/yuanshixiong/test源师兄 BH1750 光线模块CupCode_BH1750是一款基于I2C的数字环境光感扩展用于测量环境光线强度可直接读取照度值lux并返回全黑/明亮/强烈日晒等明暗档位。本文提供完整的BH1750 API 参考并整理返回无数据、I2C 地址找不到等 6 个高频问题的排查清单帮助新手快速定位故障、稳定读数。一、认识 BH1750 光线模块BH1750 是一颗数字式环境光照度传感器通过I2C总线把环境有多亮换算成具体数值lux勒克斯输出无需手动计算电压接上即可读数。本扩展将传感器封装成 ohcode 积木核心能力集中在驱动库 library/bh1750_lib.py 中扩展说明见 config.json积木分类见 category.jsonPython 生成逻辑见 blocksdef.js。 适合场景智能灯光随环境调光、温室光照监测、白天/黑夜自动切换、教室光照达标检测等。二、接线与快速上手⚡ 接线遵循标准 4 线制见 README.md引脚连接说明SCLGPIO22时钟线积木内可改SDAGPIO21数据线积木内可改VCC3.3V电源GNDGND地ADD接地决定 I2C 地址为0x23上手三步放置扩展目录 → 用初始化积木指定 SCL/SDA 引脚 → 调用读取积木。加载与完整接线说明详见 README.md。三、BH1750 API 速查表所有方法都封装在 BH1750 类中调用前先完成初始化API参数返回值作用BH1750(scl, sda)22, 21默认实例初始化并上电read_lux()无浮点 lux读取当前照度level()无文字档位按亮度返回档位文字对应源码read_lux()见 library/bh1750_lib.pylevel()见 library/bh1750_lib.py。import sys sys.path.insert(0, library) import bh1750_lib light bh1750_lib.BH1750(22, 21) # 初始化SCL22, SDA21 print(light.read_lux()) # 例356.7 (lux) print(light.level()) # 例室内正常四、明暗档位对照表level()会把 lux 换算成直观文字便于直接驱动逻辑lux 范围档位文字典型场景 1全黑完全遮光1 ~ 30夜间照明夜晚灯光30 ~ 200室内正常日常室内200 ~ 1000明亮白天窗边≥ 1000强烈日晒户外阳光阈值定义见 library/bh1750_lib.py。五、6 个高频问题排查清单 以下按出现频率整理遇到先对号入座。问题 1读取无数据返回 None 或报错原因没有先初始化、I2C 未建立、引脚号填错。排查先调用初始化积木BH1750(scl, sda)确认引脚为 22/21再执行read_lux()。✅解决初始化与读取必须成对使用初始化在前。问题 2I2C 地址 0x23 找不到 / 扫描不到原因ADD 引脚未接地、接线松脱、VCC 与 GND 接反。排查确认ADD 已接地否则地址不为 0x23逐根检查 4 根线核对 VCC3.3V。✅解决ADD 接地即锁定地址0x23见 library/bh1750_lib.py。问题 3读数忽大忽小、不稳定原因环境光在变、电源波动、传感器被手遮挡。排查固定传感器朝向与位置避开发光屏幕保持供电稳定。✅解决连续读取多次取平均值可明显平滑波动。问题 4读数固定偏大或偏小需校准原因换算系数、环境反射、安装角度差异。排查分别在明亮与全黑环境各测一次与参考值对照。✅解决lux 由原始值除以 1.2 得到见 library/bh1750_lib.py可在该处微调校准系数。问题 5接线后无响应 / 初始化报错原因GPIO 引脚与其他 I2C 设备冲突、引脚号超出范围。排查核对引脚是否被其他外设占用确认传入的是有效 GPIO 编号。✅解决为 BH1750 预留独立的 I2C 引脚对避免总线争用。问题 6连续读取响应慢 / 循环阻塞原因高精度模式单次测量约180ms属正常耗时。排查确认测量逻辑sleep_ms(180)见 library/bh1750_lib.py。✅解决在循环中预留间隔避免密集轮询导致卡顿。六、相关文件索引文件作用library/bh1750_lib.pyBH1750 驱动库read_lux()、level()blocksdef.js积木定义与 Python 代码生成category.json积木分类初始化/读取/档位config.json扩展元信息README.md接线与使用说明LICENSEApache-2.0 排查口诀先接线、再初始化、后读取地址看 ADD波动看环境慢就留间隔。【免费下载链接】CupCode_BH1750光线模块该模块用于测量环境光线强度项目地址: https://gitcode.com/yuanshixiong/test创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考