Questions tagged «accelerometer»


16
摇动设备时如何刷新应用程序?
我需要添加一个摇动功能,以刷新我的Android应用程序。 我发现的所有文档都涉及实现SensorListener,但是Eclipse告诉我它已过时并建议使用SensorEventListener。 有人对我如何创建此指南有很好的指导shake controller吗?

4
如何从Javascript访问加速度计/陀螺仪数据?
最近,我遇到了一些网站,这些网站似乎可以访问笔记本电脑上的加速度计或陀螺仪,检测方向或运动的变化。 怎么做?我必须在该window对象上订阅某种事件吗? 可以在哪些设备(笔记本电脑,手机,平板电脑)上工作? 注意:实际上,我已经知道了这个问题的答案(部分),我将立即发布。我在这里张贴问题的原因,是为了让每个人都知道,加速度计数据是在Javascript中可用的(在某些设备上),并挑战社会关于这个问题发表新的研究结果。当前,似乎几乎没有关于这些功能的文档。

6
Android加速度计精度(惯性导航)
我当时正在考虑为Android手机实施惯性导航系统,鉴于加速度计的准确性和读数的不断波动,我意识到这很难。 首先,我将手机放在平坦的表面上,并在X和Y方向上采样了1000个加速度计读数(与表格平行,因此在这些方向上没有重力作用)。然后,我将这些读数取平均值,并使用该值校准手机(从每个后续读数中减去该值)。 然后,我通过将其再次放在桌子上并在X和Y方向上采样5000个加速度计读数来测试该系统。在校准的情况下,我希望这些加速度在每个方向上的总和为0(大约)。但是,事实并非如此,并且经过5000次迭代的总加速度远没有达到0(每条轴平均约为10)。 我意识到看不到我的代码可能很难回答,但是从更一般的意义上来说... 这仅仅是手机(HTC Desire S)上的加速度计读数有多不准确的一个示例,还是我的编码出现错误的可能性更大?

4
了解FFT输出
我需要一些帮助来了解DFT / FFT计算的输出。 我是一位经验丰富的软件工程师,需要解释一些智能手机加速度计的读数,例如查找主频率。不幸的是,我15年前睡过大部分大学的EE课程,但最近几天我一直在阅读DFT和FFT(显然没有用)。 请不要回答“参加EE课程”。如果我的雇主付钱给我,我实际上打算这样做。:) 所以这是我的问题: 我已经捕获到32 Hz的信号。这是我在Excel中绘制的32分的1秒示例。 然后,我从哥伦比亚大学获得了一些用Java编写的FFT代码(遵循了“ Java中可靠而快速的FFT ”一文中的建议)。 该程序的输出如下。我相信它正在运行就地FFT,因此它对输入和输出都使用相同的缓冲区。 Before: Re: [0.887 1.645 2.005 1.069 1.069 0.69 1.046 1.847 0.808 0.617 0.792 1.384 1.782 0.925 0.751 0.858 0.915 1.006 0.985 0.97 1.075 1.183 1.408 1.575 1.556 1.282 1.06 1.061 1.283 1.701 1.101 0.702 ] Im: [0.0 0.0 …

5
基于陀螺仪和加速度计的室内定位系统
我正在开发一个Android应用来跟踪室内位置。我的手机是使用两个传感器的Google Nexus S,第一个是加速度计,第二个是陀螺仪。 我的想法是,从2个传感器(用于运动的加速度计和用于方向的陀螺仪)的起始参考点(已知的GPS位置)跟踪手机在移动时的位置。并在用户前进时在地图上显示。 但是问题是我不知道如何结合使用这两个传感器来给我一个实际的位置? 我已经在互联网上阅读过一些有关“卡尔曼过滤器”的文章,经过更多研究后,我发现该过滤器非常非常复杂(对我来说太多了),尤其是在Android版Java(CPU杀手)中对其进行编码 是否有人可以与我分享有关使用陀螺仪和加速度计的室内定位系统的经验?

2
结合陀螺仪和加速度计数据
我正在使用Lego Mindstorm的NXT系统构建平衡机器人。我正在使用HiTechnic的两个传感器,第一个是加速度计,第二个是陀螺仪。我已经成功滤除了两个传感器的噪声以及在-90到90度之间的两个角度中的派生角度,其中0度是完美平衡的。 我的下一个挑战是将两个传感器值结合起来以校正陀螺仪随时间的漂移。下面是我根据实际数据创建的示例图,以演示陀螺仪的漂移: 我见过的使这些传感器坚如磐石的最常用方法是使用卡尔曼滤波器。但是,我不是微积分专家,我真的不懂数学符号,但是我确实懂源代码中的数学。 我使用的是RobotC(与其他C派生类一样),如果有人可以给我有关如何在C中实现此功能的示例,我将不胜感激。 感谢您的帮助! 解决方案结果: 好的,kersny通过向我介绍互补过滤器解决了我的问题。这是说明我的结果的图表: 结果1 结果#2 如您所见,该滤波器可校正陀螺仪的漂移,并将两个信号合并为一个平滑信号。 编辑:由于我还是要修复损坏的图像,所以我认为显示用于生成此数据的装备会很有趣:

6
屏幕关闭时,Android加速度计不起作用
我正在为我的计算机科学毕业论文开发一个应用程序,我需要收集和记录加速度计数据。我需要整整一整天才购买它,所以电池电量受到严重限制(例如,我无法打开屏幕)。而且,这不是面向市场的应用程序,因此,如果需要的话,进行一些严重的黑客入侵甚至是低级C / C ++编码也是可以接受的。 众所周知,在许多设备上,当屏幕关闭时,加速度计事件的侦听器会停止生成事件(有关此问题的一些链接:http : //code.google.com/p/android/issues/detail? id = 3708,加速度计当屏幕在Droid / Nexus One上关闭时,即使有WakeLock,也停止提供样品。我已经彻底搜索了一些替代方法,其中一些方法不适用于我的设备(LG P990,ROM)。 所以发生了什么事情:当您在服务中注册android加速度传感器的事件监听器时,它工作正常,直到屏幕关闭。我已经尝试在IntentService上的服务上注册eventListener,试图获取WakeLocks。关于唤醒锁,我可以通过观察LOGcat输出来验证该服务是否仍在运行,但似乎加速度计已进入睡眠模式。某些链接中提供的解决方法之一是使用IntentService的线程定期注销和重新注册事件侦听器,如以下代码段所示 synchronized private static PowerManager.WakeLock getLock(Context context) { if (lockStatic==null) { PowerManager mgr=(PowerManager)context.getSystemService(Context.POWER_SERVICE); lockStatic = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,NAME); lockStatic.setReferenceCounted(true); } return(lockStatic); } @Override protected void onHandleIntent(Intent intent) { sensorManager=(SensorManager) getSystemService(SENSOR_SERVICE); sensorManager.unregisterListener(this); sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); synchronized (this) { boolean …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.