diff options
| author | Tim Redfern <tim@eclectronics.org> | 2012-01-18 18:02:10 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2012-01-18 18:02:10 +0000 |
| commit | 8c3efb592b16b672fc353368c04d88d3a32cf1a2 (patch) | |
| tree | 9cf4887292432c656651012c5370009b4a69cddf /arduino_libs_1_0/I2C/examples/HMC5883L | |
| parent | fe92239d966f0219e8b7caf6335a776938b4e0e3 (diff) | |
Diffstat (limited to 'arduino_libs_1_0/I2C/examples/HMC5883L')
| -rw-r--r-- | arduino_libs_1_0/I2C/examples/HMC5883L/HMC5883L.pde | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/arduino_libs_1_0/I2C/examples/HMC5883L/HMC5883L.pde b/arduino_libs_1_0/I2C/examples/HMC5883L/HMC5883L.pde new file mode 100644 index 0000000..806e749 --- /dev/null +++ b/arduino_libs_1_0/I2C/examples/HMC5883L/HMC5883L.pde @@ -0,0 +1,70 @@ +/******************************************* + Sample sketch that configures an HMC5883L 3 axis + magnetometer to continuous mode and reads back + the three axis of data. + Code compiles to a size of 1500 bytes + Equivalent Wire Library code compiles to 2032 bytes + *******************************************/ + +#include <I2C.h> + +#define HMC5883L 0x1E + +int x = 0; +int y = 0; +int z = 0; + + +void setup() +{ + I2c.begin(); + I2c.write(HMC5883L,0x02,0x00); //configure device for continuous mode +} + +void loop() +{ + I2c.read(HMC5883L,0x03,6); //read 6 bytes (x,y,z) from the device + x = I2c.receive() << 8; + x |= I2c.receive(); + y = I2c.receive() << 8; + y |= I2c.receive(); + z = I2c.receive() << 8; + z |= I2c.receive(); +} + + +/* Wire library equivalent would be this + +//#include <Wire.h> + +#define HMC5883L 0x1E + +int x = 0; +int y = 0; +int z = 0; + + +void setup() +{ + Wire.begin(); + Wire.beginTransmission(HMC5883L); + Wire.send(0x02); + Wire.send(0x00); + Wire.endTransmission(); +} + +void loop() +{ + Wire.beginTransmission(HMC5883L); + Wire.send(0x03); + Wire.endTransmission(); + Wire.requestFrom(HMC5883L,6); + x = Wire.receive() << 8; + x |= Wire.receive(); + y = Wire.receive() << 8; + y |= Wire.receive(); + z = Wire.receive() << 8; + z |= Wire.receive(); +} + +********************************************/
|
