espressif / arduino-esp32

Arduino core for the ESP32
GNU Lesser General Public License v2.1
13.47k stars 7.38k forks source link

MLX90614 some time not giving right values on i2c #1939

Closed jjassar closed 5 years ago

jjassar commented 6 years ago

Hello all, I Need help regarding MLX90614 i2c communication.

I am using a ESP32 board which is communicating with MLX90614 i2c temperature sensor. Sensor is directly soldered on the ESP32 board, with 4.7k pullups. I am using ESP32 release 1.0.0, Library used to communicate with MLX90614 is https://github.com/sparkfun/SparkFun_MLX90614_Arduino_Library

Default Release 1.0.0 gives occasionally error in reading values Then i replaced 4 files from latest GitHub Repo, as guided @stickbreaker, after which reading from sensor become more stable.

But once it start giving wrong temperature values then wrong values comes continuously. Problem is solved most of time by calling ESP.restart() But sometimes only hardware restart solves the problem.

Also to note that when i add transact() methods to wire library created by @stickbreaker and calls transact() in Sparkfun Library then the error rate reduces.

Please help how can i make reading more stable.

stickbreaker commented 6 years ago

@jjassar more info is needed.

Chuck.

jjassar commented 6 years ago

Hello @stickbreaker, sorry for delay. I am on leave due to family emergency. Will update soon as I get back to work. Thanks a lot

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] commented 5 years ago

This stale issue has been automatically closed. Thank you for your contributions.