Le MPU6050 est un circuit intégré qui contient un accéléromètre et un gyroscope. L'accéléromètre mesure l’accélération statique dans les trois axes, tandis que le gyroscope mesure la rotation autour ces trois axes.
Lire la documentation du bus I2C et les fiches techniques du MPU6050:
Connecter le MPU6050 avec la carte CPU sur les pins Vcc, GND, SDA,SCL et INT.
MPU6050 | WeMos D1 bus | GPIO |
---|---|---|
Vcc | 5V | |
GND | GND | |
SCL | D1 | 22 |
SDA | D2 | 21 |
INT | D0 | 26 |
Écrire le programme i2cScan.py vous même.
Écrire un programme qu'imprime le contenu du registre d'identification (registre WHO_AM_I)
Créer un programme qui écrit un registre et vérifier que les données ont bien été enregistrés. Utiliser le registre SMPLRT_DIV (adresse 0x19) pour cet essai.
Attention : Après l'enclenchement du MPU6050 ou après un reset (registre PWR_MGMT_1, bit 7) le module se trouve dans un mode d'économie d'énergie ou la plupart des registres ne peuvent pas être modifié. Ceci est indiqué par the bit SLEEP (bit 6) du registre PWR_MGMT_1. Ce bit doit être mis à zéro pour mettre le MPU6050 en fonctionnement normal.
Plusieurs de registres du MPU6050 contiennent soit de bits simples, soit des champs de bits pour contrôler une fonctionnalité du module.
Lire les données brutes de l'accéléromètre et du gyroscope et convertir ces valeurs dans des données physiques (unité : g pour l'accélération et dps: dégréés par seconde, pour le gyroscope). Est-ce que ces valeurs sont raisonnables ?. Pour l'accélération, on doit trouver 1 g pour la direction vertical, zéro pour les autres.
Attention : Les données du MPU6050 sont des valeurs 16 bit avec signe, qui doivent être convertis en valeurs entier Python.
Modifier la résolution de la mesure (gamme complète : +- 2g, +-4g, +-8g, +-16g) et observer la différence de lecture. Écrire une fonction qui retourne les mesures en unité physique.
En utilisant les fonctions de l'exercice 3, écrire de méthodes d'accès aux registres du MPU6050. Exemples :
Calibrer le MPU6050.
Étudier le pilote du MPU6050.
Écrire des programmes qui l'utilisent. Changer la fréquence d'acquisition de données, changer la résolution de l'accéléromètre ou du gyroscope, lire les résultats de mesures…
Écrire un programme qui détecte le mouvement et l'inactivité. Générer et capter des interruptions pour les deux cas.
Lire l'accélération et rotation en utilisant le FiFo.
I | Attachment | History | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|---|
![]() |
i2cscan.png | r1 | manage | 27.4 K | 2022-05-08 - 19:09 | UliRaich | |
![]() |
mpu6050.png | r1 | manage | 167.5 K | 2022-02-21 - 15:14 | UliRaich |