6DOF Digital IMU
From MyLabWiki
Contents |
Overview
Digital IMU Combo Board - 6 Degrees of Freedom using ITG-3200 gyro and ADXL345 accelerometer.
This is a simple breakout for the ADXL345 accelerometer and the ITG-3200 gyro, giving full 6 degrees of freedom. The sensors communicate over I2C and one INT output pin from each sensor is broken out, see the schematics below.
The schematics is also available as PDF.[1] Eagle files are available from the Sparkfun product page.[2]
Interfacing
This is a 3.3V device and therefore it needs a level converter to connect it to a 5V Arduino. Remember to use the TX lines to get bi-directional conversion.
Programming
Uses I2C bus:
- ITG-3200 address: 0xD0 for write and 0xD1 for read.
- ADXL345 address: 0xA6 for write and 0xA7 for read.
There is an example application on GitHub, see https://github.com/a1ronzo/6DOF-Digital .
On Arduino we can also use the Wire library. However, note that the Wire library uses 7 bit addresses. In fact, I2C addresses are only the upper 7 bit the last bit indicating whether we read (1) or write(0). For the case of the ITG-3200:
- Write: 0xD0 = 11010000
- Read: 0xD1 = 11010001
References
- ADXL345 acceleromenter datasheet: File:ADXL345.pdf
- ITG-3200 gyro datasheet: File:ITG3200-00-01.4.pdf
- Available from Sparkfun