// Reference the I2C Library
#include <Wire.h>
#define ADDRESS 0x1E
// Out setup routine, here we will configure the microcontroller and compass.
void setup () {
  Serial.begin(9600);
  Wire.begin();
  Wire.beginTransmission(ADDRESS);
  Wire.write(0x02); //select mode register Wire.write(0x00);
  Wire.write(0x00); //continuous measurement mode
  Wire.endTransmission();
}
// Our main program loop.
void loop()
{
  int x,y,z;
  Wire.beginTransmission(ADDRESS);
  Wire.write(0x03);
  Wire.endTransmission();
  Wire.requestFrom(ADDRESS,6);
  if (Wire.available()) {
    // Bmax = 1.3*100 microT
    float Bx = (Wire.read()*256 + Wire.read())*1.3*100*2/65535.;
    float By = (Wire.read()*256 + Wire.read())*1.3*100*2/65535.;
    float Bz = (Wire.read()*256 + Wire.read())*1.3*100*2/65535.;
    Serial.print("  Bx=");
    Serial.print(Bx, 5);
    Serial.print("  Bz=");
    Serial.print(Bz, 5);
    Serial.print("  By=");
    Serial.println(By, 5); 
  }
  delay(500);
}