问题标签 [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.

0 投票
1 回答
202 浏览

android - Android 磁性挡风玻璃支架

请问你能帮帮我吗?我想将我的 Droid 安装在磁性挡风玻璃支架上。我如何以编程方式检查 Droid 是否已安装?

0 投票
1 回答
6428 浏览

android - 从磁传感器获取信息

我正在监听传感器值,并在我的处理程序中使用

对于 Sensor.TYPE_MAGNETIC_FIELD,开发人员文档说:“所有值都以微特斯拉 (uT) 为单位,并测量 X、Y 和 Z 轴上的环境磁场。”

如何将这些信息转化为方位角、俯仰角和滚动角?如何把它变成罗盘磁航向?

完成矩阵变换后,是否只提供从 ORIENTATION 传感器和 ACCELEROMETER 传感器获得的相同信息?

0 投票
3 回答
13689 浏览

android - 手机传感器

经过几个小时的搜索,我很困惑,所以我现在将告诉我我学到了什么,所以如果我错了,请纠正我:

光传感器:环境光

磁传感器:我可以得到北方的位置。

加速度计传感器:重力XYZ,地球重力或任何加速度。

接近传感器:就像停车传感器一样。

方向传感器:告诉 XYZ 度数形成它们的轴。

我已经使用 Android 市场的一些应用程序(例如“我的传感器”)尝试了这些传感器,我可以确认如果您将手机旋转到桌子上方的位置,加速度计传感器不会感觉到。虽然方向传感器似乎捕捉到了所有的动作。现在我可以得出结论,指南针应用程序使用磁传感器来查看北方在哪里,然后使用方向传感器来了解您使用设备的方向,对吗?

在纵向和横向模式之间切换使用“加速度传感器”并检查哪个轴上的地球重力。对吗?

Q1:如果一切正常,什么是“陀螺仪”?它与“方向传感器”相同吗?

Q2:大多数设备都支持方向传感器吗?

Q3:方向传感器还有哪些用途?

Q4:为什么大多数网站甚至维基百科都说方向传感器 == 加速度传感器?

-拉米

0 投票
1 回答
1126 浏览

accelerometer - 绝对方向感测加速度

我正在尝试制作一个可以感应 X、Y、Z 轴加速度的电路。(例如,直线向下运动应该在 Z 轴上 - 而不是 X 和 Y)

但是,电路可能并不总是笔直安装 - 所以如果我希望数据与轴一致(即补偿不稳定),我需要什么 - 可以轻松完成吗?它需要磁力计/陀螺仪吗?

我也刚刚找到了惯性测量单位——这些只是陀螺仪+加速度计的组合吗?这会做这项工作吗?

0 投票
1 回答
23839 浏览

filter - 陀螺仪、加速度计、磁力计和卡尔曼滤波器

我想使用陀螺仪、加速度计和磁力计在 3 轴上获得完全平滑的旋转。

第一个问题是我的输出个别有很大的噪音,我想知道如何去除它。

第二个问题是我认为应该用卡尔曼滤波器解决的陀螺漂移。

第三个问题是加速度计。如果在不旋转设备的情况下移动设备时结合陀螺仪和加速度计,输出将会改变。卡尔曼滤波器也可以消除输出中的移动效应吗?

0 投票
0 回答
888 浏览

iphone - iPhone指南针坏了?

我编写了一个小应用程序来使用 iPhone 的 3GS 和更好的磁铁。它大致基于 Apple 的 Teslameter 示例代码。

我注意到的是,在某些 iPhone 设备上它可以工作。在其他方面,有第一个特殊的阅读 - 然后,没有更多的阅读。

这些有问题的设备的共同点是,它们暴露在磁铁中的时间比普通 iPhone 更长……

所以,我想知道(1)这是否会“破坏”iPhone指南针?(2)如果是,有什么办法可以解决吗?(3) 有没有办法通过软件“重置”?

谢谢!

0 投票
2 回答
1277 浏览

iphone - 在 iPhone 中为 Opengl Es 获取方向设备

我正在尝试转换地磁和加速度计以在opengl ES1中旋转相机,我从android中找到了一些代码并将此代码更改为iPhone,实际上它或多或少都在工作,但是有一些错误,我不能为了找到这个错误,我放了代码,也是对 Opengl Es1 的调用: glLoadMatrixf((GLfloat*)matrix);

非常感谢你的帮助。

编辑: iPhone 它永久处于横向,我知道出了点问题,因为在 Opengl Es 中绘制的对象出现了两次。

0 投票
1 回答
8818 浏览

java - Using magnetic sensor

I want to get the three coordinates values of the magnetic field measured by the sensor of my phone. For this, I get a handle to the SensorManager by using sm=(SensorManager)getApplicationContext().getSystemService(Context.SENSOR_SERVICE), then get the sensor with cm=sm.getDefaultSensor(SensorManager.SENSOR_MAGNETIC_FIELD). I then register a SensorEventListener to the SensorManager with sm.registerListener(new SensorListener(),cm,SensorManager.SENSOR_DELAY_UI).

The classSensorListener is a class of my own implementing the SensorEventListener interface. In it's OnSensorChanged method, I get the values from the sensor and I display them. The problem is that I only get the values 1,0 and 0. And they are rarely updated (I have put a counter on the onSensorChanged calls to see how often the update takes place). Changing the time to SENSOR_DELAY_NORMAL doesnot improve anything.

To check if the problem was related to the magnetic sensor, I have added, in the same way, a listener to an accelerometer sensor. The result is very confusing : now, the magnetic sensor generates updates, but not the accelerometer one. And if I remove the accelerometer sensor event listener, I still receive the magnetic sensor events which where missing before adding the accelerometer sensor event listener.(???????????)

Any idea about what is wrong in my code?

0 投票
1 回答
1154 浏览

android - 听传感器时如何获得比Android中提供的四个精度常数更精确的精度?

在android中开发指南针时,可以通过检查传入的accuracy参数来检查传感器的可靠性

onAccuracyChanged(传感器传感器,int 精度)

此参数只能为 0,1,2,或 3

SENSOR_STATUS_UNRELIABLE、SENSOR_STATUS_ACCURACY_LOW、SENSOR_STATUS_ACCURACY_MEDIUM 和 SENSOR_STATUS_ACCURACY_HIGH

分别。

但是,我可以在 android 市场上看到许多应用程序,它们显示的进度条仪表似乎反映了可以被超过 4 个值整除的精度,换句话说,这些应用程序似乎表明了一个更大的精度范围比 4 个常数更精确。

有人会怎么做?

0 投票
1 回答
242 浏览

blackberry - 黑莓磁力计方向 - 哪个方向?

我目前正在尝试使用新的 BlackBerry Magnetometer API,但不幸的是遇到了各种问题。我已经让磁力计工作了,但我无法从中获得可靠的结果。

在 iPhone 指南针上,如果您将手机顶部朝向天空,或者将手机屏幕朝向天空,您会在指南针上获得相同的读数。然而,在黑莓上, MagnetometerData给出了各种让我感到困惑的方向。

据我所知,getDirectionTop 返回手机平放在背面时的角度,而 getDirectionBack 返回手机顶部朝向天空时的角度。

有没有办法根据手机方向获取方向?例如,自动检测手机是平放还是直立,并据此获得所需的方向?