Search
Product Info
Compass Module with Tilt Compensation - HMC6343
sku: SEN-08656
Description: The HMC6343 is a solid-state compass module with tilt compensation from Honeywell. The HMC6343 has three axis of magneto, three axis of accelerometer, and a PIC core running all the calculations. What you get is a compass heading over I2C that stays the same even as you tilt the board. Solid-state (and many classic water based) compasses fail badly when not held flat. The tilt compensated HMC6343 is crucial for those real-world compass applications. Who says robots have to stay flat?Features:
- I2C interface
- 2 degree heading accuracy
- All in one compass solution
- Compass heading and tilt outputs
Documents:
Pricing
Comments
11 comments
Feeds
Currency
Display prices in
Feedback
If you would like to tell us more, you can fill out our form if you need some psycho-suggestive questions. Go to the form.
























Could you please confirm that the small surface mount component to the left of the chip is a 1uF capacitor to eliminate noise from the power supply?
If it is not, could you say what it is, and what it is for?
Thanks!
Thanks
And syvwich, yes, I do believe that that's what the cap is and that's what it is for as recommended in the HMC6343's datasheet.
Lastly, this thing is fun and easy to work with, but I may have accidentally reset my hard iron offsets because my compass heading is giving me errors. The tilt and pitch are fine though.
Thanks for breaking this out Sparkfun!
-bg
Can you share the arduino code with us?
Arduino Header HMC6343
------------------------------------------------
#ifndef HMC6343_h
#define HMC6343_h
/**
* analog input 5 - I2C SCL
* analog input 4 - I2C SDA
**/
class HMC6343
{
private:
// I2C Client Address of the sensor
const static int i2cAddress= (0x32 >> 1);
HMC6343(){};
public:
static int getAngle();
};
#endif
------------------------------------------------
Arduino CPP Code HMC6343
------------------------------------------------
#include "WProgram.h"
#include
#include
#include "HMC6343.h"
int HMC6343::getAngle()
{
byte headingData[6];
Wire.beginTransmission(HMC6343::i2cAddress);
Wire.send(0x50);
Wire.endTransmission();
delay(2);
Wire.requestFrom(HMC6343::i2cAddress, 6);
int i = 0;
while(Wire.available() && i < 6)
{
headingData[i] = Wire.receive();
i++;
}
return (headingData[0]*256 + headingData[1])/10;
}
Pretty cool as you can get raw data from the 3D magnetometer, 3D Accelerometer as well as the pitch & roll angles - oh, yeah, and also the compass heading :P
and if anyone is wondering im building an autonumus quad rotor
...and if anyone is wondering im building an autonumus quad rotor ...
Hi!
I am also building my own autonomous quad rotor, I would like to get in contact with you if you are interested to share few ideas...
my e-mail: buzzo182@hotmail.com
Let me know!