问题标签 [digital-compass]

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.

0 投票
1 回答
1651 浏览

iphone - iPhone 指南针:调整航向以获得正确的横向读数

如果您在横向模式下使用 iPhone,有谁知道如何调整 iPhone 的指南针读数?航向总是从设备顶部获取,但如果使用加速度计数据进行重新计算,则应该可以获得真实读数。

0 投票
2 回答
4777 浏览

android - 指南针精度困境

我需要为我的应用程序构建指南针。

从阅读文档看来,有两种合理的方法可以做到这一点:

  • Sensor.TYPE_ORIENTATION 方法:这是最简单的方法。问题在于它不准确。当我将我的读数与 Snaptic Compass 进行比较时,它大约相差 10-15 度,这对我来说是不可接受的。
  • Sensor.TYPE_ACCELEROMETER、Sensor.TYPE_MAGNETIC_FIELD 和 getRotationMatrix() 与 remapCoordinateSystem() 和 getOrientation() 方法一起使用:文档说这“通常更准确”。问题是无论我向听众注册的延迟如何,即使设备静止在平面上,指南针也会发疯。

任何解决此问题的建议将不胜感激。

0 投票
1 回答
9438 浏览

android - Android上的方向传感器和磁场传感器之间的区别?

有谁知道Android上的方向传感器和磁场传感器之间的区别?

我的理解:

  • 方向 => 数字罗盘
  • 磁场 => 磁力计

因为我读过磁力计是数字罗盘的代名词,所以我有点困惑。它们到底是什么?

0 投票
0 回答
573 浏览

jquery - phonegap iphone digitalcompass 更新准确性

我正在使用 phonegap 库在 javascript 中开发增强现实 iphone 应用程序,结果非常好。我放置了一个低通滤波器来平息设备倾斜时使用的加速度计读数,效果非常好。但是,我无法平稳地向左/向右移动。我的磁力计似乎只会在每次移动一个完整度数时更新。加载时,我正在查看 196.721054 的值,然后将其向左旋转,直到达到 195.721054(相差 1 度)才让步。当然,这个设备必须比旋转一个度数更精确。

有谁知道是否有设置来降低此阈值以获得更频繁的更新?仅供参考,这是我的代码:

我在选项中的某个地方读到,我可以执行诸如 headingFilter:.01 之类的操作,但这似乎没有多大帮助。

想法?

0 投票
1 回答
672 浏览

android - Android AR 指南针显示

我正在为 Android 手机开发增强现实 (AR) 应用程序。我想以两个旋转轴的形式显示我的方向数据:一个在屏幕顶部显示当前方位角(北、东、南、西),一个在侧面显示高度/高度。我是 Android 编程的新手,所以我不太确定如何在视觉上创建这些轴。

我的第一个想法是我可以使用预定义的图像,这些图像在碰到屏幕边缘时会以某种方式环绕(就好像图像位于旋转圆柱体的外部一样)。从这里开始,将图像与我从传感器提取的信息对齐将是一件简单的事情。

有没有办法包装图像,以便它们可以以这种方式在虚拟平面中旋转?有人可以为我原来的问题提出更好的解决方案吗?

0 投票
1 回答
1103 浏览

usb - 为 Devantech 数字罗盘设置 i2c 从地址

我正在尝试与此处找到的 Devantech 数字指南针交互 -

http://www.acroname.com/robotics/parts/R117-COMPASS.html

我正在使用 i2c-usb 转换器将其插入我的笔记本电脑 -

http://www.robot-electronics.co.uk/htm/usb_i2c_tech.htm

首先,我对电气工程了解不多。我对基本的基础有一个很好的了解,但在那之后我迷路了。

我正在尝试遵循本教程-

https://xgoat.com/wp/2007/11/11/using-i2c-from-userspace-in-linux/

但是,当我尝试设置设备地址时,我一开始就卡住了。

返回“设置从地址失败:参数无效”

我最初认为地址应该是 0xC0,因为指南针手册中的一句话是“首先发送一个起始位,模块地址(0xC0)......”但这不起作用。

现在我有一个从 1 到 100 的循环,并尝试每个地址的地址,但它们都失败了。循环是 -

我不确定还能尝试什么。现在,我只想设置地址,这样我就可以开始尝试读写了。由于转换器是实际连接到电脑的东西,我应该使用该地址吗?如果是这样,我在哪里可以在该链接上找到它的信息?如果有人知道我可以尝试什么或有什么问题,那就太好了。

编辑:

好的,我现在有这样的代码 -

它会设置地址,但不会写任何东西。每当我尝试给它写信时,我都会得到 -

0 投票
2 回答
2007 浏览

android - 指南针在某些设备上不起作用

我们最近发布了一个 iPhone 应用程序的 Android 端口。该应用程序的某些功能依赖于数字指南针。这在大多数设备上运行良好,但有一些指南针无法正常工作。对于描述,设备似乎没有向我们提供任何 onSensorChanged() 消息。

一些似乎有问题的设备是: Android 2.2 上的 HTC Desire Android 2.2.3 上的摩托罗拉 Droid

他们声称使用指南针的其他应用程序工作正常。

我们使用以下方法启动指南针:

在程序启动时使用以下方法初始化磁力计和加速度计:

现在上面的代码表明,如果加速度计 == null 或磁力计 == null,则不会发生注册。我很确定磁力计不为空,因为如果它是我们隐藏指南针功能。那么这些手机上的加速度计可能是空的吗?

我的 onSensorChanged() 中的代码非常标准,并且基于您可以在网络上找到的无数示例。

那么,是否有人对为什么指南针代码可能无法在这些设备上运行有任何想法?

0 投票
2 回答
652 浏览

android - 您的 Android Compass 硬件在开车或乘火车时能正常工作吗?

我有一个 Desire Z,当快速移动时,指南针硬件开始返回完全错误的值。它可能是在快速移动时无法正确测量的硬件,但我想知道是否所有设备都有这个问题。

您可以通过安装任何指南针应用程序在您自己的手机上进行尝试(不要使用谷歌地图,因为它们在移动时会自动切换到 GPS 指南针模式)。我需要知道这一点,因为对于增强现实应用程序,知道用户在火车/汽车上时在看哪里仍然相关。

0 投票
1 回答
2432 浏览

iphone - xcode 4 Iphone-如何添加指南针

如何让指南针显示在我的应用程序中?对象库中没有可以添加到视图中的指南针。所以我认为必须通过代码添加指南针。我一直在看多个教程,但它们似乎都没有任何指南针组件。教程之一: http ://www.iphonedevsdk.com/forum/iphone-sdk-development/42992-how-do-i-make-compass.html

我已经完成了其中的所有操作,但是没有任何显示。与其他教程一样。我也一直在阅读说我需要在我的 .plist 中启用某些东西,但他们实际上并没有说什么。任何提示、解释或教程都会很棒!

0 投票
1 回答
4233 浏览

ios - 基于磁力计和陀螺仪的北向计算

我需要计算“朝向”(它是基于真北还是磁北都没有关系)。正如在 iOS 设备上可以看到的那样,CLHeading返回的对象CLLocationManager通过相应的属性为我们提供了真航向和磁航向。此外,我们可以很容易地看到,这些值与设备顶部(设备坐标系的正 Y 轴)有关,这对我的目的不利。

我真正需要的是计算与设备屏幕(Z轴)相关的朝向,因为我不需要指南针,而是AG应用程序之王。问题是,当您将设备旋转到横向时,您会从面向方向获得向左或向右的航向值,这正是我最终需要的。据我所知,我可以获得磁力计“原始”数据(以微特斯拉单位提供,每个设备轴的值从 128 到 -128)以及陀螺仪“原始”数据(有三种类型:欧拉天使,旋转矩阵或四元数)。我需要知道,我需要对那些计算进行哪些计算才能获得“面向”方向而不是“航向”。