手機傳感器是手機上通過芯片來感應的元器�,如溫度�、亮度值和壓力值等�
手機傳感器檢測安卓手機上所有可用感應器,并通過圖像生動的展示它們是如何運作的。手機傳感器也能夠識別該手機硬件支持哪些傳感�,并提供對我們日常生活起著重要作用的傳感工具。手機傳感器只能檢測到變�。如果屬性沒有變化,它顯示的溫度�、距離�、光和壓力的值可能不準確�
在Android2.3 gingerbread系統(tǒng)�,google提供�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_TYPE_TEMPERATURE 7 //溫度
#define SENSOR_TYPE_PROXIMITY 8 //接近
#define SENSOR_TYPE_GRAVITY 9 //重力
#define SENSOR_TYPE_LINEAR_ACCELERATION 10//線性加速度
#define SENSOR_TYPE_ROTATION_VECTOR 11//旋轉矢量
我們依次看看這十一種傳感器
1 加速度傳感�
加速度傳感器又叫G-sensor,返回x、y、z三軸的[1] 加速度�(shù)值�
該數(shù)值包含地心引力的影響,單位是m/s^2�
將手機平放在桌面�,x軸默認為0,y軸默�0,z軸默�9.81�
將手機朝下放在桌面上,z軸為-9.81�
將手機向左傾�,x軸為正��
將手機向右傾斜,x軸為負��
將手機向上傾斜,y軸為負��
將手機向下傾�,y軸為正值�
加速度傳感器可能是最為成熟的一種mems產品,市場上的加速度傳感器種類很多�
手機中常用的加速度傳感器有BOSCH(博世)的BMA系列,AMK�897X系列,ST的LIS3X系列等�
這些傳感器一般提供�2G至�16G的加速度測量范圍,采用I2C或SPI接口和MCU相�,數(shù)�(jù)精度小于16bit�
2 磁力傳感�
磁力傳感器簡稱為M-sensor,返回x、y、z三軸的環(huán)境磁場數(shù)�(jù)�
該數(shù)值的單位是微特斯拉(micro-Tesla�,用uT表示�
單位也可以是高斯(Gauss��1Tesla=10000Gauss�
硬件上一般沒有獨立的磁力傳感�,磁力數(shù)�(jù)由電子羅盤傳感器提供(E-compass��
電子羅盤傳感器同時提供下文的方向傳感器數(shù)�(jù)�
3 方向傳感�
方向傳感器簡稱為O-sensor,返回三軸的角度�(shù)�(jù),方向數(shù)�(jù)的單位是角度�
為了得到精確的角度數(shù)�(jù),E-compass需要獲取G-sensor的數(shù)�(jù)�
經過計算生產O-sensor�(shù)�(jù),否則只能獲取水平方向的角度�
方向傳感器提供三個數(shù)�(jù),分別為azimuth、pitch和roll�
azimuth:方�,返回水平時磁北極和Y軸的夾角,范圍為0°�360°�
0°=��90°=東,180°=��270°=西�
pitch:x軸和水平面的夾角,范圍為-180°�180°�
當z軸向y軸轉動時,角度為正值�
roll:y軸和水平面的夾角,由于歷史原�,范圍為-90°�90°�
當x軸向z軸移動時,角度為正��
電子羅盤在獲取正確的�(shù)�(jù)前需要進行校準,通常可用8字校準法�
8字校準法要求用戶使用需要校準的設備在空中做8字晃��
原則上盡量多的讓設備法線方向指向空間的所�8個象��
手機中使用的電子羅盤芯片有AKM公司�897X系列,ST公司的LSM系列以及雅馬哈公司等��
由于需要讀取G-sensor�(shù)�(jù)并計算出M-sensor和O-sensor�(shù)�(jù)�
因此廠商一般會提供一個后臺daemon來完成工[1] �,電子羅盤算法一般是公司私有產權�
4 陀螺儀傳感�
陀螺儀傳感器叫做Gyro-sensor,返回x、y、z三軸的角加速度�(shù)�(jù)�
角加速度的單位是radians/second�
根據(jù)Nexus S手機實測�
水平逆時針旋轉,Z軸為��
水平逆時針旋�,z軸為��
向左旋轉,y軸為��
向右旋轉,y軸為��
向上旋轉,x軸為��
向下旋轉,x軸為正�
ST的L3G系列的陀螺儀傳感器比較流�,iphone4和google的nexus s中使用該種傳感器�
5 光線感應傳感�
光線感應傳感器檢測實時的光線強度,光強單位是lux,其物理意義是照射到單位面積上的光通量�
光線感應傳感器主要用于Android系統(tǒng)的LCD自動亮度功能�
可以根據(jù)采樣到的光強�(shù)值實時調整LCD的亮��
6 壓力傳感�
壓力傳感器返回當前的壓強,單位是百帕斯卡hectopascal(hPa��
7溫度傳感�
溫度傳感器返回當前的溫度�
8 接近傳感�
接近傳感器檢測物體與手機的距�,單位是厘米�
一些接近傳感器只能返回遠和近兩個狀�(tài)�
因此,接近傳感器將距離返回遠狀�(tài),小于距離返回近狀�(tài)�
接近傳感器可用于接聽電話時自動關閉LCD屏幕以節(jié)省電��
一些芯片集成了接近傳感器和光線傳感器兩者功能�
下面三個傳感器是Android2新提出的傳感器類�,目前還不太清楚有哪些應用程序使用�
9 重力傳感�
重力傳感器簡稱GV-sensor,輸出重力數(shù)�(jù)�
在地球上,重力數(shù)值為9.8,單位是m/s^2�
坐標系統(tǒng)與加速度傳感器相��
當設備復位時,重力傳感器的輸出與加速度傳感器相��
10 線性加速度傳感�
線性加速度傳感器簡稱LA-sensor�
線性加速度傳感器是加速度傳感器減去重力影響獲取的�(shù)�(jù)�
單位是m/s^2,坐標系�(tǒng)與加速度傳感器相同�
加速度傳感�、重力傳感器和線性加速度傳感器的計算公式如下�
加速度 = 重力 + 線性加速度
11 旋轉矢量傳感�
旋轉矢量傳感器簡稱RV-sensor�
旋轉矢量代表設備的方�,是一個將坐標軸和角度混合計算得到的數(shù)�(jù)�
RV-sensor輸出三個數(shù)�(jù)�
x*sin(theta/2)
y*sin(theta/2)
z*sin(theta/2)
sin(theta/2)是RV的數(shù)量級�
RV的方向與軸旋轉的方向相同�
RV的三個數(shù)值,與cos(theta/2)組成一個四元組�
RV的數(shù)�(jù)沒有單位,使用的坐標系與加速度相同�
舉例�
sensors_event_t.data[0] = x*sin(theta/2)
sensors_event_t.data[1] = y*sin(theta/2)
sensors_event_t.data[2] = z*sin(theta/2)
sensors_event_t.data[3] = cos(theta/2)
GV、LA和RV的數(shù)值沒有物理傳感器可以直接給出�
需要G-sensor、O-sensor和Gyro-sensor經過算法計算后得出�
算法一般是傳感器公司的私有產權�
維庫電子�,電子知�,一查百通!
已收錄詞�161737�