标签: accelerometer

如何在Android模拟器中模拟加速度计?

我现在没有Android手机.但在我的应用程序中,我需要使用加速度计值.如何在模拟环境中执行此操作?

android accelerometer android-virtual-device

44
推荐指数
3
解决办法
5万
查看次数

如何让iPhone面向当前?

是否有一种特殊的方法来获得iPhone定位?我不需要它在度或弧度,我希望它返回一个UIInterfaceOrientation对象.我只需要它来构建if-else结构

if(currentOrientation==UIInterfaceOrientationPortrait ||currentOrientation==UIInterfaceOrientationPortraitUpsideDown) {
//Code
}  
if (currentOrientation==UIInterfaceOrientationLandscapeRight ||currentOrientation==UIInterfaceOrientationLandscapeLeft ) {
//Code
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

objective-c accelerometer

43
推荐指数
2
解决办法
5万
查看次数

Google Fit应用程序如何在不耗尽电量的情况下始终测量步数?

谷歌飞度的应用程序,在安装时,测量你在走路或跑步的时间,也步数所有的时间.然而,奇怪的是,使用它似乎并没有耗尽电池.其他应用程序,如Moves,似乎可以非常准确地记录步数,因为它不断监控GPS和加速度计,因此它会消耗大量功率.

我想象几种可能性:

  • 每分钟左右唤醒手机,然后分析传感器几秒钟,然后再次睡觉.然而,似乎记录非常精确,所以醒来必须经常.
  • 实际上一直打开加速度计,只有在加速度计测量数据缓冲区满后才进行分析.但是我认为加速度计有一个小缓冲区来存储最新的测量值.
  • 使用GPS 估算步数而不是实际计算步数.然而,情况并非如此,因为它甚至可以在室内使用.

该应用程序仍然感觉神奇.一直计数步骤而没有可察觉的电池消耗.

gps android accelerometer android-sensors google-fit

43
推荐指数
3
解决办法
7万
查看次数

如何使用android中的加速度计计算精确的步数?

我正在使用算法开发一些应用程序,如Runtastic计步器,但我没有得到结果之间的任何相似性.

我的代码如下:

public void onSensorChanged(SensorEvent event) 
{
        Sensor sensor = event.sensor; 
        synchronized (this)
 {
            if (sensor.getType() == Sensor.TYPE_ORIENTATION) {}
            else {
            int j = (sensor.getType() == Sensor.TYPE_ACCELEROMETER) ? 1 : 0;
                if (j == 1) {
                    float vSum = 0;
                    for (int i=0 ; i<3 ; i++) {
                        final float v = mYOffset + event.values[i] * mScale[j];
                        vSum += v;

                    }
                    int k = 0;
                    float v = vSum / 3;
                    //Log.e("data", "data"+v);

                    float direction = (v > …
Run Code Online (Sandbox Code Playgroud)

algorithm android accelerometer

42
推荐指数
4
解决办法
8万
查看次数

Android TYPE_LINEAR_ACCELERATION传感器 - 它显示了什么?

我正在开发汽车加速跟踪应用程序.我使用标准加速度计,事先在特定位置校准.

然后,假设手机的方向没有改变,我将加速度计数据记录了指定的时间并计算了移动参数,其中一个是测试结束时的汽车速度.

它在一条平直的水平道路上工作得相当好:几个百分点的误差.

但后来我发现,在API级别10中有一个叫做的虚拟传感器TYPE_LINEAR_ACCELERATION,据我所知,它必须做我需要的东西:过滤重力,方向变化 - 所以我可以使用它并获得纯粹的线性加速度移动设备.

但在现实生活中......

我做了一个简单的应用程序,做了一点测试:

//public class Accelerometer implements SensorEventListener { ...
public void onSensorChanged(SensorEvent se) 
{
    if(!active)
        return;

    lastX = se.values[SensorManager.DATA_X];
    lastY = se.values[SensorManager.DATA_Y];
    lastZ = se.values[SensorManager.DATA_Z];
    long now = System.currentTimeMillis();
    interval = now - lastEvetn;
    lastEvetn = now;
    out.write(Float.toString(lastX) + ";" + 
                    Float.toString(lastY) + ";" + 
                    Float.toString(lastZ) + ";" + 
                    Long.toString(interval) + "\n");
}
Run Code Online (Sandbox Code Playgroud)

我用以下参数绑定一个监听器:

  mSensorManager.registerListener(linAcc,
                mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION),
                SensorManager.SENSOR_DELAY_GAME);
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是当我分析数据转储时,计算速度,比如V = V0 + AT,V0 = 0首先,然后 - 之前的间隔速度,A = …

android sensor accelerometer

36
推荐指数
3
解决办法
5万
查看次数

iPhone上的陀螺仪

在iPhone上使用陀螺仪需要一些帮助.在特定情况下,我无法理解CMAttitude关于俯仰,翻滚和偏航的读数.

这是我的代码

- (void)handleDeviceMotion:(CMDeviceMotion*)motion {

   NSLog(@"Yaw   %f ",attitude.yaw * 180 / M_PI);
   NSLog(@"Pitch %f ",attitude.pitch * 180 / M_PI);
   NSLog(@"Roll  %f ",attitude.roll * 180 / M_PI);
}
Run Code Online (Sandbox Code Playgroud)

我们假设iPhone正在平面上,如下图所示:

在此输入图像描述

俯仰,滚转和偏航是(几乎)0度,绕轴的任何转弯都会返回可理解的读数.例如,向右转动设备,Yaw减小,Pitch and Roll保持为0.

现在iPhone处于以下位置:

在此输入图像描述

并再次开始测量.

读数为:Yaw = 0,Pitch = 90,Roll = 0

由于设备围绕该轴旋转,因此间距增加.

将iPhone移动到这个位置:

在此输入图像描述

读数为:Yaw = 30,Pitch = 90,Roll = 0

再一次,由于设备围绕偏航轴旋转,因此该值会改变而其他值则不会改变.

围绕Roll轴移动设备:

在此输入图像描述

读数为:Yaw = 0,Pitch = 90,Roll = -20.

现在我无法理解.将iPhone移动到半径为R(R> 0)的圆周,如下图所示:

在此输入图像描述

Yaw改变同时Pitch and Roll没有.

我原以为Yaw保持不变而Roll已经改变了.

如何补偿这一点,因为我对用户制作的偏航轴周围的旋转感兴趣?

我遇到的另一个问题是漂移.iPhone处于第二个图中描述的位置,长时间(1分钟或更长时间)在我的手中拍摄.偏航不断增加.知道如何补偿漂流吗?

先感谢您

更新 我跟随凯的建议,但没有任何改变.关于我的代码的更多细节.我想仅在用户围绕偏航轴旋转设备时使用Yaw旋转UIImage.这是有效的,但是当用户围绕其自己的垂直轴旋转时,偏转会发生变化.我认为这是不正确的,因为当用户围绕其垂直轴移动时,设备不会围绕其自己的偏航轴旋转.可能是我错了.这是我的原始代码:

- (void)handleDeviceMotion:(CMDeviceMotion*)motion { 

   CMAttitude      *attitude = motion.attitude;

   NSLog(@"Yaw   %f ",attitude.yaw * …
Run Code Online (Sandbox Code Playgroud)

iphone accelerometer ipad ios gyroscope

34
推荐指数
1
解决办法
1万
查看次数

何时在Android上使用加速度计或陀螺仪

可以假设大多数用户设备都有陀螺仪吗?换句话说,我会在我的应用中使用陀螺仪排除相当多的人吗?

我正在制作儿童故事书应用程序,我希望用户能够围绕偏航轴倾斜设备,来回移动摇椅.它只是应用程序的一小部分,并不一定非常精确.我应该使用一个传感器吗?

android accelerometer gyroscope

34
推荐指数
1
解决办法
3万
查看次数

我如何使用Android加速度计?

我正在尝试构建一个应用程序,用于从手机上的加速度计读取值,该应用程序仅支持Android 2.1.

如何使用兼容2.1的代码读取加速度计?

android accelerometer

33
推荐指数
3
解决办法
8万
查看次数

iPhone上的Nike + GPS如何在后台接收加速度计更新?

适用于iOS 5的全新Nike + GPS应用程序能够在后台处理加速度计事件(从而允许室内跑步机跟踪).这怎么可能?当我将我的应用程序放在后台时,它会停止接收事件.我使用标准的UIAccelerometer API.

accelerometer background-process ios5

33
推荐指数
1
解决办法
1万
查看次数

android Sdk中的FFT库

我正在使用android项目.我需要FFT算法来处理android加速度计数据.在android sdk中有FFT库吗?

java android fft accelerometer

33
推荐指数
4
解决办法
6万
查看次数