Author Options:

interface arduino with MLX90620? Answered

Does anyone know of an arduino sketch or library that can drive a 16x4 array of LEDs from the input from a MLX90620 sensor?  I want to make a basic thermal viewer, that doesn't need to read exact temperature, just dim them according to the input.   


I believe hes looking for code which reads from the MLX90620, which is a bit more unusual.
I could be wrong though, thats just what I presumed

Yes, precisely. does any known pixel display use that input? can a generic DA converter change it to a set of values or something? Or, can an arduino using the TVout library send an NTSC signal display the thermal sensor? I'm just kind of throwing out ideas, so I really don't mind criticism/naysaying.


Well, its a bit more complex than that.

MLX90620 isnt a "camera" in the usual sence. You have to "talk" to it and request the array data.

You would then send this data out to some LEDs if thats what you want to do.

You need to communicate with the MLX90620 via i2c communication over the CLK and SDA pins (check the datasheet for MLX90620).

Thats the programming side of things.. Then you also have issues with the electronics side of things. This component works at 2.6V (not the 5V or 3V3 your Arduino uses), so you need to generate a 2.6V power supply and also step the communication lines to the correct voltage too! I have been working on how to connect up this component here: http://arduino.cc/forum/index.php/topic,122044.0.html

Oh, I was afraid of the communication issue. The voltage won't be a problem, the only problem for me would be getting the input numbers. I might be able to pull something together if someone has a code that assigns each pixel value to a variable (which, if they can do that, i'd bet they could also program the display, but anyway). Does anyone know where I could find a code that does that or could be changed to do that?

I have ordered all of the components I need for the power conversion so when they arrive ill be writting the code.

Yes, I have it :)
I found your thread after I ordered it and hoped someone would have already done the code lol.. but I'm happy to do the code, kinda looking forward to it in a sick kind of way haha for the challenge.
I may make a blog about it

Just wondering if you've done anything further, I'm looking foward to seeing this.

Some other guy already did something similar, which is what gave me the idea. The thing is, his interfaces to an iphone, which I don't have, so I wanted a simpler discrete unit. I'll try to find the article, since he already has some code done, maybe you can reuse it? I'm not sure how the code works, and I would have no clue where to start myself.

It's here http://www.rhworkshop.com/2012/09/open-source-info-for-tipic.html This was featured on the front page of instructables, so I'm surprised you didnt see it.

would any of these be able to send the information directly to and from the sensor, without any additional microcontrollers connected to it? I saw these a while ago, and thought it'd be cool to be able to remove the sensor from the circuit and still see the image




I'm also after this. Im planning on attempting it my self but 1st I'm trying to understand the wiring up of the component.. I'm from a code background and learning about the electronics side so when its wired up I'm fairly confident ill work it out.

The data sheet I have for the component seems a bit ambiguous as to if the vdd can be 3v3 or if it must be 2v6 :s

its simple, the positive lead of the LEDs are soldered in rows, the cathodes in collumns. If you bring collumn 1 low, and row 1 high, then it will light up the corner LED. Brining row 2 high, and 1 low will light up the second LED over, and so on. there's 4 rows, and 16 collumns. by multiplexing the 4 rows, each LED should be individually addressable. For a better explanation of LED arrays, watch Colin Cunninghams youtube video Circuit Skills: LED array.

Actually, come to think of it, would it be possible to directly interface with an LED/lcd display (with driver) without any programming? namely, does it output the same way another display takes input?