加速度计QML

Ale*_*ext 2 qt android accelerometer qml

尝试测量基于距离的加速度(加速度计移动).如果那是真的

Accelerometer {
    id: accel
    dataRate: 1000 / 25
    onReadingChanged: {
        console.log(reading.x, reading.y, reading.z);
    }
}
Run Code Online (Sandbox Code Playgroud)

在控制台中

D/libsensor.so(16533): qrc:/main.qml:20 (onReadingChanged): qml: 1.359906554222107,8.791508674621582,-0.4405331015586853
Run Code Online (Sandbox Code Playgroud)

现在,当您显示信息并使移动设备完全静止(静止)时.显示所有轴的加速度,这是荒谬的!你知道为什么吗?

Ily*_*lya 8

这当然不是荒谬的.

根据爱因斯坦广泛接受(但仍然令人不安)的理论,你的手机无法分辨它是静止在地球上还是在太空船内加速 - 这被称为"等效原理".所以它只是假设它在一个加速的宇宙飞船,因为为什么不呢?这太酷了,你不觉得吗?

如果你在一个行星附近(或在一个行星上)并且读取零加速度,那就是坏消息,因为这意味着你在地球周围扭曲的时空中自由落体,而你可能正要打一些东西.

你正在读取大约9m/s ^ 2的加速度,这接近地球的g值,所以这几乎是正确的,这取决于你的手机方向.也许加速度计校准不太正确,如果您还没有完成,可以使用专用应用程序进行测试.NB一些应用程序将弥补地球的严重性.

当然,手机或Qt或代码中的错误或硬件故障也可能存在,但您必须知道会发生什么.

希望有所帮助.