Line: 1 to 1 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MPU6050, un accéléromètre et gyroscopeIntroductionLe 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.Exercice 1 : Comprendre le bus I2CLire la documentation du bus I2C et les fiches techniques du MPU6050: | |||||||||||||||||||
Changed: | |||||||||||||||||||
< < | |||||||||||||||||||
> > | |||||||||||||||||||
Exécuter le programme i2cScan.py et vérifier que le MPU6050 est reconnu sur le bus I2C. On devrait trouver ceci : Écrire le programme i2cScan.py vous même. Exercice 2 : Vérification du registre d'identificationÉcrire un programme qu'imprime le contenu du registre d'identification (registre WHO_AM_I)Exercice 3 : Écrire et lire des registresCré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. | |||||||||||||||||||
Added: | |||||||||||||||||||
> > |
| ||||||||||||||||||
Exercice 4 : Lecture des données | |||||||||||||||||||
Changed: | |||||||||||||||||||
< < | 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ées 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. | ||||||||||||||||||
> > | 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. | |||||||||||||||||||
Changed: | |||||||||||||||||||
< < | Exercice 5 : Calibration | ||||||||||||||||||
> > | Exercice 5 : Écrire les méthodes d'accès pour les registres | ||||||||||||||||||
Changed: | |||||||||||||||||||
< < | Calibrer le MPU6050. Voir l'exemple IMU_Zero.py
Exercice 6 :Le pilote | ||||||||||||||||||
> > | En utilisant les fonctions de l'exercice 3, écrire de méthodes d'accès aux registres du MPU6050. Exemples :
Exercice 6 : CalibrationCalibrer le MPU6050.
Exercice 7 :Le pilote | ||||||||||||||||||
É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… | |||||||||||||||||||
Changed: | |||||||||||||||||||
< < | Exercice 6 : Interruptions mouvement et inactivité | ||||||||||||||||||
> > | Exercice 8 : Interruptions mouvement et inactivité | ||||||||||||||||||
Écrire un programme qui détecte le mouvement et l'inactivité. Générer et capter des interruptions pour les deux cas. | |||||||||||||||||||
Changed: | |||||||||||||||||||
< < | Exercice 7 : Lecture du FiFo | ||||||||||||||||||
> > | Exercice 9 : Lecture du FiFo | ||||||||||||||||||
Lire l'accélération et rotation en utilisant le FiFo.
-- Uli Raich - 2022-02-21
Comments
|