手机传感器

手机摄像头的组成结构和工作原理

邮差的信 提交于 2020-01-08 03:23:17
手机摄像头的组成结构和工作原理 手机摄像头由: PCB板、镜头、固定器和滤色片、DSP(CCD用)、传感器等部件组成。 工作原理为: 拍摄景物通过镜头,将生成的光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理,再被送到手机处理器中进行处理,最终转换成手机屏幕上能够看到的图像。 PCB板 摄像头中用到的印刷电路板,分为硬板、软板、软硬结合板三种 镜头 镜头是将拍摄景物在传感器上成像的器件,它通常由由几片透镜组成。从材质上看,摄像头的镜头可分为塑胶透镜和玻璃透镜。 镜头有两个较为重要的参数:光圈和焦距。 光圈是安装在镜头上控制通过镜头到达传感器的光线多少的装置,除了控制通光量,光圈还具有控制景深的功能,光圈越大,景深越小,平时在拍人像时背景朦胧效果就是小景深的一种体现。 景深是指在摄影机镜头前能够取得清晰图像的成像所测定的被摄物体前后距离范围。 数值越小,光圈越大,进光量越多,画面比较亮,焦平面越窄,主体背景虚化越大; 值越大,光圈越小,进光量越少,画面比较暗,焦平面越宽,主体前后越清晰。 焦距 焦距是从镜头的中心点到传感器平面上所形成的清晰影像之间的距离。根据成像原理,镜头的焦距决定了该镜头拍摄的物体在传感器上所形成影像的大小。比如在拍摄同一物体时,焦距越长,就能拍到该物体越大的影像。长焦距类似于望远镜。 固定器和滤色片

android摇一摇功能的实现

守給你的承諾、 提交于 2019-12-07 15:16:37
很多人赶脚摇一摇用着很欢乐~实际实现起来很简单。了解 Sensor传感器使用方法即可。 摇一摇功能只使用到Sensor.TYPE_ACCELEROMETER加速度传感器 首先acticity要实现SensorEventListener接口 初始化传感器服务 mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); 然后重写onSensorChanged方法根据时间类型和偏移值判断即可 事件类型:event.sensor.getType() 偏移值 event.values 加速度传感器返回值的单位是加速度的单位 m/s^2(米每二次方秒),有三个方向的值分别是   values[0]: x-axis 方向加速度   values[1]: y-axis 方向加速度   values[2]: z-axis 方向加速度   其中x,y,z方向的定义是以水平放置在的手机的右下脚为参照系坐标原点   x 方向就是手机的水平方向,右为正   y 方向就是手机的水平垂直方向,前为正   z方向就是手机的空间垂直方向,天空的方向为正,地心的方向为负 最后要注意在onStop() onPause()里注销传感器的服务 mSensorManager.unregisterListener(this); onResume(

Android传感器

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-27 00:31:19
准备工作: 实现SensorEventListener接口(需复写onSensorChanged、onAccuracyChanged方法);创建相应的textview ; 初始化一个SensorManager对象来获取系统的传感器服务。 了解手机的传感器的三维坐标: x轴水平向右,y轴垂直向上,z轴正向指向屏幕正上。 传感器实现方法: 1.加速度传感器 首先在onCreate方法中注册加速度传感器监听器 再在onSensorChanged方法中监听这个传感器值的变化并更新textview的值 。 2.近距离传感器 同样先在onCreate方法中注册近距离传感器监听器,再在 onSensorChanged方法中监听这个传感器值的变化并更新textview的值。 3.方向传感器 方向传感器用于感应手机的摆放位置,它给我们返回了三个角度,这三个角度可以确定手机的摆放状态。 第一个角度:表示手机顶部朝向与正北方的夹角。当手机绕着Z轴旋转时,该角度值发生改变。比如,当该角度为0度时,表明手机顶部朝向正北;该角度为90度时,表明手机顶部朝向正东;该角度为180度时,表明手机朝向正南;该角度为270度时,表明手机顶部朝向正西。 第二个角度:表示手机顶部或尾部翘起的高度。当手机绕着X轴倾斜时,该角度值发生变化,该角度的取值范围是-180~180度。假设手机屏幕朝上水平放在桌子上

Android Sensor(传感器)

我与影子孤独终老i 提交于 2019-11-26 10:58:16
Android 常见传感器 在这之前,我们需要了解关于Android的坐标系: 首先,让Activity实现SensorEventListener接口(实现接口需要复写 onSensorChanged , onAccuracyChanged 方法),便于监听来刷新数据 然后创建SensorManager对象,然后为它注册加速度传感器监听器 //获取系统服务 sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); // 注册事件 // * 参数1 :SensorEventListener监听器 // * 参数2 :Sensor 一个服务可能有多个Sensor实现,此处调用getDefaultSensor获取默认的Sensor // * 参数3 :模式 可选数据变化的刷新频率,多少微秒取一次。 sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); 加速度传感器(Accelerometer) TYPE_ACCELEROMETER //加速度传感器 if (event.sensor