Gyroscope et accéléromètre

La carte XIAO BLE Sense est équipée du module 6 axes LSM6DS3TRC . Il s'agit d'un accéléromètre 3 axes couplé avec un gyroscope 3 axes.
Cette page vous permettra de savoir comment démarrer ce module qui est alimenté séparément du reste de la carte pour ensuite récupérer les valeurs des mesures sur les 6 axes.
Bibliothèques nécessaires :
- board pour utiliser l'IMU qui se trouve sur la carte
- digitalio pour activer le port sur lequel est alimenté l'IMU
- busio pour lire les données de l'IMU sur le bus I2C
- adafruit_lsm6ds.lsm6ds3trc
- math pour calculer la norme de l'accélération
- time pour utiliser un délai

import math
import time
import board
import digitalio
import busio
from adafruit_lsm6ds.lsm6ds3trc import LSM6DS3TRC
# Activation de la broche d'alimentation du module :
imupwr = digitalio.DigitalInOut(board.IMU_PWR)imupwr.direction = digitalio.Direction.OUTPUTimupwr.value = Truetime.sleep(0.5)
# Création d'un objet sensor correspondant aux données mesurées par l'IMU :
imu_i2c = busio.I2C(board.IMU_SCL, board.IMU_SDA)sensor = LSM6DS3TRC(imu_i2c)
while True:
acceleration = sensor.acceleration
angle=sensor.gyro ax, ay, az = round(acceleration[0],2), round(acceleration[1],2), round(acceleration[2],2)
a = round(math.sqrt(ax**2+ay**2+az**2),2)
print("X:" , ax, "m/s² ; Y:" , ay , "m/s² ; Z:" , az , "m/s² ; norme=" , a , "m/s²")
time.sleep(0.5)

Exemple d'affichage des mesures dans la console de Mu
