Le module MPU6050 est une centrale inertielle qui permet de mesurer l’évolution d’un objet dans l’espace. Il comporte 6 axes, 3 pour l'accélération et 3 pour le gyroscope
Il permet de mesurer les accélérations linéaires et angulaires dans les trois axes de l’espace.
Sa puce MEMS (Microelectromechanical systems) est très précise avec une conversion analogique-digitale sur 16 bits simultanée sur chaque canal, et une interface I2C (Inter Integrated Circuit (SDA, SLC)) cadencée à 400 kHz.
Ce composant se retrouve dans plusieurs applications notamment les manettes de jeux vidéo ou les smartphones. Il peut être utilisé pour faire du contrôle d’assiette sur un drone ou pour équilibrer un robot sur deux roues.
Le capteur contient un registre FIFO (First In, First Out) de 1024 octets que les microcontrôleurs comme un Arduino peuvent lire. Il est doté d'une sortie d'interruption pour être prioritaire dans un programme et interrompre le programme pour lire les nouvelles données envoyées
Le capteur possède également un DMP (Digital Motion Processor) capable de faire des calculs rapides directement sur la puce à partir des mesures brutes du capteur, mais il est aussi possible de traiter les mesures brutes sur son microcontrôleur.
Spécification
● Modèle No : MPU6050
● Alimentation : 3,3 à 5 Vcc
● Consommation : 3,9 mA maxi
● Plages de mesure :
- accéléromètre : ±2 g - ±4 g - ±8 g - ±16 g
- gyroscope : ±250/500/1000/2000 °/s
● Interface I2C
● Température de service : -40 °C à +85 °C
● Dimensions : 25 x 20 x 7 mm
Configuration
Code
Le programme utilise deux bibliothèques spécifiques MPU6050.h (gestion du MPU6050) et wire.h (gestion du bus I2C) qui doivent être installées au préalable à l’utilisation du module.
// Test module MPU6050 : Accélérometre et Gyromètre #include "MPU6050.h" // Addresse I2C par défaut : 0x68 // Définition des variables void setup() // Initialisation de la liaison serie console // Initialisation MPU6050 //Vérificaiton de la connection void loop() delay(300); |