MLX90614 & BMP085 on i2c lines?

Hi Guys.

I'm about to embark on my first (hopefuly of many) project based around the Arduino controller.

The plan is to make a device which is primarily a Cloud sensor for an astronomical observatory but include a few extra sensors to give full weather data.

most of the sensors are simple enough to connect, as there is only 1 connector per communication channel, but the MLX90614 & BMP085 both work in the i2c interface. can someone confirm if you can wire two sensors to the i2c lines? and if you can how does the Arduino know which sensor is which?

from looking at the data sheets for each device it looks like both use 3v logic levels.

I don't think its really relevant but the Arduino board i am going to be using is the Nano.

Thanks.

Ryan.

Thats the precise reason why i2c was created, each device as in address, so you talk to which one be specifying the address, just make sure you use 3.3v or a level converter or you will burn the bmp085, also use pull-ups in the i2c lines.

Thanks. that is what i wanted to hear.

Can you tell me how the address is allocated? is it hardcoded in to each sensor like a serial number or does it need to be programmed in by me?

Its hardcoded, you can see the address in the datasheet of each sensor, sometimes you can change one or two bits of the address grounding or connecting some of the sensor pins to Vcc.
About i2c, here:
http://www.arduino.cc/playground/Learning/I2C