I recently received a Barometer/Magnetometer purchased from Dealextreme.
Here is a link to the product on Dealextreme:
http://dx.com/p/arduino-hdpm01-electronic-barometer-w-compass-module-high-sensor-module-141365.
I have searched the model and have come up with this
http://datasheet.eeworld.com.cn/pdf/HOPERF/336666_HDPM01.pdf datasheet.
Datasheets from other sources have identical content (Only differences are in the layouts and company logos).
I have gathered that the manufacturer stores calibration data on its EEPROM which address is 0xA1.
Just trying to read the data off the EEPROM has proved difficult. I have looked on the Arduino site for any tutourials or other helpful information, as well as Dealextreme and even Adafruit for information on this or similar sensors. The page I found
http://playground.arduino.cc/code/I2CEEPROM seemed to look good to me, I was able to understand how to code was meant to function. The datasheet specifies that the EEPROM is read only, and in any case i wish to preserve the valuable calibration data, so I removed the parts of the code that (I believed) wrote over the EEPROM memory. The result was a constant "y" in serial monitor, which persisted to be generated when I removed the connection to the sensor.
I am aware that to communicate over I2C, addresses must be sent or written to the sensor/device and also to specify the parts of the EEPROM to read/write to.
I would like advice on how to get some data coming from the sensor, eventually calibration and sensor data. Also the datasheet provides very vague information on how to read the Magnetometer. I assume it most come out of the ADC somehow.
Thanks, Chris
Edit: I used the I2C scanner, which yeilded the following result:
I2C Scanner
Scanning...
I2C device found at address 0x30 !
I2C device found at address 0x50 !
done
Scanning...
I2C device found at address 0x30 !
I2C device found at address 0x50 !
I2C device found at address 0x77 !
done
After a couple more run throughs, the 0x77 disapprered?
Sorry for asking so many questions, but why does it intermittently identify a device at address 0x77?