android - 手机传感器

标签 android orientation sensors gyroscope magnetometer

经过几个小时的搜索,我很困惑,所以我现在就说说我学到的东西,如果我错了,请纠正我:

光传感器:周围光

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

加速计传感器:重力 X Y Z、地球重力或任何加速度。

接近传感器:就像 parking 传感器一样。

方向传感器:告诉 X Y Z 度从他们的轴。

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

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

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

Q2:Orientation Sensor 是否适用于大多数设备?

Q3:Orientation Sensor还有哪些用途?

Q4:为什么大多数网站甚至维基百科都说 Orientation Sensor == Accelerometer Sensor?

-拉米

最佳答案

好的,首先是简单的... 关于 Q1,陀螺仪 测量角速度(弧度/秒),方向 是不同的量级,告诉我们如何“放置”设备(我真的不知道如何用英语解释这么基础的东西)。

关于Q2,我会说是的,大多数智能手机都可以使用 3 轴方向,至少运行 Android 的智能手机是这样。

Q3:指南针实际上使用方向值,磁场传感器测量该幅度(不是度数),但您可能可以使用磁场计算指南针值。另一个用途……好吧,例如,您可以判断设备是上下颠倒。

关于Q4,这更难,我不是加速度计方面的专家,但我认为这些“传感器”中的大多数使用相同的硬件传感器,它测量磁场并使必要的计算,但我坚持,也许最好阅读更详细的技术信息。

如果您注意到,现在 OrientarionSensor 已被弃用,这是在文档中写的:

Note: This sensor type exists for legacy reasons, please use getRotationMatrix() in conjunction with remapCoordinateSystem() and getOrientation() to compute these values instead.

所以是的,它似乎通过加速度计计算方向值,但方向仍然以度为单位,加速度以 (m/s^2) 为单位,不同的大小。正如我所说,我认为它们使用相同的传感器测量不同的幅度,这就是为什么它们在 API 中呈现不同类型的Events

我希望我没有写很多大错误,因为好吧,我也想澄清一些关于这些传感器的概念。

关于android - 手机传感器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4676485/

相关文章:

android - 向在模拟器中运行的应用程序发送调试命令

xcode - 如何让 iPhone 6 Plus 横向启动?

java - 单击按钮时激活接近传感器

arduino - 室内自主机器人位置检测

android - 在 android studio 0.3.1 中使用 ActionbarSherlock 的编译错误

android - Google Cloud Messaging 是否会向处于待机模式的设备发送消息?

java - 安装带有依赖的jar到maven仓库(Android gcm-server push library)

ios - 如何通过平移手势限制可移动 View

android - Cordova 3.1 方向不工作

java - 从包含 3 个 float 的传感器中解析字符串