IMU Pro Unit

IMU Pro Unit 是一款多功能且高度集成的惯性运动单元。它集成了先进的六轴姿态传感器 (BMI270)、三轴地磁传感器 (BMM150) 以及气压传感器 (BMP280),为用户提供全面的测量与检测能力。无论是测量加速度与角速度、检测地磁场的方向与强度,还是测量大气压。

支持以下产品:

IMUProUnit

MicroPython 应用示例

import os, sys, io
import M5
from M5 import *
from hardware import *
from unit import IMUProUnit
import time

i2c0 = I2C(0, scl=Pin(1), sda=Pin(2), freq=100000)
imupro_0 = IMUProUnit(i2c0)

while True:
    print((str('Acc:') + str((imupro_0.get_accelerometer()))))
    print((str('Gryo:') + str((imupro_0.get_gyroscope()))))
    print((str('Magneto:') + str((imupro_0.get_magnetometer()))))
    print((str('Compass:') + str((imupro_0.get_compass()))))
    print((str('Attitude') + str((imupro_0.get_attitude()))))
    print((str('Temperature') + str((imupro_0.get_temperature()))))
    print((str('Pressure:') + str((imupro_0.get_pressure()))))
    time.sleep_ms(100)

UiFlow2 应用示例

example.png

unit-imu-pro-demo.m5f2

class IMUProUnit

Constructors

class IMUProUnit(i2c)

创建一个 IMUProUnit 对象

参数:

i2c – I2C 对象。

UiFlow2

init.png

Methods

IMUProUnit.get_accelerometer()

获取加速度计的 x、y 和 z 值元组,以及以重力单位(9.81 m/s^2)的加速度向量。

  • Return: tuple: (float, float, float)

UiFlow2

get_accelerometer.png

IMUProUnit.get_gyroscope()

获取以 rad/sec 为单位的陀螺仪 x、y、z 值元组以及陀螺仪矢量。

  • Return: tuple: (float, float, float)

UiFlow2

get_gyroscope.png

IMUProUnit.get_magnetometer()

获取磁力计的 x、y、z 值元组,以及以 uT 为单位的磁力计矢量。

  • Return: tuple: (float, float, float)

UiFlow2

get_magnetometer.png

IMUProUnit.get_compass()

获取罗盘航向角值,范围为 0º ~ 360º。

  • 返回: float: 0 ~ 360

UiFlow2

get_compass.png

IMUProUnit.get_attitude()

以度为单位获取姿态角:yaw、pitch 和 roll。

  • Return: tuple: (float, float, float)

UiFlow2

get_attitude.png

IMUProUnit.get_temperature()

从 BMP280 传感器获取以摄氏度为单位的温度值。

  • 返回:float:-40 ~ +85 °C

UiFlow2

get_temperature.png

IMUProUnit.get_pressure()

从 BMP280 传感器获取以帕斯卡(Pa)为单位的压力值。

  • 返回:float:300 ~ 1100 hPa

UiFlow2

get_pressure.png

IMUProUnit.set_accel_gyro_odr(accel_odr, gyro_odr)

设置加速度计和陀螺仪输出数据速率(ODR):0.78 Hz … 1.6 kHz(加速度计)以及 25 Hz … 6.4 kHz(陀螺仪)。

参数:
  • accel_odr – 0.78 Hz … 1.6 kHz 的范围。

  • gyro_odr – 25 Hz … 6.4 kHz 的范围。

UiFlow2

set_accel_gyro_odr.png

IMUProUnit.set_magnet_odr(magnet_odr)

设置磁力计输出数据速率 (ODR):2、6、8、10(默认)、15、20、25、30 Hz。

参数:

magnet_odr – 2 Hz … 30 Hz 范围内。

UiFlow2

set_magnet_odr.png

IMUProUnit.set_accel_range(accel_scale)

设置加速度计量程范围。

参数:

accel_scale – 量程范围为 ±2g、±4g、±8g 和 ±16g。

UiFlow2

set_accel_range.png

IMUProUnit.set_gyro_range(gyro_scale)

设置陀螺仪量程范围。

参数:

gyro_scale – 量程范围:±125 dps、±250 dps、±500 dps、±1000 dps 和 ±2000 dps。

UiFlow2

set_gyro_range.png

IMUProUnit.set_gyro_offsets(x, y, z)

设置手动陀螺仪校准偏移值

参数:
  • x – 0.0

  • y – 0.0

  • z – 0.0

UiFlow2

set_gyro_offsets.png