This is a 10DOF (Degrees of Freedom) AVR Atmega libray.
An inertial measurement unit, or IMU, is an electronic device that measures and reports on a craft's velocity, orientation, and gravitational forces, using a combination of accelerometers and gyroscopes and magnetometers.
This IMU is built on:
- 3DOF ADXL345 3-axis accelerometer
- 3DOF L3G4200D 3-axis gyroscope
- 3DOF HML5883L 3-axis magnetometer
- 1DOF BMP085 barometer
Attitude estimation is computed using Mahony complementary filter algorithm available from here: http://www.x-io.co.uk/.
Setup parameters are stored in files:
adxl345/adxl345.h (setup the accelerometer)
l3g4200d/l3g4200d.h (setup the gyroscope)
hmc5883l/hmc5883l.h (setup the magnetometer)
bmp085/bmp085.h (setup the barometer)
imu10dof01/imu10dof01.h (setup the 10dof attitude estimation)
This library was developed on Eclipse, built with avr-gcc on Atmega328 @ 16MHz.
Changelog
- 02: attitude estimation refactored to fit standards
- 01: first release
Code
Notes
- read risk disclaimer
- excuse my bad english