Tous les tutoriels

4 · Écrans & bus

Centrale inertielle MPU6050

Expert30 min

Objectif

Lire accéléromètre et gyroscope sur le bus I²C.

Pourquoi c'est utile

Ces six axes sont le cœur de tout drone, téléphone ou montre connectée.

Matériel nécessaire

  • Carte Arduino UNO
  • Potentiomètre 10 kΩ
  • Centrale inertielle MPU6050

Aucun achat requis : tous ces composants sont simulés dans le navigateur.

Étapes

  1. 01Glissez le MPU6050 (SDA A4, SCL A5, adresse 0x68).
  2. 02Chargez le sketch de départ : il réveille le capteur et lit ses registres.
  3. 03Lancez, ouvrez le panneau Scénario et inclinez la carte virtuelle.
  4. 04Observez les valeurs suivre les curseurs dans le moniteur série.

Code de départ

// MPU6050 over I2C — raw register reads, no external library needed.
#include <Wire.h>

const uint8_t MPU = 0x68;

void writeReg(uint8_t reg, uint8_t val) {
  Wire.beginTransmission(MPU);
  Wire.write(reg);
  Wire.write(val);
  Wire.endTransmission();
}

int16_t readWord(uint8_t reg) {
  Wire.beginTransmission(MPU);
  Wire.write(reg);
  Wire.endTransmission(false);
  Wire.requestFrom(MPU, (uint8_t)2);
  int16_t hi = Wire.read();
  int16_t lo = Wire.read();
  return (hi << 8) | lo;
}

void setup() {
  Serial.begin(9600);
  Wire.begin();
  writeReg(0x6B, 0x00);   // wake up
  writeReg(0x1B, 0x00);   // gyro +/- 250 deg/s
  writeReg(0x1C, 0x00);   // accel +/- 2 g
  Serial.println("MPU6050 ready");
}

void loop() {
  float ax = readWord(0x3B) / 16384.0;
  float ay = readWord(0x3D) / 16384.0;
  float az = readWord(0x3F) / 16384.0;
  float gz = readWord(0x47) / 131.0;

  Serial.print("accel ");
  Serial.print(ax); Serial.print(" ");
  Serial.print(ay); Serial.print(" ");
  Serial.print(az);
  Serial.print("  gyroZ ");
  Serial.println(gz);

  delay(300);
}

Ce tutoriel se réalise dans le simulateur Circuitly : le montage et le code sont vérifiés automatiquement à chaque étape.

Questions fréquentes

Faut-il acheter du matériel pour suivre ce tutoriel ?
Non. Tout se fait dans le navigateur : Circuitly simule la carte, les composants et le code. Le matériel réel est optionnel si vous voulez reproduire le montage ensuite.
Quels composants sont utilisés ?
Carte Arduino UNO, Potentiomètre 10 kΩ, Centrale inertielle MPU6050. Ils sont déjà disponibles dans la bibliothèque du simulateur.
Combien de temps faut-il pour le terminer ?
Environ 30 minutes, niveau expert, en 4 étapes guidées.
Quelles connaissances faut-il avant de commencer ?
Le tutoriel précédent de la série, « Scanner le bus I²C », suffit comme préparation. Aucune installation de logiciel n'est nécessaire.
Le code est-il fourni et vérifié ?
Oui : un sketch de départ est fourni, et le simulateur vérifie automatiquement votre câblage et votre code à chaque étape.

Pour les enseignants

Recevez le pack pédagogique : 6 séances clés en main

Progression complète, objectifs, étapes élève et grille d'évaluation — prêt à imprimer, gratuit.

Une adresse, aucun spam : uniquement le pack et les nouveautés classe.

Dans la même série

Explorer les autres thèmes