Go Down

Topic: Melexis SMBus IR Thermometer - NFI (Read 20 times) previous topic - next topic

kg4wsv

Did you find out specifically what the device didn't like about wiring?  Is it an I2C vs. smbus issue, something nonstandard in one of the devices, etc.?

-j


CalculusAE

The device could not accept a stop/start condition transmission during a transaction. From what I understand, you cannot send a repeated start condition in the wire library without first sending a stop condition. This does not work with the smbus device I was using. I don't know if the device is out of spec or the wire simply doesn't support all smbus communication protocols.

maxr

CalculusAE, I hope you're still getting emails for this thread.  I have been trying your code to get readings from the MLX90614 and haven't had any luck.  Now I don't know if I might have damaged the device or what.  I'm new to Arduino and as you know SMBus is not easy.  Anyway, I have the pin voltage in the Arduino's 3.3V, and SDA into Analog4 and SCL into Analog 5.  I have 4.7k pull-ups, but have also tried without.

It fires the init but doesn't get past the i2c_start_wait.  Any help GREALY appreciated!

pnuu

I'm also trying to figure this out. I don't have the MLX sensor yet, but am already a bit mystified.. Where should I tell the i2c library which Arduino port(s) to use?

I'm looking at Peter Fleury's twimaster.c library.

maxr

Yes, this confused me at first too!  Pin 4 is data and pin 5 is the other one.

I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire library.

I got it working very quickly with the TPA81, though I believe I had to add a (pull down) 1.4k transistor on each of those lines.

see: http://arduino.cc/en/Reference/Wire

Go Up