手机传感器中的加速度传感器
期末做的是计步器APP,所以对加速度传感做了些研究哈哈,下面我就讲讲我学习的一下东西。
1、什么是加速度传感器?
首先传感器,顾名思义,就是将对象的变化感受传达给设备的一种工具,在Android中使用加速度传感器可以帮助我们识别手机的姿态及运动状态。经常听到的有方向传感器,重力感应器,加速度传感器,心率传感器等等。不同版本系统安卓机支持的传感器会不同,所以开发时要选择支持加速度传感器的安卓系统版本。
2、 加速度的求取
由于手机会固定受到地球重力加速度,因此传感器的读数是受此影响后的数值。
假如我们的手机是垂直摆放,机头朝上。那么x,z轴均无加速度,y轴上会固定受到地球重力加速度的影响。
此时,由于y轴向上为正方向,因此重力加速度为负值,y轴的加速度就为:
ay=a−(−g)=a+9.81
因此竖直静止时,三轴的加速度近似于:
(ax,ay,az)=(0,9.81,0)
反之在垂直摆放,机头朝下(倒立摆放)时。y轴方向是向下的,因此这时地球加速度为+9.81。这种情况下y轴的加速度:
ay=a−g=a−9.81
静止时有近似值:
(ax,ay,az)=(0,−9.81,0)
3、使用加速度传感器与其他传感器的方法大致相同,通过调用系统API就可以实现。分为以下几步:
1.获取SensorManager
2.使用SensorManager获取加速度传感器
3.创建自定义的传感器监听函数,并注册
4.相对应的,在合适位置实现注销监听器的调用
4、献上我的学习代码
public class MainActivity extends Activity{
private static final String TAG = “SensorTest”;
private Sensor mAccelerometer;
private TestSensorListener mSensorListener;