RASPBERRY PI AND SENSE HAT(II): IMU (INERTIAL MANAGEMENT UNIT) WITH ACCELEROMETER, GYROSCOPE AND MAGNETOMETER
- Layout for this exercise:

1 - Introduction
- The Sense HAT has a movement sensor called an IMU (Inertial Management Unit) which can measure the type of movement it is experiencing:
https://www.raspberrypi.org/learning/astro-pi-guide/sensors/movement.md
- An IMU is an electronic device that measures and reports a body's specific force, angular rate, and sometimes the magnetic field surrounding the body, using a combination of accelerometers and gyroscopes, sometimes also magnetometers.
- An IMU is built basically with 3 sensors in one. The readings for these 3 sensors are combined to have an accurate orientation of the Sense HAT module:
a) gyroscope: measures momentum and rotation.
b) accelerometer: measures acceleration forces and can be used to find the direction of gravity.
c) magnetometer: measures the Earth's own magnetic field, so it's a bit like a compass.
- An IMU sensor is used on all manned and unmanned spacecraft to track movements and maintain an understanding of orientation.
- All objects in space have three axes around which they can rotate. The three axes are:

- Pitch, roll, yaw are terms used in aviation and airplane control to describe the movement around the 3 axes:
a) pitch: like a plane taking off

b) roll: the plane doing a victory roll

c) yaw: steering the plane like a car

- This image shows where these axes are in relation to the Sense HAT:

2 - Programming Raspberry Pi and Sense Hat to determine its orientation
- The next program offers accurate information about the orientation of the Raspberry Pi and Sense Hat module.
- The function set_imu_config(True,True,True) sets the magnetometer, gyroscope and accelerometer (in that order) to make measurements about the position (determined by the pitch, roll and yaw output parameters):


- Giving permissions of execution:

- The initial position of the Raspberry Pi and Sense Hat is flat on a table:

- Running the program:

- Tilting up the Raspberry Pi and the Sense Hat modules:

- After tilting up the module a variation for the pitch is detected while roll and yaw remain almost equal:
