Again I would suggest check your wiring.
My one arrived today, I hooked it up to a T3.6 ... Quick and dirty

I ran the unedited Adafruit library test program:
Code:
/**************************************************************************/
/*!
This is a demo for the Adafruit MCP9808 breakout
----> http://www.adafruit.com/products/1782
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
*/
/**************************************************************************/
#include <Wire.h>
#include "Adafruit_MCP9808.h"
// Create the MCP9808 temperature sensor object
Adafruit_MCP9808 tempsensor = Adafruit_MCP9808();
void setup() {
Serial.begin(9600);
while (!Serial); //waits for serial terminal to be open, necessary in newer arduino boards.
Serial.println("MCP9808 demo");
// Make sure the sensor is found, you can also pass in a different i2c
// address with tempsensor.begin(0x19) for example, also can be left in blank for default address use
// Also there is a table with all addres possible for this sensor, you can connect multiple sensors
// to the same i2c bus, just configure each sensor with a different address and define multiple objects for that
// A2 A1 A0 address
// 0 0 0 0x18 this is the default address
// 0 0 1 0x19
// 0 1 0 0x1A
// 0 1 1 0x1B
// 1 0 0 0x1C
// 1 0 1 0x1D
// 1 1 0 0x1E
// 1 1 1 0x1F
if (!tempsensor.begin(0x18)) {
Serial.println("Couldn't find MCP9808! Check your connections and verify the address is correct.");
while (1);
}
Serial.println("Found MCP9808!");
tempsensor.setResolution(3); // sets the resolution mode of reading, the modes are defined in the table bellow:
// Mode Resolution SampleTime
// 0 0.5°C 30 ms
// 1 0.25°C 65 ms
// 2 0.125°C 130 ms
// 3 0.0625°C 250 ms
}
void loop() {
Serial.println("wake up MCP9808.... "); // wake up MCP9808 - power consumption ~200 mikro Ampere
tempsensor.wake(); // wake up, ready to read!
// Read and print out the temperature, also shows the resolution mode used for reading.
Serial.print("Resolution in mode: ");
Serial.println (tempsensor.getResolution());
float c = tempsensor.readTempC();
float f = tempsensor.readTempF();
Serial.print("Temp: ");
Serial.print(c, 4); Serial.print("*C\t and ");
Serial.print(f, 4); Serial.println("*F.");
delay(2000);
Serial.println("Shutdown MCP9808.... ");
tempsensor.shutdown_wake(1); // shutdown MSP9808 - power consumption ~0.1 mikro Ampere, stops temperature sampling
Serial.println("");
delay(200);
}
Code:
MCP9808 demo
Found MCP9808!
wake up MCP9808....
Resolution in mode: 3
Temp: 21.3750*C and 70.4750*F.
Shutdown MCP9808....
wake up MCP9808....
Resolution in mode: 3
Temp: 21.4375*C and 70.5875*F.
Shutdown MCP9808....
wake up MCP9808....
Resolution in mode: 3
Temp: 21.4375*C and 70.5875*F.
Shutdown MCP9808....
The wire scanner program finds it.
Code:
I2C Scanner
Scanning...
Device found at address 0x18 (LIS331DLH)
done
Scanning...
Device found at address 0x18 (LIS331DLH)
done
Scanning...
Device found at address 0x18 (LIS331DLH)
done
Although maybe need to add the logical name for device as one of them that might be using address 0x18
Update: FYI - I moved the SCL wire to 37 and SDA wire to pin 38 and edited the Adafruit program like:
Code:
if (!tempsensor.begin(0x18, &Wire1)) {
And it worked as well.