IMU Pro Unit
IMU Pro Unit 是一款多功能且高度集成的惯性运动单元。它集成了先进的六轴姿态传感器 (BMI270)、三轴地磁传感器 (BMM150) 以及气压传感器 (BMP280),为用户提供全面的测量与检测能力。无论是测量加速度与角速度、检测地磁场的方向与强度,还是测量大气压。
支持以下产品:
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 应用示例
class IMUProUnit
Constructors
- class IMUProUnit(i2c)
创建一个 IMUProUnit 对象
- 参数:
i2c – I2C 对象。
UiFlow2

Methods
- IMUProUnit.get_accelerometer()
获取加速度计的 x、y 和 z 值元组,以及以重力单位(9.81 m/s^2)的加速度向量。
Return:
tuple: (float, float, float)
UiFlow2

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

- IMUProUnit.get_magnetometer()
获取磁力计的 x、y、z 值元组,以及以 uT 为单位的磁力计矢量。
Return:
tuple: (float, float, float)
UiFlow2

- IMUProUnit.get_compass()
获取罗盘航向角值,范围为 0º ~ 360º。
返回:
float: 0 ~ 360
UiFlow2

- IMUProUnit.get_attitude()
以度为单位获取姿态角:yaw、pitch 和 roll。
Return:
tuple: (float, float, float)
UiFlow2

- IMUProUnit.get_temperature()
从 BMP280 传感器获取以摄氏度为单位的温度值。
返回:
float:-40 ~ +85 °C
UiFlow2

- IMUProUnit.get_pressure()
从 BMP280 传感器获取以帕斯卡(Pa)为单位的压力值。
返回:
float:300 ~ 1100 hPa
UiFlow2

- 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

- IMUProUnit.set_magnet_odr(magnet_odr)
设置磁力计输出数据速率 (ODR):2、6、8、10(默认)、15、20、25、30 Hz。
- 参数:
magnet_odr – 2 Hz … 30 Hz 范围内。
UiFlow2

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

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

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


