Hi Stephen,
Thanks for the reply
The plan, as you have highlighted, was to read the temp from two sensors attached (or in my case, being IR, close to) to two separate DC motors, and show the result on an LCD. I have since done some more research and now I understand that the sensors I have purchased, being MLX90614 (not the MLX90615 as noted above) should be connected to the I2C pins, of which there are two opportunities to do so on the UNO.
I have used the following sketch which operates them beautifully, one at a time. If I connect them both at the same time one reads very strangely. I am guessing that is due to something extra needed in the code.
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
Serial.begin(9600);
Serial.println(“Adafruit MLX90614 test”);
mlx.begin();
}
void loop() {
Serial.print(“Ambient = “); Serial.print(mlx.readAmbientTempC());
Serial.print(”*C\tObject = “); Serial.print(mlx.readObjectTempC()); Serial.println(”*C”);
Serial.print(“Ambient = “); Serial.print(mlx.readAmbientTempF());
Serial.print(”*F\tObject = “); Serial.print(mlx.readObjectTempF()); Serial.println(”*F”);
Serial.println();
delay(500);
}
Even if I could get them both to work, the LCD Shield I purchased won’t allow one of the sensors as it uses those pins for itself.
The code I was eluding to in my first post, which I thought would do the trick is below. As you can see it refers to the other sensor which I don’t think I in fact have. That aside, it also is an I2C setup, which confuses me more because there are only two places on the UNO to have this setup…from my very limited knowledge 
#include “MLX90615.h”
#include <I2cMaster.h>
byte sda_1 = 3;
byte scl_1 = 2;
byte sda_2 = 5;
byte scl_2 = 4;
byte sda_3 = 7;
byte scl_3 = 6;
SoftI2cMaster i2c_1(sda_1, scl_1);
MLX90615 mlx90615_1(DEVICE_ADDR, &i2c_1);
SoftI2cMaster i2c_2(sda_2, scl_2);
MLX90615 mlx90615_2(DEVICE_ADDR, &i2c_2);
SoftI2cMaster i2c_3(sda_3, scl_3);
MLX90615 mlx90615_3(DEVICE_ADDR, &i2c_3);
void setup()
{
Serial.begin(9600);
Serial.println(“Setup…”);
}
void loop()
{
float temperatureObj1 = mlx90615_1.getTemperature(MLX90615_OBJECT_TEMPERATURE);
float temperatureObj2 = mlx90615_2.getTemperature(MLX90615_OBJECT_TEMPERATURE);
float temperatureObj3 = mlx90615_3.getTemperature(MLX90615_OBJECT_TEMPERATURE);
float temperatureAmb1 = mlx90615_1.getTemperature(MLX90615_AMBIENT_TEMPERATURE);
float temperatureAmb2 = mlx90615_2.getTemperature(MLX90615_AMBIENT_TEMPERATURE);
float temperatureAmb3 = mlx90615_3.getTemperature(MLX90615_AMBIENT_TEMPERATURE);
Serial.print("Temp_1: ");
Serial.print(temperatureObj1);
Serial.print("C "); Serial.print(temperatureAmb1); Serial.println("
C ");
Serial.print("Temp_2: ");
Serial.print(temperatureObj2);
Serial.print("C "); Serial.print(temperatureAmb2); Serial.println("
C ");
Serial.print("Temp_3: ");
Serial.print(temperatureObj3);
Serial.print("C "); Serial.print(temperatureAmb3); Serial.println("
C ");
Serial.println("\n=======================================\n\r");
delay(1000);
}
If you can suggest alternative hardware and code that is compatible with what I am trying to achieve I will place an order. I have lots of UNO’s though.
Cheers
Richard