<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 手機中常用的傳感器有哪些?Android操作系統(tǒng)11種傳感器介紹

          手機中常用的傳感器有哪些?Android操作系統(tǒng)11種傳感器介紹

          作者: 時間:2011-12-09 來源:網絡 收藏

          2.3 gingerbread系統(tǒng)中,google提供了11種供應用層使用。

          #define SENSOR_TYPE_ACCELEROMETER 1 //加速度

          本文引用地址:http://www.ex-cimer.com/article/172348.htm

          #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三軸的加速度數值。

          該數值包含地心引力的影響,單位是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相連,數據精度小于16bit。

          2 磁力傳感器

          磁力傳感器簡稱為M-sensor,返回x、y、z三軸的環(huán)境磁場數據。

          該數值的單位是微特斯拉(micro-Tesla),用uT表示。

          單位也可以是高斯(Gauss),1Tesla=10000Gauss。

          硬件上一般沒有獨立的磁力傳感器,磁力數據由電子羅盤傳感器提供(E-compass)。

          電子羅盤傳感器同時提供下文的方向傳感器數據。

          3 方向傳感器

          方向傳感器簡稱為O-sensor,返回三軸的角度數據,方向數據的單位是角度。

          為了得到精確的角度數據,E-compass需要獲取G-sensor的數據,

          經過計算生產O-sensor數據,否則只能獲取水平方向的角度。

          方向傳感器提供三個數據,分別為azimuth、pitch和roll。

          azimuth:方位,返回水平時磁北極和Y軸的夾角,范圍為0°至360°。

          0°=北,90°=東,180°=南,270°=西。

          pitch:x軸和水平面的夾角,范圍為-180°至180°。

          當z軸向y軸轉動時,角度為正值。

          roll:y軸和水平面的夾角,由于歷史原因,范圍為-90°至90°。

          當x軸向z軸移動時,角度為正值。

          電子羅盤在獲取正確的數據前需要進行校準,通??捎?字校準法。

          8字校準法要求用戶使用需要校準的設備在空中做8字晃動,

          原則上盡量多的讓設備法線方向指向空間的所有8個象限。

          手機中使用的電子羅盤芯片有AKM公司的897X系列,ST公司的LSM系列以及雅馬哈公司等等。

          由于需要讀取G-sensor數據并計算出M-sensor和O-sensor數據,

          因此廠商一般會提供一個后臺daemon來完成工作,電子羅盤算法一般是公司私有產權。

          4 陀螺儀傳感器

          陀螺儀傳感器叫做Gyro-sensor,返回x、y、z三軸的角加速度數據。

          角加速度的單位是radians/second。

          根據Nexus S手機實測:

          水平逆時針旋轉,Z軸為正。

          水平逆時針旋轉,z軸為負。

          向左旋轉,y軸為負。

          向右旋轉,y軸為正。

          向上旋轉,x軸為負。

          向下旋轉,x軸為正。

          ST的L3G系列的陀螺儀傳感器比較流行,iphone4和google的nexus s中使用該種傳感器。

          5 光線感應傳感器

          光線感應傳感器檢測實時的光線強度,光強單位是lux,其物理意義是照射到單位面積上的光通量。

          光線感應傳感器主要用于系統(tǒng)的LCD自動亮度功能。

          可以根據采樣到的光強數值實時調整LCD的亮度。

          6 壓力傳感器

          壓力傳感器返回當前的壓強,單位是百帕斯卡hectopascal(hPa)。

          7 溫度傳感器

          溫度傳感器返回當前的溫度。

          8 接近傳感器

          接近傳感器檢測物體與手機的距離,單位是厘米。

          一些接近傳感器只能返回遠和近兩個狀態(tài),

          因此,接近傳感器將最大距離返回遠狀態(tài),小于最大距離返回近狀態(tài)。

          接近傳感器可用于接聽電話時自動關閉LCD屏幕以節(jié)省電量。

          一些芯片集成了接近傳感器和光線傳感器兩者功能。

          下面三個傳感器是2新提出的傳感器類型,目前還不太清楚有應用程序使用。

          9 重力傳感器

          重力傳感器簡稱GV-sensor,輸出重力數據。

          在地球上,重力數值為9.8,單位是m/s^2。

          坐標系統(tǒng)與加速度傳感器相同。

          當設備復位時,重力傳感器的輸出與加速度傳感器相同。

          10 線性加速度傳感器

          線性加速度傳感器簡稱LA-sensor。

          線性加速度傳感器是加速度傳感器減去重力影響獲取的數據。

          單位是m/s^2,坐標系統(tǒng)與加速度傳感器相同。

          加速度傳感器、重力傳感器和線性加速度傳感器的計算公式如下:

          加速度 = 重力 + 線性加速度

          11 旋轉矢量傳感器

          旋轉矢量傳感器簡稱RV-sensor。

          旋轉矢量代表設備的方向,是一個將坐標軸和角度混合計算得到的數據。

          RV-sensor輸出三個數據:

          x*sin(theta/2)

          y*sin(theta/2)

          z*sin(theta/2)

          sin(theta/2)是RV的數量級。

          RV的方向與軸旋轉的方向相同。

          RV的三個數值,與cos(theta/2)組成一個四元組。

          RV的數據沒有單位,使用的坐標系與加速度相同。

          舉例:

          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的數值沒有物理傳感器可以直接給出,

          需要G-sensor、O-sensor和Gyro-sensor經過算法計算后得出。

          算法一般是傳感器公司的私有產權。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          傳感器相關文章:傳感器工作原理


          風速傳感器相關文章:風速傳感器原理


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();