mercredi 2 mars 2022

Accéléromètre/gyro MPU-6050 et Raspberry Pi Pico (MicroPython)

Le MPU-6050 est une centrale inertielle qui combine un accéléromètre et un gyromètre. On peut s'en servir pour mesurer l'accélération, l'inclinaison et la vitesse angulaire. Dans cet article, nous explorons l'utilisation d'un MPU-6050 avec un Raspberry Pi Pico programmé en MicroPython.


L'accéléromètre permet de connaître l'accélération et/ou le champ gravitationnel selon 3 axes: x, y et z. Les axes x et y sont illustrés sur le module, alors que l'axe z est perpendiculaire au plan du module. Lorsque le module est immobile, à plat sur une table, une accélération de 1 g sera mesurée selon l'axe z, à cause de la force de gravité qui agit vers le bas. Si l'accélération mesurée est nulle selon les 3 axes, c'est que le module MPU-6050 est en chute libre!

Le gyromètre mesure la vitesse angulaire selon les 3 axes. Lorsque le module est immobile, les 3 composantes de la vitesse angulaire sont, en principe, nulles (une calibration est toutefois nécessaire pour que le résultat soit exact).

Connexions

Le module MPU-6050 comporte 8 connecteurs, mais seulement 4 d'entre eux sont nécessaires à son fonctionnement (2 pour l'alimentation, et 2 pour la transmission des données par I2C):

  • Broche VCC du MPU-6050 : Sortie 3,3 V du Raspberry Pi Pico
  • Broche GND du MPU-6050: Broche GND du Raspberry Pi Pico
  • Broche SCL du MPU-6050: Broche GP9 du Raspberry Pi Pico
  • Broche SDA du MPU-6050: Broche GP8 du Raspberry Pi Pico



Installation des pilotes imu.py et vector3d.py

Les bibliothèques nécessaires se trouvent sur le dépôt Github micropython-mpu9x50. Les fichiers "imu.py" et "vector3d.py" doivent être copiés dans la mémoire flash du Raspberry Pi Pico.


Script #1

Ce premier script affiche les mesures issues de l'accéléromètre et du gyromètre. À partir des données de l'accéléromètre, le script tente de déterminer si un des 3 axes (x, y ou z) s'approche de la verticale. À partir des données du gyromètre, le script indique si le module MPU-6050 est en train de tourner.

Exécutez ce script, et orientez le module MPU-6050 de différentes façon pour voir comment varient les valeurs affichées.

-

-


Script #2

Dans ce deuxième exemple, la LED intégrée du Raspberry Pi Pico s'allume lorsqu'on agite le module MPU-6050.

-

-

À lire aussi:


Yves Pelletier (Facebook)

1 commentaire:

  1. Bonjour monsieur,
    Je vous laisse ce commentaire pour savoir s'il est possible de prendre contact avec vous dans le cadre de mon TIPE qui porte sur la mesure du débit sanguin grâce à un montage Arduino. Mon binôme et moi rencontrons des difficultés à effectuer le montage que vous présentez dans votre article.
    En espérant que cela ne vous dérangera pas de nous aider.
    Bien à vous.
    TADILI Younès.

    RépondreSupprimer