THERMAL UNIT (MLX 90640) does not work.
-
I have M5Stack Gray and Thermal Unit.
I use Arduino IDE and I installed Arduino core for ESP32 using the board manager.I tried the example sketch that was included with M5Stack library.
https://github.com/m5stack/M5Stack/tree/master/examples/Unit/MLX90640I find that the THERMAL UNIT works or not is depending on the version of the ESP32 software.
- ESP32 v1.0.0 : not work
- ESP32 v1.0.1-rc1 : work
- ESP32 v1.0.1-rc2 : not work
- ESP32 v1.0.1-rc3 : not work
- ESP32 v1.0.1-rc4 : not work
- ESP32 v1.0.1 : not work
Only the v1.0.1-rc1, the Thermal Unit works. But I do not find the reason.
I want to work the Thermal unit with lastest version of ESP32 software.
Please give me some advice. -
This my version (improved) can you try?
https://github.com/yellowelise/M5Stack-Thermal-MLX90640 -
hello, change the MLX90640_I2C_Driver.cpp line 46
if (Wire.endTransmission(false) != 7) to if (Wire.endTransmission(false) != 0)
because in ESP32 v1.0.1-rc1, Wire.endTransmission(false) ok will return 7 not 0, in last, is different
-
@yellowelise
Thank you !
Using your programs, I got the data from MLX 90640. -
I fixed the code according to your advice.
I got data from MLX 90640 with Arduino core ESP32 v1.0.1.
Thank you ! -
@tchisaka
you like the "improvement"? -
I was glad that I could understand why I could not get the data.
Thank you.