Go Down

Topic: Melexis MLX90614 IR Sensor > Mini Pro (Read 5691 times) previous topic - next topic


I've read through most everything I can find on getting the 90614 to talk with Arduinos. This thread (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1214872633/all) on the older forum had  lot of useful information, and it seems many folks have succeeded with this device. I'm not so lucky. My setup is a 3v3 8MHz Mini Pro connected to the MLX90614 as advised. I've installed the I2C Master library and modified the clock rate in the twimaster.cpp file (tried both 16 and 8 MHz). I2C clock rate is set to 50KHz.

I've tried the sketches from Dave Eaton, Bildr and Narwath. All compile and upload, all result in same outcome: I get no output whatsoever from the serial port, not even the "Hello" println that's only preceded by the i2c library include and the serial rate. Nothing.

Strangely, the onboard led on pin 13 lights up shortly after reset and stays on solid. I can't find code anywhere in the library or sketches that would explain this.

Any thoughts would be appreciated. Is it possible that 50KHz is too fast for the 8 MHz Mini?



OK, I found the fix. A silly little thing. I had originally put the I2C Master folder in the library folder and started the Arduino IDE before I made the necessary changes to the twimaster.cpp file. It appears that even though I later made the changes, the IDE ignored them. Perhaps it compiles a .o file the first time it sees a new library and doesn't do it again?

At any rate, when I took the I2C folder out of the Library directory, started the Arduino IDE, quit the IDE, moved the I2C folder back to the library folder (with the recommended twimaster.cpp edits already made), and fired up the IDE again it all worked like a charm, first try.


Now it is time for me to play with MLX90614ESF-BAA.

Numbers that gets are too random. It cannot be taken seriously.
I am comparing this with semi-hobby-pro thermometer.

MLX90614ESF-family seems to have many choices, BAA-was available local shop, and I thought
I can give it a try.

Circuit is simple, between Vcc and GND I have 0.1uF capasitor, and external 4,7k pull-ups for SDA and SCL.

Duemilanove didn't get anything out from this, then I uploaded the code to Nano-clone, and I am at least able
to get something, values just don't show what is expected.

Maybe this BAA is not the best for all purpose temperature measurement, only for short range, few centimeters?

Gotta keep testing.

The only law for me; Ohms Law: U=R*I       P=U*I
Note to self: "Damn! Why don't you just fix it!!!"


WHat is the magnitude of the randomness? 0.1's of degrees, degrees or tens of degrees? Are you using a 5 volt or 3 volt board? Just curious...



I got more information about the module.

And answer to your question; the value waves A LOT! Example, there's -6 degrees celcius outside, given value was about from -7 to -14. And inside, as well, no uderstadable readings reaaly.
Secondly, I am using 5V, but seems like this eats 3V too. Need to look at the datasheet again and with thought.

Then, in Finnish astronomy-forum, they made simple cloudy meter, and the author told me that this is not exactly point and measure component. The purpose of this is to measure luminocity temperature.

So, summa summarum, it should work just fine where it is needed, I only need to throw it out and look at the sky, not houses or asphalt, not animals... just the sky.


The only law for me; Ohms Law: U=R*I       P=U*I
Note to self: "Damn! Why don't you just fix it!!!"


Based on the datasheet it looks the standard package (BAA) has a field of view of roughly 80 degrees (40 degrees on each side of axis). So that would mean that the base width of the cone it "sees" is nearly double the distance from the sensor. In other words, pretty limited for most uses at a distance. However, I would think the sensor would work well for looking at the sky, in terms of total cloudiness.
Good luck.


Add one more little 'gotcha' for a newbie- the Mega 2560 uses pin 21 for SCL and 20 for SDA.

Combined with some library newbieness, it took a while to 'doh' that one

I (as others) had to remove all but the i2cmaster.h and modified twimaster.cpp files from the library.

Big thanks to all especially Peter Fleury, CalculusAEand SensorJunkie for getting someone
(who last coded when Basic was still cool.. wait.. was it ever?)
up and running!

Now to go forth and measure...




What changes did you have to make to get it to work with the Mega 2650? 



Sorry, there were no changes required, I just had it wired wrong. :smiley-red:  Got it working now.  Thanks!

I also found this forum post helpful: http://arduino.cc/forum/index.php/topic,126244.0.html

Go Up