Utiliser une centrale inertielle avec la Raspberry Pi Pico
Intérêt des centrales inertielles
Définition
Les centrales inertielles permettent la mesure de l'accélération (en m/s²) et de la vitesse angulaire (en rad/s) dans les trois axes de l'espace.
On retrouve, entre autres, des centrales inertielles dans les produits du quotidien :
- Stabilisateur de smartphone (pour acquérir la position de la poignée du stabilisateur)
- Drône (pour acquérir la position du drône)
- ...
On se propose ici d'utiliser la centrale inertielle MPU6050.
Cablâge à la Raspberry Pi Pico
Cablâge
Pour utiliser la centrale inertielle MPU6050, il suffit de réaliser quatre connexions comme indiqué ci-dessous :
- Rouge : se connecte à VSYS ou sur le 3.3V
- Noir : broche de masse
- Jaune et Blanc : connexion aux broches GPIO du Pico pour établir une communication basée sur le protocole I2C.
Notez qu'il existe plusieurs GPIO sur l'appareil (ici j'ai choisi 0
et 1
) mais on peut en choisir d'autres.
Qu'est-ce que I2C ?
Liaison numérique I2C
L'I2C (Inter-Integrated Circuit) est un protocole de communication qui permet à plusieurs appareils de communiquer entre eux via un bus à deux fils.
Il est couramment utilisé dans les appareils électroniques pour communiquer entre les circuits intégrés (CI) sur la même carte.
Fils utilisés par le bus I2C
Les deux fils d'un bus I2C sont les lignes SDA (données) et SCL (horloge).
La ligne SDA transporte les données, tandis que la ligne SCL est utilisée pour synchroniser le transfert de données.
Dans I2C, un appareil agit comme maître et contrôle l'horloge, tandis que les autres appareils agissent comme esclaves.
L'appareil maître initie la communication et génère le signal d'horloge, tandis que les appareils esclaves répondent aux demandes du maître.
Le protocole I2C est largement utilisé en raison de sa simplicité, de son faible nombre de broches et de sa capacité multi-maîtres.
Application du bus I2C
Il est utilisé dans de nombreuses applications telles que les capteurs, les mémoires, les convertisseurs analogique / numérique et les écrans LCD ou OLED.
I2C est un protocole de communication largement utilisé et pris en charge par la plupart des microcontrôleurs y compris le Raspberry Pi Pico.
Exercice 7.1
Enregistrer ces modules dans le répertoire /lib
sur la Raspberry Pi Pico :
Exercice 7.2
Enregistrer le code suivant dans n’importe quel script sur votre appareil :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
Ce script :
- instancie un objet
i2c
via le module MPU6050 - extrait les valeurs dans une boucle
while
toutes les 0.2 secondes.
Exécuter le programme précédent.