ASF(传感器)

版权声明:以前的Blog文章合并。原创作品,谢绝转载!否则将追究法律责任。

SensorManager类:用于创建sensor service的实例。该类提供了很多

用于访问和枚举传感器,注册和注销传感器监听器的方法。而且还提供了

与传感器精度、扫描频率、校正有关的常量。

Sensor类:提供了一些用于获取传感器技术参数的方法。如版本、类型、

生产商等。

1. TYPE_ACCELEROMETER:加速传感器(硬件传感器)

2. TYPE_AMBIENT_TEMPERATURE:温度传感器(硬件传感器)

3. TYPE_GRAVITY:重力传感器(硬件或软件传感器)

4. TYPE_GYROSCOPE:陀螺仪传感器(硬件传感器)

5. TYPE_LIGHT:光线传感器(硬件传感器)

6. TYPE_LINEAR_ACCELERATION:线性加速传感器(硬件或软件传感器)

7. TYPE_MAGNETIC_FIELD:磁场传感器(硬件传感器)

8. TYPE_ORIENTATION:方向传感器(软件传感器),数据来自重力和磁场传感器

9. TYPE_PRESSURE:压力传感器(硬件传感器)

10.TYPE_PROXIMITY:临近传感器(硬件传感器)

11.TYPE_RELATIVE_HUMIDITY:湿度传感器(硬件传感器)

12.TYPE_ROTATION_VECTOR:旋转向量传感器(硬件或软件传感器)

SensorEvent类:系统使用该类创建传感器事件对象。该对象可以提供与

传感器事件有关的信息。传感器事件对象包括的信息有原始的传感器回传

数据、传感器类型、数据的精度以及触发事件的时间。

SensorEventListener接口:该接口包含两个回调方法,当传感器的回传

值或精度发生变化时,系统会调用这两个回调方法。

<span style="font-size:12px;">//获取传感器列表
SensorManager mSensorManager=(SensorManager) getSystemService(Context.SENSOR_SERVICE);
        List<Sensor> mSensors=mSensorManager.getSensorList(Sensor.TYPE_ALL);
        for (Sensor sensor : mSensors) {
            mSensorTv.append(sensor.getName()+"\n");
        }</span>
<span style="font-size:12px;">/**
 * @author linwb
 */
public class MainActivity extends Activity implements SensorEventListener{
    private TextView mSensorTv;
    private SensorManager mSensorManager;
    private float[] adjustArgs=new float[3];

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mSensorTv=(TextView) findViewById(R.id.sensorTv);
        mSensorManager=(SensorManager) getSystemService(Context.SENSOR_SERVICE);
    }

    @Override
    protected void onPause() {
        super.onPause();
        mSensorManager.unregisterListener(this);
    }

    @Override
    protected void onResume() {
        super.onResume();
        //第三个参数为刷新的频率
        //SensorManager.SENSOR_DELAY_FASTEST 最快
        //SensorManager.SENSOR_DELAY_GAME 游戏
        //SensorManager.SENSOR_DELAY_NORMAL 普通
        //SensorManager.SENSOR_DELAY_UI 用户界面
        mSensorManager.registerListener(this,
                mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                SensorManager.SENSOR_DELAY_UI);
        mSensorManager.registerListener(this,
                mSensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY),
                SensorManager.SENSOR_DELAY_UI);
    }

    @Override
    public void onSensorChanged(SensorEvent event) {
        switch (event.sensor.getType()) {
        case Sensor.TYPE_ACCELEROMETER:
            //去除杂质 在此之前先保证重力传感器存在
//          float x=adjustArgs[0] * 0.9f + event.values[0] *( 1 - 0.9f);
//          float y=adjustArgs[1] * 0.9f + event.values[1] *( 1 - 0.9f);
//          float z=adjustArgs[2] * 0.9f + event.values[2] *( 1 - 0.9f);

            String reslut=(event.values[0])+"  "+(event.values[1])
                    +"  "+(event.values[2]-9.81f);
            mSensorTv.setText(reslut);
            break;
        case Sensor.TYPE_GRAVITY:
            adjustArgs[0]=event.values[0];
            adjustArgs[1]=event.values[1];
            adjustArgs[2]=event.values[2];
            break;
        default:
            break;
        }
    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {

    }
}</span>

ASF(传感器),布布扣,bubuko.com

时间: 2024-08-10 03:22:30

ASF(传感器)的相关文章

Android 传感器开发 完全解析

转载请注明出处:http://blog.csdn.net/smartbetter/article/details/53161452 大家好,由于最近会有对智能硬件相关的开发需求,所以最近这些天分享的博文也就大致挂钩智能硬件了,像上一篇的蓝牙分享,相信很多读者已经看过了,那么今天我为大家带来Android传感器方面知识的介绍与使用方法,对于传感器的使用,不同版本的Android手机也许存在较大的硬件差异,但是万变不离其宗,本篇将通过几个最常见的传感器,渗透式的教会大家如何使用这些传感器,带领大家完

1、传感器概述

传感器种类 传感器是第二代智能手机的重要标志之一.可以毫不客气地说,现在市面上的Android手机和平板电脑(TV除外)都内置了传感器.否则很多游戏和应用就无法使用了.Android SDK支持的传感器并不是每一部Android设备都支持所有的传感器.大多数Android设备只支持一部分传感器.例如,方向传感器(电子罗盘).重力传感器(屏幕翻转.赛车游戏等). 动作(Motion)传感器 这类传感器在三个轴(X.Y.Z)上测量加速度和旋转角度.包括如下几个传感器. 加速(acceleromete

Android传感器概述-android学习之旅(七)

传感器概述 传感器是第二代智能手机的重要标志之一.现在许多的手机和平板都内置了传感器(tv除外).android的SDK支持许多的传感器有十几种,但是手机只是支持一部分.例如方向传感器(电子罗盘)和重力传感器(屏幕翻转). 大概分为三类 动作传感器 环境传感器' 位置传感器 动作传感器 这类传感器在三个轴(x,y,z)上测量加速度和旋转角度.包括如下几个传感器. - 加速传感器 - 重力传感器 - 陀螺仪传感器 - 旋转向量传感器 环境传感器 湿度传感器' 光线传感器 温度传感器 位置传感器 方

传感器到底需要什么样的电路板

传感器,英文名称transducer,是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输.处理.存储.显示.记录和控制等要求. 按照制造工艺来分类的话: 集成传感器是用标准的生产硅基半导体集成电路的工艺技术制造的.通常还将用于初步处理被测信号的部分电路也集成在同一芯片上,例如现在大力发展的MEMS传感器. 薄膜传感器则是通过沉积在介质衬底(基板)上的,相应敏感材料的薄膜形成的.使用混合工艺时,同样可将部分电路制造在此基板上

进阶篇-安卓系统:4.安卓手机动作传感器

动作传感器对于监测设备的移动非常有用,例如:倾斜.震动.旋转和摆动都属于动作传感器的监测范围.设备的移动通常是对用户输入的直接反应. 所有动作传感器都会返回三个浮点数的值,对于不同的传感器,这三个值的意义不同.例如,对于加速度传感器,会返回三个坐标轴的加速数据.对于陀螺仪传感器,会返回三个坐标周的旋转角速度. 动作传感器的使用与数据返回:加速度传感器 如果单纯的使用加速度传感器传回的数据,会发现Z轴的的加速度是9.8多.所以看来安卓是把静止的手机竖直加速度默认为重力加速度,并且XY轴的数据也不是

Android12_播放器_surfaceVIew_照相机_传感器

编程的时间与空间的概念,两者不可兼得(技术固定),时间换空间,空间换时间 sufaceView占用比较大的空间但是效率高 1,音乐播放器 MediaPlayer ①同步的 大致流程按下图走即可,播放最好写在服务里,因为要在后台播放 1.1 new出来的mediaplayer 默认处于Idie(空闲),reset()也可以让其处于初始状态 1.2 setDataSource()设置好文件之后就处于Initialized()初始化状态 1.3 可以通过setOnErrorListener方法查看播放

传感器网络的路由

1.传感器网络的路由特点 传感器网络作为一种自组织的动态网络,当节点失效.新节点加入导致网络拓扑结构动态变化时需要网络能够自动愈合.传感器网络中路由的关键技术就是多跳自组织的网络路由协议,另外传感器网络中的路由机制还需要与数据融合技术联系在一起.根据不同的传感器网络应用,一共有四种思想的路由协议.能量感知路由是高效利用网络能量的路由协议,它侧重点是最少能量消耗和最长网络生存期等问题:基于查询的路由比较适合环境检测方面的应用,在这类应用中需要不断地的查询传感器节点采集的数据,通信流量集中在汇聚节点

Android基础入门教程——10.12 传感器专题(3)——加速度-陀螺仪传感器

Android基础入门教程--10.12 传感器专题(3)--加速度/陀螺仪传感器 标签(空格分隔): Android基础入门教程 本节引言: 本节继续来扣Android中的传感器,本节带来的是加速度传感器(Accelerometer sensor)以及 陀螺仪传感器(Gyroscope sensor),和上一节的方向传感器一样有着x,y,z 三个轴, 还是要说一点:x,y轴的坐标要和绘图那里的x,y轴区分开来!传感器的是以左下角 为原点的!x向右,y向上!好的,带着我们的套路来学本节的传感器吧

Android操作系统11种传感器介绍

#define SENSOR_TYPE_ACCELEROMETER 1 //加速度 #define SENSOR_TYPE_MAGNETIC_FIELD 2 //磁力 #define SENSOR_TYPE_ORIENTATION 3 //方向 #define SENSOR_TYPE_GYROSCOPE 4 //陀螺仪 #define SENSOR_TYPE_LIGHT 5 //光线感应 #define SENSOR_TYPE_PRESSURE 6 //压力 #define SENSOR_TYP