如何使用抖动传感器包装中的加速度计和陀螺仪读数获取弧度?

时间:2019-09-09 22:40:49

标签: flutter android-sensors

我正在使用抖动传感器包(如https://pub.dev/packages/sensors)从设备获取加速度计和陀螺仪读数。老实说,我不知道返回的数据是什么意思,或者它与设备上的陀螺仪有何关系,并且包装的文档中并未真正说明这些值是什么。

我正在尝试将返回的值转换为俯仰,偏航和360度滚动。我已经在Github上搜索了这些问题,试图找到传感器包装的文档,但是我没有成功。

任何帮助都会很棒:)谢谢。

1 个答案:

答案 0 :(得分:0)

尝试使用它,

_streamSubscriptions =
        accelerometerEvents.listen((AccelerometerEvent event) {
      setState(() {
        double x = event.x, y = event.y, z = event.z;
        double norm_Of_g = math
            .sqrt(event.x * event.x + event.y * event.y + event.z * event.z);
        x = event.x / norm_Of_g;
        y = event.y / norm_Of_g;
        z = event.z / norm_Of_g;

        double xInclination = -(math.asin(x) * (180 / math.pi));
        double yInclination = (math.acos(y) * (180 / math.pi));
        double zInclination = (math.atan(z) * (180 / math.pi));

        String xAngle = "${xInclination.round()}°";
        String yAngle = "${yInclination.round()}°";
        String zAngle = "${zInclination.round()}°";    
      });
    });

希望它可以解决问题...