A motion, direction and orientation sensor for Arduino/MicroPython projects
Add motion, direction and orientation sensors to your Arduino projects with this all-in-one 9 degrees of freedom sensor (9-DOF sensor). The integrated circuit contains three sensors, one of them is a classic 3-axis accelerometer, capable of indicating the direction relative to the center of the earth (by measuring gravity on 3 axes) OR of quantifying the acceleration of the board in a 3-dimensional space. The second sensor is a 3-axis magnetometer capable of detecting where the strongest magnetic field comes from, usually used to detect the north magnetic pole. The third is a 3-axis gyroscope (wikipedia) capable of measuring the angular position (measurement of spin and twist). By combining the data you can REALLY orient yourself.
The LSM9DS1 is the last proposed revision of ST micro gyroscope. It is a great component to creates your own activity and travel plotters with a wealth of data available at reasonable price! Adafruit had created a breakout board with all the necessary circuits such as a 3V regulator and level shifter (logic level adapter) allowing the breakout to be used with in 3V or 5V logic microcontrolers.
The LSM9DS1 have slightly different measurement range compared to LSM9DS0.
Some technical information:
- The LSM9DS1 accelerometer supports the ranges ±2/±4/±8/±16 g
(no range ±6 g as on the LSM9DS0).
- The LSM9DS1 magnetometer supports the ranges ±4/±8/±12/±16 gauss
(no range ±2 gauss as on the LSM9DS0 but addition of a range ± 16 gauss).
- The LSM9DS1 gyroscope supports the ranges ±245/±500/±2000 dps (degrees per second).
Same as LSM9DS0.
The sensor supports both I2C and SPI buses.
Connecting this board to an Arduino is simple: power supply to Vin and GND ground (between 3 and 5VDC). You then connect the I2C bus to SCL and SDA. Now, you're ready to start!
More advanced users will be able to use the SPI interface (faster), the Adafruit library supports both buses.
The breakout is delivered fully assembled with an LSM9DS1 and tested. The breakout comes with a few extra connectors (pinHeader) to allow you to use it on a breadboard. The 4 fixing holes allow for stable mounting. The power pins, bus, and data pins are on one side of the board while the interrupt pins are on the other side of the board.
Angular speed vs absolute angle - What are these DPS?
The gyroscope returns a measurement in the ranges ±245/±500/±2000 dps. DPS stands for Degrees Per Seconds. These are angular degrees and therefore this measurement in DPS is therefore an angular speed. For example: 360 DPS means one complete lap (360°) in one second, so 1 lap per second = 60 rotation per minute.
A gyroscope tends to keep its orientation, which makes it possible to measure deviations from the "kept" orientation. This information is returned in the form of angular speed indicating the direction of the movement and its speed (this information makes it possible to measure the variation of angular position compared to time). To know the angle, you must integrate the signal during the movement, see this post on futura-sciences.com but the important thing, like on a tablet, isn't to know the absolute angle but the "movement and its amplitude". Indeed, the direction and absolute angles can be deduced using an accelerometer + magnetometer.
A real inertial unit, such as those used in the international space station, provides an angle relative to an absolute direction BUT this type of inertial unit requires very bulky equipment and significant corrections.