Académique Documents
Professionnel Documents
Culture Documents
Initialiser l'appareil
Lire les valeurs RAW
Convertir les valeurs d'accélération en 'g' et valeurs du gyroscope en dps (° / s)
Initialisation
Commençons par l'initialisation du MPU6050. Afin d'initialiser le capteur, nous devons effectuer les
actions suivantes :
- Tout d’abord, nous devons vérifier si le capteur répond en lisant le « WHO_AM_I (0x75) »
registre. Si le capteur répond avec 0x68, cela signifie qu'il est disponible et prêt à partir.
Deuxième étape :
Nous réveillerons le capteur et pour ce faire, nous écrirons dans le registre « PWR_MGMT_1 (0x6B)
». Voir ci-dessous le contenu du registre
Lors de l'écriture (0x00) dans le registre PWR_MGMT_1, le capteur se réveille et l'horloge se règle
jusqu'à 8 MHz
Troisième étape
Nous devons maintenant définir le taux de sortie des données ou le taux d'échantillonnage. Cela peut
être fait en écrivant dans le registre « SMPLRT_DIV (0x19) ».
Ce registre spécifie le diviseur de la fréquence de sortie du gyroscope utilisé pour générer la
fréquence d'échantillonnage pour le MPU6050.
Quatrième étape
Serait de configurer les registres de l'accéléromètre et du gyroscope et pour ce faire, nous devons
modifier les registres « GYRO_CONFIG (0x1B) » et «ACCEL_CONFIG (0x1C)» .
GYRO_CONFIG
ACCEL_CONFIG
L'écriture (0x00) dans ces deux registres définirait la plage de pleine échelle de ± 2g dans
le ACCEL_CONFIGregistre et une plage de pleine échelle de ± 250 ° / s dans le GYRO_CONFIGregistre
avec l'auto-test désactivé.
Ceci termine l'initialisation du MPU6050 et nous allons maintenant voir comment lire les données du
capteur et comment les convertir dans les formats respectifs. Commençons par les valeurs
d'accélération.
Lire la valeur du MPU6050
Nous pouvons lire 1 BYTE de chaque registre séparément ou nous pouvons simplement lire 6 BYTES
tous ensemble à partir de ACCEL_XOUT_H Register.
Comme indiqué ci-dessus, le registre ACCEL_XOUT_H (0x3B) stocke l'octet supérieur pour les
données d'accélération le long de l'axe X et l'octet inférieur est stocké dans
le registre ACCEL_XOUT_L. Nous devons donc combiner ces 2 octets en une valeur entière de 16
bits. Voici le processus pour faire cela :
Nous déplaçons les 8 bits supérieurs vers la gauche et que « OU » avec les 8 bits inférieurs.
Vous pouvez voir sur l'image ci-dessus que pour la plage pleine échelle de ± 2g, la sensibilité est
de 16384 LSB / g. Donc, pour obtenir la valeur ' g ', nous devons diviser le RAW de 16384. Regardez le
code ci-dessous
La lecture des données du gyroscope est similaire au cas de l'accélération. Nous allons commencer à
lire 6 octets de données du GYRO_XOUT_H registre, combiner les 2 octets pour obtenir des valeurs
RAW entières de 16 bits. Comme nous avons sélectionné la gamme pleine échelle de ± 250 ° / s ,
pour laquelle la sensibilité est de 131 LSB / ° / s , nous devons diviser les valeurs RAW par 131,0 pour
obtenir les valeurs en dps (° / s).