bmp180是一種高精度數字壓力感測器,bmp180的超低功耗,低電壓電子元件經過優化,適用於移動**,pda,gps導航裝置和戶外裝置。
up =壓力資料(16到19位) ut =溫度資料(16位)
測量溫度和壓力
開始測量溫度值ut和壓力值up的時序圖如下所示。在啟動後,主機傳送器件位址寫入,暫存器位址和控制暫存器資料。當接收到資料時,bmp180每8個資料位傳送乙個確認(acks)。主機在最後一次acks後傳送停止條件。
程式為:
iic_stop(); //傳送停止訊號
為了讀出溫度資料字ut(16位),壓力資料字up(16到19位)和e2prom資料如下進行:
在啟動後,主機傳送模組位址寫入命令和暫存器位址。暫存器位址選擇讀取暫存器:e2prom資料暫存器0xaa至0xbf溫度或壓力值ut或up 0xf6(msb),0xf7(lsb),可選0xf8(xlsb)然後,主裝置傳送重啟條件,然後讀取模組位址,bmp180(acks)將對其進行確認。bmp180首先傳送8個msb,由主裝置(ackm)確認,然後是8個lsb。主機傳送「不確認」(nackm),最後傳送停止條件。時序為:
iic_stop(); //傳送停止訊號
return data;
//從bmp180讀乙個16位的資料
short bmp_readtwobyte(uint8_t readaddr)
{ short data;
uint8_t msb,lsb;
iic_start();
iic_send_byte(0xee); //
iic_wait_ack();
iic_send_byte(readaddr);
iic_wait_ack();
iic_start(); //
iic_send_byte(0xef); //
iic_wait_ack();
msb = iic_read_byte(1);
lsb = iic_read_byte(0);
iic_stop();
//傳送停止訊號
data = msb*256 + lsb;
return data;
下圖顯示了壓力和溫度測量的詳細演算法。
壓力感測器應用分析
壓力感測器主要是測量液體與氣體的壓強的感測器。與其他感測器類似,壓力感測器工作時將壓力通過敏感元器件的變化轉換為電訊號輸出。壓力感測器在很多監測與控制應用中得到廣泛的使用。除了直接的壓力測量,壓力感測器同時也可用於間接測量其他量,如液體 氣體的流量,速度,水面高度或者海拔。壓力感測器 在使用的技術,...
三線壓力感測器原理 數字壓力感測器的接線方式
數字壓力感測器的接線方式 數字壓力感測器的工作原理是壓力直接作用在感測器的膜片上,使膜片產生 與介質壓力成正比的微位移,使感測器的電阻發生變化,和用電子線路檢測這一 變化,並轉換輸出乙個對應於這個壓力的數字標準訊號。很多人都不知道感測器如何連線,其實各種感測器的接線方式基本都是一樣 的,壓力感測器一...
Android感測器開發詳解
效果圖 連線真機milestone,編譯並執行程式,顯示結果如下 結合程式我們做一些解釋。1 android所有的感測器都歸感測器管理器 sensormanager 管理,獲取感測器管理器的方法很簡單 string service name context.sensor service sensor...