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
Et éventuellement :
  • 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




Recherche