Créer une centrale inertielle avec le capteur MPU6050 – Projet Arduino inspiré des drones
- maximeprudhon
- 21 juin
- 4 min de lecture
Dernière mise à jour : 6 juil.

Vous cherchez à créer un projet Arduino inspirant, technique et accessible ? Le capteur MPU6050, utilisé dans les drones, montres connectées et systèmes embarqués, est la porte d’entrée idéale dans le monde de la mesure de mouvement. Dans cet article, nous allons voir comment utiliser ce composant pour réaliser une centrale inertielle maison avec Arduino.
Pourquoi utiliser un capteur MPU6050 avec un Arduino ?
Le capteur MPU6050 est un capteur inertiel 6 axes, largement utilisé dans l’univers de l’IoT et de la robotique. Il permet de mesurer :
les accélérations linéaires (via son accéléromètre),
les vitesses de rotation (via son gyroscope).
Possibilité d'améliorer sa précision avec des algorithmes comme le filtre de Kalman.
Ce capteur est au cœur de nombreux systèmes embarqués dans :
🚁 les drones, pour maintenir la stabilité en vol,
🚗 les voitures, pour détecter freinages ou virages,
⌚ les montres connectées, pour suivre les mouvements du poignet.
Grâce à ce module, vous pouvez concevoir une centrale inertielle Arduino capable de détecter inclinaisons, mouvements et chocs avec précision.
Un projet IoT clé en main pour se former à Arduino
En complément de ce tutoriel, je propose un kit DIY Arduino “Thermomètre connecté”, idéal pour apprendre l’IoT avec Arduino :
Programmation des capteurs,
Affichage des données sur un écran LCD,
Envoi des mesures vers un cloud IoT.
Tutoriel : créer une centrale inertielle Arduino avec MPU6050
Matériel nécessaire pour ce projet Arduino
Arduino Uno (ou Nano)
Capteur MPU6050 (GY-521)
Câbles Dupont
Breadboard (optionnelle)
Schéma de câblage du MPU6050
MPU6050 → Arduino Uno
VCC → 5V
GND → GND
SCL → A5
SDA → A4
📌 Le MPU6050 utilise le protocole I2C, ce qui réduit le nombre de fils à connecter.
Bibliothèque Arduino à installer
MPU6050

Code Arduino pour lire les données du MPU6050 (avec explications)
Voici un exemple de code pour utiliser ton MPU6050.
#include <Wire.h> // Bibliothèque pour la communication I2C
#include <MPU6050.h> // Bibliothèque spécifique au capteur MPU6050
MPU6050 mpu; // Création de l'objet MPU pour interagir avec le capteur
void setup() {
Serial.begin(9600); // Initialisation de la communication série (affichage dans le moniteur)
Wire.begin(); // Démarre la communication I2C entre l’Arduino et les périphériques
mpu.initialize(); // Initialise le capteur MPU6050 (configuration interne)
}
void loop() {
// Vérifie si le capteur est bien connecté à chaque boucle
if (!mpu.testConnection()) {
Serial.println("⚠️ Capteur MPU6050 non détecté. Nouvelle tentative dans 5 secondes...");
delay(5000); // Attend 5 secondes avant de réessayer
mpu.initialize(); // Tente une nouvelle initialisation du capteur
return; // Quitte cette itération de loop() pour recommencer au prochain tour
}
// Variables pour stocker les données brutes de l'accéléromètre et du gyroscope
int16_t ax, ay, az; // Accélérations sur les axes X, Y, Z
int16_t gx, gy, gz; // Vitesses de rotation sur les axes X, Y, Z
// Lecture des 6 valeurs (3 accéléromètre + 3 gyroscope) depuis le capteur
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
// Affichage des valeurs dans le moniteur série
Serial.print("Acc : ");
Serial.print(ax); Serial.print(" ");
Serial.print(ay); Serial.print(" ");
Serial.print(az); Serial.print(" | Gyro : ");
Serial.print(gx); Serial.print(" ");
Serial.print(gy); Serial.print(" ");
Serial.println(gz);
delay(500); // Petite pause entre deux lectures (toutes les 500 ms)
}
🧠 Comprendre le fonctionnement du code
- 📚 MPU6050.h est la bibliothèque dédiée au capteur MPU6050. Elle facilite l’accès aux données du gyroscope et de l’accéléromètre.
- 🔁 On initialise la communication I2C avec Wire.begin() et le capteur avec mpu.initialize().
- 🧪 La fonction mpu.testConnection() permet de vérifier si le capteur est bien connecté.
→ Si ce n’est pas le cas, un message s’affiche et l’Arduino retente l’initialisation toutes les 5 secondes.
- 🎯 getMotion6() permet de récupérer les 6 mesures brutes du capteur :
- ax, ay, az : accélérations (mouvement linéaire)
- gx, gy, gz : vitesses angulaires (rotation)
- 📢 Les données sont affichées dans le moniteur série toutes les 500 ms, ce qui permet de visualiser les mouvements du capteur en temps réel.
💡 Idées pour aller plus loin
Voici quelques pistes pour améliorer ce projet :
Affichage sur écran OLED ou LCD
Transmission Bluetooth / Wi-Fi vers un smartphone
Sauvegarde des données sur carte SD
Ajout d’un magnétomètre pour une centrale inertielle 9 axes
Intégrer un filtre de Kalman pour fusionner les données et augmenter la précision des mesures
Exemples de projets Arduino avec le MPU6050 :
🎮 Manette gyroscopique pour robot
🚁 Système de stabilisation de drone
📱 Détection de chute ou d’inclinaison
🧭 Centrale inertielle portable
En résumé : pourquoi tester le MPU6050 avec Arduino ?
✅ Capteur 6 axes fiable et bon marché
✅ Simple à connecter et programmer
✅ Compatible avec de nombreux projets embarqués
✅ Base parfaite pour l’apprentissage des capteurs inertiels avec Arduino
✅ Conclusion
Le capteur MPU6050 est une excellente porte d’entrée pour s’initier à la mesure de mouvement et à la création de systèmes embarqués avec Arduino. Sa simplicité d’utilisation, sa précision et sa polyvalence en font un incontournable pour tout passionné d’électronique souhaitant explorer les applications inertielle, que ce soit pour un drone, un robot ou un objet connecté.
Commencez par ce projet simple, puis laissez libre cours à votre créativité pour construire des dispositifs plus avancés, intégrant visualisation, connectivité ou enregistrement de données.
💡 Pour aller plus loin dans l’apprentissage Arduino, découvrez le kit DIY Thermomètre connecté avec tout le matériel, le guide et le support inclus :👉 Voir le kit Arduino complet ici
À très bientôt,
Maxime Prudhon
Ingénieur en robotique – Prudhon Learning https://www.prudhonlearning.fr
Comments