问题标签 [magnetometer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 如何用 iPhone 制作指南针?
在谷歌上搜索后,我问自己:
是否可以使用 iPhone 3G 的 GPS 传感器构建指南针(简单显示航向/方向)?
我怀疑,这只有在设备移动时才有可能。
任何想法表示赞赏。
iphone - 从 xyz 磁力计获取磁北 (iPhone 3.0)
我实际上是在重新发布来自 iphone 开发板的问题。我没有问它,但我在试图找到它的答案时找到了它。那里还没有人回应,所以我想我会尝试在这里发布。
提前感谢您的帮助!
有人知道从 CLHeading 的原始 xyz 值计算磁航向的算法的任何细节吗?我确信必须有一个通用的方法来处理不同的磁力计。
accelerometer - 如何确定绝对方向
我有一个 xyz 加速度计和磁力计。现在我想使用两者来确定设备的方向。我看到的问题是,根据设备方向,我需要以不同的顺序使用传感器。
让我举个例子。如果我的设备面向我,那么可以使用加速度计确定滚动和俯仰的变化。对于偏航,我使用磁力计。
但是,如果我将设备水平放置(即,将其旋转 90º,面向天花板),则不会注意到向上矢量(现在是水平)的任何变化,因为加速度计没有检测到任何变化。现在可以用磁力计检测到这一点。
所以问题是,如何确定何时使用其中一个。这两个传感器都足够了吗,还是我需要别的东西?
谢谢
iphone - 如何区分 iphone 中的运动加速度与振动和噪音
大家好,在stackoverflow上。
精简版 :)
我需要使用仅与 iPhone 的运动相关的 (x,y,z) 加速度值。为了清楚起见,想想像汽车这样的环境。iPhone 的加速度计非常灵敏。如果我记录频率为 100Hz 的加速度值,那么有很多与噪声、汽车振动和其他加速度矢量相关的值,这些值不像 iPhone 运动那样定向(例如,阻尼器振荡导致加速度矢量沿 z 轴定向)。
换句话说,我需要以能够隔离方向与运动方向相同(在一定偏移范围内)的加速度的方式过滤加速度检测。
更深层次的考虑:'(
显然,我可以固定 iphone 位置,使其 y 轴与运动方向重叠(在之前的汽车环境中,这意味着将 iphone y 轴固定为平行于正面方向)。问题是我需要允许 iphone 的相对时刻。我无法修复 iphone 位置。
首先,我分析了噪音和振动产生的值,我发现它们的幅度通常比正常的汽车加速度高得多。过滤幅度是缓解问题的好主意,但这不是解决方案:一方面,许多不需要的噪声加速度没有被过滤,因为它们的幅度落在范围内,另一方面,许多想要的运动加速度被过滤,因为它们不在范围内范围。
在 iPhone 3GS 上,我可以使用磁力计测量相对于磁北的航向度数。我可以使用它来找到运动方向,但问题仍然存在:磁头值始终是相对于设备顶部测量的。所以 iPhone 应该是沿正面方向固定的。
我想不出任何其他解决方案。想法?保护你!
android - Android中磁力计的软复位
我注意到,通过摇晃或敲击手机(SE Xperia x10 mini)几次来重新校准磁力计。有没有办法以更可控的方式在软件方面进行此操作?
accelerometer - 使用原始加速度计和磁力计数据计算磁航向
我有一个加速度计和磁力计,每个都产生原始 X、Y 和 Z 读数。由此我需要确定一个物体的磁航向。
我不太擅长三角,但我整理了一个公式,它确实对设备的旋转做出了很好的反应,但也对人们认为不相关的运动做出了反应,例如将设备倾斜成这样的角度对指向的方向没有影响的方式。例如将其平放并“滚动”设备。
我认为计算磁航向的公式很好,但我认为我输入的俯仰和滚动弧度是错误的。
所以我想我的问题的核心(除非有人真的有一个公式可以做到这一点),是你如何计算角度,以弧度为单位,使用加速度计进行俯仰和滚动。
其次,有关标题公式本身的任何信息都会很棒。
android - Android - SensorManager getOrientation 的奇怪行为
我需要检索手机的方向。此刻我写了这个:
如果我将手机放在平坦的表面上并在表面上旋转,此代码允许我获取手机的方向。
我不明白的是为什么如果我将手机向上移动 的值this.actual_orientation[0]
,即 [here][1] 所述的 zed 轴上的旋转,尽管没有旋转,但该值会增加。
有人知道会发生什么吗?
编辑
另一个奇怪的事情..
我在办公室尝试了我的应用程序,它有我之前描述的奇怪行为..我在同一个办公室(相同情况)尝试了我从市场上购买的指南针应用程序,它与我的行为相同..当我将手机向上移动,值一直在变化。我在同一个办公室(相同情况)尝试了 i-phone 指南针,它没有那种奇怪的行为!
然后当我到家时,我尝试了我的应用程序和我的安卓手机的指南针应用程序,它们都工作了!!即使我向上移动手机,价值也是稳定的......
非常感谢。
[1]: http: //developer.android.com/reference/android/hardware/SensorManager.html#getOrientation(float[] , float[])
rotation - 使用 getRotationMatrix() 和 getOrientation() 查找方向
我试图让矢量指向相机外的方向,相对于磁北。我的印象是我需要使用从 getOrientation() 返回的值,但我不确定它们代表什么。当我更改手机的方向时,从 getOrientation() 获得的值不会发生可预测的变化(旋转 90 度不会将值更改 90 度)。我需要知道 getOrientation() 返回的值是什么意思。我到目前为止所写的内容如下:
我查看了有关 sensorManager 类的文档,但它并没有帮助解决这个问题。如果有人可以帮助我从中获得意义,我将不胜感激。我正在运行 Android 2.1 的 Nexus One 上进行测试
android - Android上的方向传感器和磁场传感器之间的区别?
有谁知道Android上的方向传感器和磁场传感器之间的区别?
我的理解:
- 方向 => 数字罗盘
- 磁场 => 磁力计
因为我读过磁力计是数字罗盘的代名词,所以我有点困惑。它们到底是什么?
android - 磁力计导致滞后?
我正在开发一个应用程序,它将使用磁力计数据进行交互,通过将磁铁移向和远离手机。这很好用(足够了),但似乎当我将磁铁移得太靠近手机时,会出现明显的延迟,并且这些消息会被吐出到日志中:
Tag Message AK8973 HRET = AKSC_HOF_DSS_START AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_COMPLETE
这也可以在市场上可用的应用程序“Compass 3D”中得到证明。移动耳机与手机直接接触就足够了,它会产生至少 4-500 毫秒的延迟,并将上面的消息打印到 Logcat。这是在我的 HTC Hero 上。
关于导致这种滞后的原因或如何解决它的任何想法?其他手机型号也会出现这种情况吗?
所有想法和/或理论都会有所帮助!