Vous êtes sur la page 1sur 4

Donc, dans notre exemple, pour faire la configuration il faut suivre les étapes suivantes :

 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 :

- ACCEL_X = (ACCEL_XOUT_H << 8 | ACCEL_XOUT_L)

Nous déplaçons les 8 bits supérieurs vers la gauche et que « OU » avec les 8 bits inférieurs.

 Par exemple, si ACCEL_XOUT_H = 11101110 et ACCEL_XOUT_L = 10101010, nous obtiendrons la


valeur 16 bits résultante comme 1110111010101010

De même, nous pouvons faire la même chose pour les registres ACCEL_YOUT et ACCEL_ZOUT. Ces


valeurs seront toujours les valeurs RAW et nous devons encore les convertir au format « g »
approprié.

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). 

Vous aimerez peut-être aussi