Skip to content

IMU 六轴运动使用说明 ​

IMU 通过六轴传感器展示板卡姿态和瞬时加速度。 安装后的程序名为 lilygo-ui-imu,界面使用英文标签。

使用前准备 ​

  • T-DisplayCM0 的 QMI8658B 需要由 Linux IIO 驱动正常提供数据。
  • 应用自动寻找名为 qmi8658c、qmi8658b 或 qmi8658 的设备。
  • 运行用户需要读取 /sys/bus/iio/devices 下六轴 raw 与 scale 属性的权限。
  • 不需要联网;应用通过 IIO 读取数据,不直接修改 I2C 寄存器。

查看运动 ​

  1. 在 Launcher 打开 IMU。
  2. 查看底部状态:真实传感器为 Live,模拟输入为 Demo,不可用为 Offline。
  3. 缓慢倾斜设备,观察圆形区域中的小球随姿态移动。
  4. 保持角度,小球应稳定停在相应位置;它不表示设备已经移动的距离。
  5. 观察 Acceleration 和 Angular rate 六轴读数。
  6. 调整底部 Sensitivity,选择适合的响应幅度。

小窗口中读数标题缩短为 Accel. 和 Gyro。 加速度单位为 m/s²,包含重力;角速度单位为 rad/s。 瞬间加速会让小球暂时变大,随后恢复。 小球白色标记反映传感器 Z 轴旋转,不是绝对罗盘航向。

调整灵敏度与方向 ​

Sensitivity 范围为 25%–200%,默认 100%。 拖动滑块可改变位置响应,读数单位不会变化。 方向键 ↑/→ 增加 1%,↓/← 减少 1%;需要时按 Tab 恢复滑块焦点。

安装方向导致小球移动方向不符合预期时,可在设备终端启动:

sh
LILYGO_IMU_ROTATION=90 lilygo-ui-imu

该角度叠加在显示旋转之上,仅调整小球映射;六轴数值仍使用传感器坐标系。 页面没有暂停、重置或校准按钮,不要寻找这些菜单。

选择真实或演示输入 ​

Linux 默认读取真实 IIO;macOS 等非 Linux 主机默认演示。 有多个传感器时可以明确指定 IIO 目录:

sh
LILYGO_IMU_DEMO=0 \
LILYGO_IMU_DEVICE=/sys/bus/iio/devices/iio:device0 \
lilygo-ui-imu

路径必须替换为实际设备。LILYGO_IMU_DEMO=1 明确启用演示,并优先于设备路径。 真实输入断开不会自动切换到模拟值。

数据与断线行为 ​

读数为实时显示,页面没有录制或导出功能。 灵敏度和内部校准状态不跨应用重启保存。 断开或数据过期时,小球保持最后的位置与大小,读数显示不可用。 底部显示 QMI8658: waiting for connection,应用会自动尝试重新连接。 恢复新数据后继续运动,不必手动刷新。

常见问题 ​

现象处理
始终 Offline检查板卡 overlay、IIO 驱动、设备 name 和六轴属性读权限。
板卡水平时小球偏移检查安装方向和传感器偏置;当前页面没有校准入口。
小球不动但 Demo 正常演示只能证明界面运行,仍需检查真实 IIO 数据。
角速度变化但标记不是北向标记只表达 Z 轴旋转,不是磁力计航向。
退出后灵敏度恢复当前实现不保存此设置,重新调整滑块即可。

本文依据本地 IMU README、传感器说明及页面实现整理。

返回使用文档 · 返回文档中心