注意事项
本文代码在arduino IDE环境下开发使用,其中使用到了Wire.h和BH1750.h两个库函数,使用时需要先下载这两个库文件,下载库文件在工具–管理库中下载安装,细节流程本文中不做细节描述,还请见谅。
元器件清单
ESP32-WROOM-32、BH1750模块
接线
利用IIC协议使用ESP32获取BH1750数据,IIC端口使用ESP32默认IIC接口,ESP32库不同可能会导致默认的ESP32默认IIC端口定义不同,使用前可以先参考下面给出的文件路径查询自己使用的ESP32对于IIC接口的默认定义。(查找IIC接口默认定义方式参考了文章 链接: 点击此处转到原作者文章,如有侵权请私信我处理。)
C:\Users\23238\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\variants\esp32-devkit-lipo
我使用时的解析定义如下:
ESP32 | BH1750 |
---|---|
VIN(5V) | VCC |
GND | GND |
D21 | SDA |
D22 | SCL |
GND | ADDR |
代码
使用代码时请注意接线是否正确,本人未验证过BH1750是否可以使用3.3V供电,如需使用请小心
#include "stdio.h"
#include "Wire.h"
#include "BH1750.h"
float Light_Value;
BH1750 Light;
void setup()
{
Serial.begin(115200);
Wire.begin();
Light.begin();
}
void loop()
{
Light_Value=Light.readLightLevel();
Serial.print("Light is:");
Serial.print(Light_Value);
Serial.println(" lx");
}