導航:首頁 > 源碼編譯 > gsensor演算法

gsensor演算法

發布時間:2022-08-23 05:10:20

❶ 如何計算sensor出來的數據量

著作權歸作者所有。
商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
作者:肥肥魚
來源:知乎

目前 Android 設備支持的感測器類型如下:
TYPE_ACCELEROMETER 加速度感測器又叫 G-sensor,該數值包含地心引力的影響,單位是 m/s2,測量應用於設備 x 、y、z 軸上的加速度。
將手機平放在桌面上,x 軸默認為0,y 軸默認0,z 軸默認9.81。
將手機朝下放在桌面上,z 軸為-9.81。
將手機向左傾斜,x 軸為正值。
將手機向右傾斜,x 軸為負值。
將手機向上傾斜,y 軸為負值。
將手機向下傾斜,y 軸為正值。

TYPE_AMBIENT_TEMPERATURE 溫度感測器,單位是 ℃,返回當前的溫度。
TYPE_GAME_ROTATION_VECTOR 用來探測運動而不必受到電磁干擾的影響,因為它並不依賴於磁北極。
TYPE_GEOMAGNETIC_ROTATION_VECTOR 地磁旋轉矢量感測器,提供手機的旋轉矢量,當手機處於休眠狀態時,仍可以記錄設備的方位。
TYPE_GRAVITY 重力感測器簡稱 GV-sensor,單位是 $m/s^2%,測量應用於設備X、Y、Z軸上的重力。在地球上,重力數值為9.8,
TYPE_GYROSCOPE 陀螺儀感測器叫做Gyro-sensor,返回x、y、z三軸的角加速度數據。單位是 radians/second。
TYPE_GYROSCOPE_UNCALIBRATED 未校準陀螺儀感測器,提供原始的、未校準、補償的陀螺儀數據,用於後期處理和融合定位數據。
TYPE_LIGHT 光線感應感測器檢測實時的光線強度,光強單位是lux,其物理意義是照射到單位面積上的光通量。
TYPE_LINEAR_ACCELERATION 線性加速度感測器簡稱LA-sensor。線性加速度感測器是加速度感測器減去重力影響獲取的數據。單位是 m/s2。
TYPE_MAGNETIC_FIELD 磁力感測器簡稱為M-sensor,返回 x、y、z 三軸的環境磁場數據。該數值的單位是微特斯拉(micro-Tesla),用uT表示。單位也可以是高斯(Gauss),1Tesla=10000Gauss。硬體上一般沒有獨立的磁力感測器,磁力數據由電子羅盤感測器提供(E-compass)。電子羅盤感測器同時提供方向感測器數據。
TYPE_MAGNETIC_FIELD_UNCALIBRATED 未校準磁力感測器,提供原始的、未校準的磁場數據。
TYPE_ORIENTATION 方向感測器簡稱為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 軸移動時,角度為正值。
TYPE_PRESSURE 壓力感測器,單位是hPa(百帕斯卡),返回當前環境下的壓強。
TYPE_PROXIMITY 接近感測器檢測物體與手機的距離,單位是厘米。一些接近感測器只能返回遠和近兩個狀態,因此,接近感測器將最大距離返回遠狀態,小於最大距離返回近狀態。
TYPE_RELATIVE_HUMIDITY 濕度感測器,單位是 %,來測量周圍環境的相對濕度。
TYPE_ROTATION_VECTOR 旋轉矢量感測器簡稱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)組成一個四元組。
TYPE_SIGNIFICANT_MOTION 特殊動作觸發感測器。
TYPE_STEP_COUNTER 計步感測器,用於記錄激活後的步伐數。
TYPE_STEP_DETECTOR 步行檢測感測器,用戶每走一步就觸發一次事件。
TYPE_TEMPERATURE 溫度感測器,目前已被TYPE_AMBIENT_TEMPERATURE替代。

❷ htc-什麼是G-Sensor

G-sensor中文是
重力感測器

的意思(英文全稱是Gravity-
sensor),它能夠感知到加速力的變化,加速力就是當物體在加速過程中作用在物體上的力,比如晃動、跌落、上升、下降等各種移動變化都能被G-sensor轉化為電信號,然後通過微處理器的計算分析後,就能夠完成程序設計好的功能,比如MP3能根據使用者的甩動方向,前後更換歌曲,放進衣袋的時候也能夠計算出使用者的前進步伐。個別高端
筆記本例如IBM高端系列也內置了G-sensor,在感知發生劇烈加速度時(如開始跌落),立即保護硬碟,避免硬碟損害。簡單的說,
G-Sensor
是智能化
重力感應系統,應用在硬碟上可以檢測當前硬碟的狀態,當發生意外跌落時,會產生加速度,硬碟感應到加速度,磁頭就會自動歸位,使盤體和磁頭分離,防止在讀寫操作的時候受到意外的沖擊,從而有效的保護硬碟。在手機中應用此項技術,可以根據使用者的動作而進行相應的軟體應用,比如游戲,使用者揮舞手機,游戲也會有相應的反應,就像Wii的
微電機
械繫統(MEMS)。明白了嗎?

❸ 六軸g-sensor 是什麼意思,能達到什麼樣的效果

其實六軸包含的是在一個模塊內整合一個3軸加速度計和一個3軸陀螺儀,通過兩者的融合演算法,可以確定該g-sensor的狀態。

❹ c語言gsensor急加速演算法

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、常式:

java">{

privatestaticfinalStringTAG=MainActivity.class.getSimpleName();
;
privateSensormSensor;
privateTextViewtextviewX;
privateTextViewtextviewY;
privateTextViewtextviewZ;
privateTextViewtextviewF;

privateintmX,mY,mZ;
privatelonglasttimestamp=0;
CalendarmCalendar;

@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textviewX=(TextView)findViewById(R.id.textView1);
textviewY=(TextView)findViewById(R.id.textView3);
textviewZ=(TextView)findViewById(R.id.textView4);
textviewF=(TextView)findViewById(R.id.textView2);

mSensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);
mSensor=mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);//TYPE_GRAVITY
if(null==mSensorManager){
Log.d(TAG,"");
}
//參數三,檢測的精準度
mSensorManager.registerListener(this,mSensor,
SensorManager.SENSOR_DELAY_NORMAL);//SENSOR_DELAY_GAME

}

@Override
publicvoidonAccuracyChanged(Sensorsensor,intaccuracy){

}

@Override
publicvoidonSensorChanged(SensorEventevent){
if(event.sensor==null){
return;
}

if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){
intx=(int)event.values[0];
inty=(int)event.values[1];
intz=(int)event.values[2];
mCalendar=Calendar.getInstance();
longstamp=mCalendar.getTimeInMillis()/1000l;//1393844912

textviewX.setText(String.valueOf(x));
textviewY.setText(String.valueOf(y));
textviewZ.setText(String.valueOf(z));

intsecond=mCalendar.get(Calendar.SECOND);//53

intpx=Math.abs(mX-x);
intpy=Math.abs(mY-y);
intpz=Math.abs(mZ-z);
Log.d(TAG,"pX:"+px+"pY:"+py+"pZ:"+pz+"stamp:"
+stamp+"second:"+second);
intmaxvalue=getMaxValue(px,py,pz);
if(maxvalue>2&&(stamp-lasttimestamp)>30){
lasttimestamp=stamp;
Log.d(TAG,"sensorisMoveorchanged....");
textviewF.setText("檢測手機在移動..");
}

mX=x;
mY=y;
mZ=z;

}
}

/**
*獲取一個最大值
*
*@parampx
*@parampy
*@parampz
*@return
*/
publicintgetMaxValue(intpx,intpy,intpz){
intmax=0;
if(px>py&&px>pz){
max=px;
}elseif(py>px&&py>pz){
max=py;
}elseif(pz>px&&pz>py){
max=pz;
}

returnmax;
}
}

❺ 行車記錄儀g-sensor是什麼意思


gsensor 指G-sensor(Gravity-sensor)中文是重力感測器的意思。它能夠感知到加速力的變化。
帶有 G-sensor 功能的行車記錄儀,可以在感受到車輛急剎車的時候,將剎車前後一段時間內的記錄作為獨立文件保存,有助於事故調查。

(5)gsensor演算法擴展閱讀

G-sensor中文是加速度感測器的意思(英文全稱是Accelerometer-sensor),它能夠感知到加速力的變化。

G-sensor中文是加速度感測器的意思,它能夠感知到加速力的變化,加速力就是當物體在加速過程中作用在物體上的力,比如晃動、跌落、上升、下降等各種移動變化都能被G-sensor轉化為電信號,然後通過微處理器的計算分析後,就能夠完成程序設計好的功能,比如MP3能根據使用者的甩動方向,前後更換歌曲,放進衣袋的時候也能夠計算出使用者的前進步伐。

個別高端筆記本例如IBM高端系列也內置了G-sensor,在感知發生劇烈加速度時(如開始跌落),立即保護硬碟,避免硬碟損害。簡單的說,G-Sensor是智能化重力感應系統,應用在硬碟上可以檢測當前硬碟的狀態,當發生意外跌落時,會產生加速度,硬碟感應到加速度,磁頭就會自動歸位,使盤體和磁頭分離,防止在讀寫操作的時候受到意外的沖擊,從而有效的保護硬碟。

參考資料來源:網路:G-sensor




❻ G-sensor的作用

g-sensor中文是重力感測器
的意思(英文全稱是gravity-
sensor),它能夠感知到加速力的變化,加速力就是當物體在加速過程中作用在物體上的力,比如晃動、跌落、上升、下降等各種移動變化都能被g-sensor轉化為電信號,然後通過微處理器的計算分析後,就能夠完成程序設計好的功能,比如mp3能根據使用者的甩動方向,前後更換歌曲,放進衣袋的時候也能夠計算出使用者的前進步伐。個別高端
筆記本例如ibm高端系列也內置了g-sensor,在感知發生劇烈加速度時(如開始跌落),立即保護硬碟,避免硬碟損害。簡單的說,g-sensor是智能化
重力感應系統,應用在硬碟上可以檢測當前硬碟的狀態,當發生意外跌落時,會產生加速度,硬碟感應到加速度,磁頭就會自動歸位,使盤體和磁頭分離,防止在讀寫操作的時候受到意外的沖擊,從而有效的保護硬碟。在手機中應用此項技術,可以根據使用者的動作而進行相應的軟體應用,比如游戲,使用者揮舞手機,游戲也會有相應的反應,就像wii的微電機械繫統(mems)。明白了嗎?

❼ 重力感應器G-sensor的工作原理是什麼

重力感測器是將運動或重力轉換為電信號的感測器,主要用於傾斜角、慣性力、沖擊及
震動等參數的測量[3]。在測量平台傾斜角時,將重力感測器垂直放置於在所測平台上,重力
感測器的敏感軸應與傾斜平台的軸向一致,在水平狀態下應與水平面平行,如圖1 所示,其
中α 為平台沿某一方向的傾斜角。重力感測器的質量塊由於受到重力加速度g 在傾斜方向
上的分量α α α g : g = g sin 的作用產生偏移,使重力感測器的輸出電壓發生變化。若重力
感測器在水平狀態下的輸出為0 V ,傾角為α 時的輸出為α V ,且在1g 加速度作用下的輸出
為V ,則有:
0 V =V / g ×sinα ×1g +V α
即:
α = arcsin[(Vα �6�1V0 ) /V ]
利用上式可以方便求得平面某一方向上的傾斜角。如果將兩個重力感測器正交放置在平台中
心,如圖2 所示,則平台在x 方向上傾斜角x α 和平台在y 方向上傾斜角y α 為:
x arcsin[V( x V) /V] α = �6�1 , arcsin[(V V ) /V ] y y α = �6�1
根據這兩個方向上的傾斜角可以確定出平台的橫向傾角和縱向傾角。

❽ g sensor公式

具體如下:

在x, y , z 3個方向的分量,重力是1G=9.8。在gsensor driver列印出的x, y , z值就是gsensor對3個分量經ADC轉換後的原始值。

故在HAL層中,對其會做一個轉換。xx = 9.8*(x/(2的n次方)) , n為ADC的位數。dmard10為10bit ADC,故2的n次方為4*256=1024。而d06是7bit。

測量范圍:

測量范圍是感測器可以支持的輸出加速度范圍,通常用±g 表示。這就是G-sensor可以測量並准確輸出的最大加速度。例如,一個測量范圍是±8g G-sensor,它的輸出一直到加速度達到±8g 時是線性的。

靈敏度:

靈敏度表示感測器輸出隨加速度(輸入)變化的比例,它定義理想情況下加速度和感測器輸出的直線關系。數字輸出的感測器的靈敏度通常使用 LSB/g 或mg/LSB 表示。例如,一個靈敏度為4mg/LSB的G-sensor,若其Z軸輸出為100,則可計算出Z軸加速度為400mg。

❾ 急:G-sensor 與M-sensor是什麼

g-sensor是重力感測器,能感應晶元在三個方向(通常是)上的重力加速度。手機里的重力球用的就是這個技術,m-sensor如果是motion sensor的簡稱的話,基本上指的和g-sensor是一樣東西。 查看原帖>>

記得採納啊

閱讀全文

與gsensor演算法相關的資料

熱點內容
組管理命令 瀏覽:979
海南高德司機端是什麼app 瀏覽:861
pid命令 瀏覽:888
一天一圖學會python可視化 瀏覽:309
魔獸編輯文本命令串 瀏覽:497
android中view繪制 瀏覽:798
安卓機內存刪除怎麼恢復 瀏覽:331
Qt環境的編譯軟體放到linux 瀏覽:214
聯創列印系統怎麼連接伺服器 瀏覽:937
杭州行政命令 瀏覽:160
如何查找伺服器日誌 瀏覽:801
加密的鑰匙扣怎麼寫 瀏覽:579
文件夾更新不了怎麼辦 瀏覽:475
壓縮機指示燈亮是什麼原因 瀏覽:956
什麼app訂酒店半價 瀏覽:767
中老年解壓神器 瀏覽:243
訊飛語音ttsandroid 瀏覽:468
腰椎壓縮性骨折術後能坐車嗎 瀏覽:507
python類裝飾器參數 瀏覽:350
均線pdf微盤 瀏覽:793