如何修改Adafruit库的I2C引脚设置?ESP32适配MLX90614问题
问题解决:Lolin32 Lite使用指定I2C引脚驱动MLX90614
首先明确:完全可以通过指定引脚23(SDA)和19(SCL)来驱动MLX90614,你的引脚配置流程是正确的:
Wire.end(); Wire.setPins(23,19); Wire.begin();I2C扫描能成功就证明引脚设置已经生效,问题不在引脚配置上。
你遇到的连接错误,根源是传感器的I2C地址已被修改:
Adafruit_MLX90614库的begin()方法第一个参数默认是十进制90(对应十六进制0x5A,MLX90614的出厂默认地址),但如果之前的项目修改过传感器地址,这个默认地址就不再匹配。修正方法:
用I2C扫描工具得到传感器当前的实际地址,将其替换到mlx.begin()的第一个参数中。比如扫描到的地址是十六进制0x5B(十进制91),代码修改为:if (!mlx.begin(91, &Wire)) { // 也可以直接传入十六进制值0x5B Serial.println("Error connecting to MLX sensor. Check wiring."); while (1); };
内容的提问来源于stack exchange,提问作者user3411864
相关产品推荐
相关产品推荐

