IMU Unit
6-Axis IMU Unit 是一款 6 轴姿态传感器,内置 3 轴重力加速度计和 3 轴陀螺仪,可实时计算倾角和加速度。芯片采用 mpu6886。
支持以下产品:
MicroPython 应用示例
import os, sys, io
import M5
from M5 import *
from hardware import *
from unit import IMUUnit
import time
i2c0 = I2C(0, scl=Pin(1), sda=Pin(2), freq=100000)
imu_0 = IMUUnit(i2c0)
imu_0.set_accel_unit(1)
imu_0.set_gyro_unit(1)
while True:
print((str('Acc:') + str((imu_0.get_accelerometer()))))
print((str('Gryo:') + str((imu_0.get_gyroscope()))))
print((str('Attitude') + str((imu_0.get_attitude()))))
time.sleep_ms(100)
UiFlow2 应用示例
class IMUUnit
Constructors
- class IMUUnit(i2c)
创建一个 IMUUnit 对象
- 参数:
i2c – I2C 对象。
UIFLOW2:

“”
- IMUUnit.get_accelerometer()
获取加速度计的 x、y、z 值元组,以及以重力单位(9.81 m/s^2)表示的加速度向量。
返回:
tuple:(float, float, float)
UIFLOW2:

- IMUUnit.get_gyroscope()
获取陀螺仪的 x、y、z 值元组以及陀螺仪矢量,单位为 rad/sec。
返回:
tuple:(float, float, float)
UIFLOW2:

- IMUUnit.get_attitude()
以度为单位获取偏航角(yaw)、俯仰角(pitch)和横滚角(roll)姿态角。
返回:
tuple:(float, float, float)
UIFLOW2:

- IMUUnit.set_accel_range(accel_scale)
设置加速度计量程范围。
- 参数:
accel_scale – 量程范围为 ±2g、±4g、±8g 和 ±16g。
UIFLOW2:

- IMUUnit.set_gyro_range(gyro_scale)
设置陀螺仪量程范围。
- 参数:
gyro_scale – ±250 dps、±500 dps、±1000 dps 和 ±2000 dps 的量程范围。
UIFLOW2:

- IMUUnit.set_gyro_unit(unit)
设置陀螺仪单位为 rad/sec 或 degrees/sec。
- 参数:
unit (int) – 0:度/秒,1:弧度/秒。
UIFLOW2:

- IMUUnit.set_gyro_calibrate(samples, delay)
使用样本数量以及每个样本的延迟来设置陀螺仪校准参数
- 参数:
samples (int.) – 采样数量。
delay (int) – 每个样本的延迟时间(毫秒)。
UIFLOW2:

- IMUUnit.set_gyro_offsets(x, y, z)
设置手动陀螺仪校准偏移值
- 参数:
x – 0.0
y – 0.0
z – 0.0
UIFLOW2:



