arduino - 从 MPU-9250 获取航向/方向

标签 arduino accelerometer gyroscope magnetometer

我正在尝试使用 Arduino 从 MPU-9250 传感器获取航向,该传感器包含陀螺仪、加速度计和磁力计。

对于我的产品,我需要从设备获取滚动和航向。我已经想出了如何取卷。使用 Boulderflight MPU-9250 库,我能够使用以下方法确定滚动:

roll = 180 * atan(accY/sqrt(accX*accX + accZ*accZ))/M_PI;

我在某处找到了这个计算,它似乎运行良好,我不得不承认我实际上并不知道它是如何工作的。

对于我找到的标题:

  if (magY > 0) { heading = 90 - atan(magX/magY)*(180/M_PI); }
  else if (magY < 0) { heading = 270 - atan(magX/magY)*(180/M_PI); }
  else if (magY == 0 && magX < 0) { heading = 180; }
  else if (magY == 0 && magX > 0) { heading = 0; }

起初,这似乎可行,但一旦您“滚动”设备,保持标题相同,标题的值就会到处都是。

有没有人有好的代码片段来使用陀螺仪、加速度计或磁力计(在 C++ 中,使用 Arduino)确定航向?

最佳答案

看看https://github.com/kriswiner/MPU9250
具体来说,MPU9250BasicAHRS.ino在 Arduino 上计算滚动、俯仰和偏航。

关于arduino - 从 MPU-9250 获取航向/方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52806040/

相关文章:

android - 基于陀螺仪和加速度计的室内定位系统

android - Android获得标准化加速

filter - 卡尔曼滤波器具有完整的数据集?

android - 使用 HC-05 将连续数据从 arduino 发送到 Android 应用程序

objective-c - objective-c : Shake problems

c++ - 将数据从 C++ 类传递到 Xcode 中的 Objective-C 类

结合陀螺仪和加速度计数据

objective-c - 从陀螺仪获取角度

Python 串行写入 Arduino 与 Arduino 串行监视器串行写入不同

arduino - Xively 是否适合数据简单/不频繁且数据处理在外部完成的情况?